Even if multicore architectures are nowadays extremely wide- spread, the exploitation of this easily available degree of parallelism is not always straightforward. In this paper we describe the experience gained in ou...
详细信息
ISBN:
(纸本)9783319390833;9783319390826
Even if multicore architectures are nowadays extremely wide- spread, the exploitation of this easily available degree of parallelism is not always straightforward. In this paper we describe the experience gained in our ongoing effort to parallelise the model checking engine of a family of model checkers (KandISTI) developed at ISTI. The main focus of our experimentation is the evaluation of the minimal efforts needed to take advantage of our everyday multicore hardware for model checking purposes. Our early results relative to an initial fragment of the logic show a speedup factor of about 2.5 when 4 physical cores are available. This result, however, can only be achieved by complementing the initial high level Ada design with a second round of code fine- tuning which exploits nonstandard low level features in the implementation of the needed thread-safe data structures.
Many verifications of realistic software systems are monolithic, in the sense that they define single global invariants over complete system state. More modular proof techniques promise to support reuse of component p...
详细信息
The proceedings contain 32 papers. The topics discussed include: a simple applicative language: Mini-ML;the CURRY Chip;desiderata for the standardisation of LISP;laws in Miranda;variations on strictness analysis;exper...
ISBN:
(纸本)0897912004
The proceedings contain 32 papers. The topics discussed include: a simple applicative language: Mini-ML;the CURRY Chip;desiderata for the standardisation of LISP;laws in Miranda;variations on strictness analysis;experience with an uncommon Lisp;an architecture for mostly functional languages;integrating functional and imperative programming;code generation techniques for functional languages;the implementation of PC scheme;design of an optimising, dynamically retargetable compiler for common Lisp;expansion-passing style: beyond conventional macros;the four-stroke reduction engine;LISP on a reduced-instruction-set-processor;hygienic macro expansion;partitioning parallel programs for macro-dataflow;exact real arithmetic: a case study in higher order programming;NORMA: a graph reduction processor;reconfigurable, retargetable bignums: a case study in efficient, portable Lisp system building;implementing functional languages in the categorical abstract machine;connection graphs;connection machine@ Lisp: pine-grained parallel symbolic processing;and the mystery of the tower revealed: a non-reflective description of the reflective tower.
Java class files are often distributed as jar files, which are collections of individually compressed class files (and possibility other files). Jar files are typically about 1/2 the size of the original class files d...
详细信息
Java class files are often distributed as jar files, which are collections of individually compressed class files (and possibility other files). Jar files are typically about 1/2 the size of the original class files due to compression. I have developed a wire-code format for collections of Java class files. This format is typically 1/2 to 1/5 of the size of the corresponding compressed jar file (1/4 to 1/10 the size of the original class files).
This paper describes a type system that is capable of expressing and enforcing immutability constraints. The specific constraint expressed is that the abstract state of the object to which an immutable reference refer...
详细信息
ISBN:
(纸本)1581138318
This paper describes a type system that is capable of expressing and enforcing immutability constraints. The specific constraint expressed is that the abstract state of the object to which an immutable reference refers cannot be modified using that reference. The abstract state is (part of) the transitively reachable state: that is, the state of the object and all state reachable from it by following references. The type system permits explicitly excluding fields or objects from the abstract state of an object. For a statically type-safe language, the type system guarantees reference immutability. If the language is extended with immutability downcasts, then run-time checks enforce the reference immutability constraints. In order to better understand the usability and efficacy of the type system, we have implemented an extension to Java, called Javari, that includes all the features of our type system. Javari is interoperable with Java and existing JVMs. It can be viewed as a proposal for the semantics of the Java const keyword, though Javari's syntax uses readonly instead. This paper describes the design and implementation of Javari, including the type-checking rules for the language. This paper also discusses experience with 160,000 lines of Javari code. Javari was easy to use and provided a number of benefits, including detecting errors in well-tested code.
The proceedings contain 37 papers. The topics discussed include: multi-μ: an Ada 95 based architecture for fault tolerance support of real-time systems;a comparison of Ada and Pascal in an introductory computer scien...
ISBN:
(纸本)1581130333
The proceedings contain 37 papers. The topics discussed include: multi-μ: an Ada 95 based architecture for fault tolerance support of real-time systems;a comparison of Ada and Pascal in an introductory computer science course;a reusable lightweight executive for command and control systems;hardware/software co-design: VHDL and Ada 95 code migration and integrated analysis;kernel Ada to unify hardware and software design;a empirical study of web-based algorithm animation courseware in an Ada data structure course;using Ada in non-CS majors;the Ravenscar tasking profile for high integrity real-time programs;the evolution of a distributed dataflow processing model using Ada;building fault tolerant distributed systems using IP multicast;looking into safety with the safety and security Rapporteur group;an ASIS-based static analysis tool for high-integrity systems;Ada in embedded boards for scientific and medical instruments;implementing a culling and self-intersection algorithm for stereolithography files in Ada 95;reusable Ada libraries supporting infinite data structures;Ada in an on-board military communication system;a large distributed control system using Ada in Fusion Research;reengineering a legacy system using design patterns and Ada-95 object-oriented features;usage of Ada in the Gripen flight control system;and visual support for incremental abstraction and refinement in Ada 95.
We present a new static analysis for race freedom and race detection. The analysis checks race freedom by reducing the problem to ( rational) linear programming. Unlike conventional static analyses for race freedom or...
详细信息
We present a new static analysis for race freedom and race detection. The analysis checks race freedom by reducing the problem to ( rational) linear programming. Unlike conventional static analyses for race freedom or race detection, our analysis avoids explicit computation of locksets and lock linearity/must-aliasness. Our analysis can handle a variety of synchronization idioms that more conventional approaches often have difficulties with, such as thread joining, semaphores, and signals. We achieve efficiency by utilizing modern linear programming solvers that can quickly solve large linear programming instances. This paper reports on the formal properties of the analysis and the experience with applying an implementation to real world C programs.
This paper describes the analysis, design and implementation of an object-oriented framework for discrete event simulation in the programminglanguage Ada95. The framework was constructed in an industrial setting so t...
详细信息
ISBN:
(纸本)3540676694
This paper describes the analysis, design and implementation of an object-oriented framework for discrete event simulation in the programminglanguage Ada95. The framework was constructed in an industrial setting so that conclusions are drawn from first-hand, practical experience with this approach. After defining the term 'Object-Oriented Framework', discrete event simulation is analyzed as the domain of concern in the given context, producing a class diagram for that domain in the Unified Modelling language (UML). Following the analysis activities, the framework is designed and described, again using diagrams of the UML. In further sections the mapping from design artifacts to code in Ada95 and the usage of the framework are shown. The article finishes with a summary of the experience gained and the lessons learned.
Mainstream object-oriented languages, such as C++ and Java, provide only a restricted form of polymorphic methods, namely single-receiver dispatch. In common programming situations, programmers must work-around this l...
详细信息
We propose an aspect-oriented programming (AOP) language called Aspectual Caml based on a strongly-typed functional language Objective Caml with two AOP mechanisms similar to those in AspectJ language. This paper desc...
详细信息
We propose an aspect-oriented programming (AOP) language called Aspectual Caml based on a strongly-typed functional language Objective Caml with two AOP mechanisms similar to those in AspectJ language. This paper describes the design and implementation issues of those AOP mechanisms that give us insights into the interaction between AOP features and common features in strongly-typed functional languages such as type inference, polymorphic types and curried functions. We implemented a prototype compiler of the language and used the language for separating crosscutting concerns in application programs, including for separating descriptions of a type system from compiler descriptions.
暂无评论