The Linda program builder (LPB), a computer-assisted software engineering (CASE) tool for explicit programming, is presented. It isolates much of the administrative effort in constructing parallel programs, and mainta...
详细信息
The Linda program builder (LPB), a computer-assisted software engineering (CASE) tool for explicit programming, is presented. It isolates much of the administrative effort in constructing parallel programs, and maintains a program-describing database. This database feeds information to the compiler for optimization, to a visualizer for enhanced program visualization, and to other tools in the environment. The LPB is a window-oriented, menu-based, user-friendly system which provides coordination frameworks for program construction. It also represents an alternative approach to high-levelprogramming languages.< >
Verification of parallel programs is a very important goal on the way to improve the reliability of software. The PEP tool, a programming environment based on Petri nets, allows verification of parallel programs by a ...
详细信息
Verification of parallel programs is a very important goal on the way to improve the reliability of software. The PEP tool, a programming environment based on Petri nets, allows verification of parallel programs by a variety of different verification methods (e.g., partial order or BDD based model checking, and stubborn set or symmetrically reduced state space analysis) based on a compositional denotational Petri net semantics. The main contribution of this paper consists in the development of a fully compositional high-level Petri net semantics for concurrent programs with procedures, covering recursion, global variables, and different types of parameter passing (including call-by-reference). The semantics (which is already implemented) is oriented towards verification, i.e., the semantic models are minimised. Due to the abstract and flexible nature of the Petri net model used, our approach is very general and may also be applied to other specification and programming languages. We are, for instance, presently approaching SDL (Specification and Description Language).
In order to be truly portable, a program must be tolerant of a wide range of development and execution environments, and a parallel program is just one which must be tolerant of a very wide range. First, the term &quo...
详细信息
In order to be truly portable, a program must be tolerant of a wide range of development and execution environments, and a parallel program is just one which must be tolerant of a very wide range. First, the term "tolerant programming" is defined. Then, a formal model called F-Nets is described in which parallel algorithms are expressed as folded partial-orderings of operations, and this is argued to provide a suitable framework for building tolerant programs. Finally, Software Cabling (SC), a very-high-level graphical programming language, demonstrates how many of the features normally expected from today's computer languages (e.g. data abstraction and data parallelism) can be obtained within the F-Net paradigm.
The goals of the RAPID environment are: firstly to make the programming of distributed protocols simple without restricting the protocol relevant choices of the programmer; secondly to provide encapsulation and reusab...
详细信息
The goals of the RAPID environment are: firstly to make the programming of distributed protocols simple without restricting the protocol relevant choices of the programmer; secondly to provide encapsulation and reusability that are at least as powerful as those offered by object oriented programming; and thirdly to provide for different styles of programming that make RAPID an easy transitional programming environment between older and lower level languages and C. The environment provides and is programmed in the RAPID-FL subset of the functional language FL. Although the full power of FL is available to the programmer, a very small number of concepts need to be learned to program in RAPID-FL. Moreover, restriction to RAPID-FL means that one can have the safety of a functional language combined with reasonable uses of assignment. RAPID makes storage management trivial and reduces the complexity of communication management to handling a few simple commands. We describe our experience using RAPID to perform clock synchronization experiments and to serve as scaffolding for high performance C code that implements a collective communication protocol for parallel machines.< >
This paper presents a compilation scheme for a high-levelprogramming environment C/sub T//sup +/+ that allows to obtain good performance at a low engineering cost. C/sub T//sup +/+ is based on C++ and has been design...
详细信息
This paper presents a compilation scheme for a high-levelprogramming environment C/sub T//sup +/+ that allows to obtain good performance at a low engineering cost. C/sub T//sup +/+ is based on C++ and has been designed to easily develop algorithms on multi-SIMD parallel computers. We compare our implementation mechanism with others and show that it produces efficient code for low and intermediate level image processing algorithms. The first target architecture is the SYMPHONIE image processing architecture developed at LETI.
Our group is building eHome applications for the cognitively impaired population. We have chosen to work with an existing framework, OSGi, that allows us to more quickly develop specific applications. We use a combina...
详细信息
Our group is building eHome applications for the cognitively impaired population. We have chosen to work with an existing framework, OSGi, that allows us to more quickly develop specific applications. We use a combination of traditional testing and formal verification to insure that the OSGi-based applications we build will cause no harm to the cognitively impaired users of our systems. This paper will focus on our results to date of using model checking to verify OSGi applications. In this paper, we describe the construction of a formal model parallel to the OSGi framework, which can be reused for rapid development of formal models for OSGi applications. With this approach, we have found the existence of stale references in several real examples. Stale references are a known concurrency problem in OSGi applications but difficult to get rid of. We argue that domain-specific reuse at the model level is an effective way to bring model checking closer to typical developers and tackle the concurrency errors. We also proposed and verified potential solutions, which can be used as generic paradigms to tackle the stale references problem in OSGi applications.
暂无评论