The authors propose a new approach called UPPL, which uses procedural programminglanguages, such as Lisp and C, to explicitly describe the plans of controlling production systems. As the key idea of implementing this...
详细信息
ISBN:
(纸本)0818621354
The authors propose a new approach called UPPL, which uses procedural programminglanguages, such as Lisp and C, to explicitly describe the plans of controlling production systems. As the key idea of implementing this, the authors view production systems as a collection of concurrent rule processes, each of which continuously monitors the global database, and executes actions when its conditions match database entries. To bridge control plans and rule processes, the authors introduce the Procedural Control Macros (PCMs) to procedural languages. The PCMs are designed based on the communicating sequential processes' (CSPs') communication commands developed by C.A.R. Hoare (1978). Since PCMs include nondeterministic properties, the execution order of rules cannot be completely determined in advance, but is guided by the PCMs at run-time. The PCMs are functionally simple and easy to implement but they can effectively control production systems when combined with the original control facilities of procedural languages.
We present a generic symbolic analysis framework for imperative programminglanguages. Our framework is capable of computing all valid variable bindings of a program at given program points. This information is invalu...
详细信息
ISBN:
(纸本)3540409270
We present a generic symbolic analysis framework for imperative programminglanguages. Our framework is capable of computing all valid variable bindings of a program at given program points. This information is invaluable for domain-specific static program analyses such as memory leak detection, program parallelisation, and the detection of superfluous bound checks, variable aliases and task deadlocks. We employ path expression algebra to model the control flow information of programs. A homomorphism maps path expressions into the symbolic domain. At the center of the symbolic domain is a compact algebraic structure called supercontext. A supercontext contains the complete control and data flow analysis information valid at a given program point. Our approach to compute supercontexts is based purely on algebra and is fully automated. This novel representation of program semantics closes the gap between program analysis and computer algebra systems, which makes supercontexts an ideal intermediate representation for all domain-specific static program analyses. Our approach is more general than existing methods because it can derive solutions for arbitrary (even intra-loop) nodes of reducible and irreducible control flow graphs. We prove the correctness of our symbolic analysis method. Our experimental results show that the problem sizes arising from real-world applications such as the SPEC95 benchmark suite are tractable for our symbolic analysis framework.
A language extension and a system to support evolutionary development of programs are proposed. The proposed framework is a powerful context in which to perform maintenance work. The language extension, called an orth...
详细信息
ISBN:
(纸本)0818619651
A language extension and a system to support evolutionary development of programs are proposed. The proposed framework is a powerful context in which to perform maintenance work. The language extension, called an orthogonal language, addresses both the program structure and its informative context. The language allows interactive and incremental construction of extensions to evolving programs. Such extensions can be debugging fragments, graphic demonstrations, and alternative versions. The extensions become part of the structure of the evolving program, but are nevertheless independent of it. Since most nontrivial programs are accompanied by many code fragments that are used to develop and support the programs, a framework that combines the program with its fragments is larger and more informative than the developed program alone. The new program complex offers two advantages: maintenance can use the fragments to support its goals, while the fragments form a better informative context for the maintenance process.
When developing applications with high integrity requirements, the choice of programming language is of utmost importance. In fact, IEC 61508 includes a table with suggested programminglanguages for each SIL (Safety ...
详细信息
ISBN:
(纸本)9781424415052
When developing applications with high integrity requirements, the choice of programming language is of utmost importance. In fact, IEC 61508 includes a table with suggested programminglanguages for each SIL (Safety Integrity Level). The languages defined in IEC 61131-3 are included in this table, but are only highly recommended for the higher SILs if a subset of the languages are used. In this paper we propose restrictions and changes to the IEC 61131-3 languages that constitute a subset of the languages with the objective of making them appropriate for the development of high integrity applications.
This report gives an overview over the First ECOOP Workshop on programminglanguages and Operating Systems (PLOS 2004). It explains the motivation for the workshop and gives a summary of the workshop contributions and...
详细信息
ISBN:
(纸本)354023988X
This report gives an overview over the First ECOOP Workshop on programminglanguages and Operating Systems (PLOS 2004). It explains the motivation for the workshop and gives a summary of the workshop contributions and discussions during the workshop.
Parallelism in object-oriented systems is discussed. The most appealing way to insert parallelism in an object framework is to associate execution capacity with objects. This approach introduces active objects. Synchr...
详细信息
ISBN:
(纸本)0818620366
Parallelism in object-oriented systems is discussed. The most appealing way to insert parallelism in an object framework is to associate execution capacity with objects. This approach introduces active objects. Synchronous and asynchronous communication between active objects are described using examples of existing languages. A second dimension of parallelism comes from accommodating several activities within the same object. The synchronization techniques for the internal activities are described. The presented examples are written in a highly parallel language, called Parallel Objects. A distinctive characteristic of PO is the possibility of inheritance for the specification of concurrency internal to objects.
Implicit invocation based on event broadcast is an increasingly important technique for integrating systems. However, the use of this technique has largely been confined to tool integration systems - in which tools ex...
详细信息
ISBN:
(纸本)0818637005
Implicit invocation based on event broadcast is an increasingly important technique for integrating systems. However, the use of this technique has largely been confined to tool integration systems - in which tools exist as independent processes - and special purpose languages - in which specialized forms of event broadcast are designed into the language from the start. This paper broadens the class of systems that can benefit from this approach by showing how to augment general-purpose programminglanguages with facilities for implicit invocation. We illustrate the approach in the context of the Ada language, and highlight the important design considerations that arise in extending such languages with implicit invocation.
programming language research in the last decades was mainly driven by mathematical methods (such as formal semantics, correctness proofs, type soundness proofs, etc.) or run-time arguments based on benchmark tests. T...
详细信息
ISBN:
(纸本)9781450332118
programming language research in the last decades was mainly driven by mathematical methods (such as formal semantics, correctness proofs, type soundness proofs, etc.) or run-time arguments based on benchmark tests. This happened despite the frequent discussion over programming language usability. We have now been through decade after decade of one language after another do-mainating the field, forcing companies to switch languages and migrate libraries. Now that Javascript seems to be the next language to dominate, people start to ask old questions anew. The first goal of this talk is to discuss why the application of empirical methods is (still) relatively rare in PL research, and to discuss what could be done in empirical methods to make them a substantial part of PL research. The second goal is to speculate about the possible effects that concrete empirical knowledge could have had on the programming language community. For example, what would have happened to programminglanguages if current knowledge would have been available 30 years ago? What if knowledge about programminglanguages from the year 2050 would be available today? Copyright is held by the author/owner(s).
We propose two characterizations. of complexity classes by means of programminglanguages. The first concerns LoGSPACE while the second leads to PTIME. This latter characterization shows that adding a choice command t...
详细信息
ISBN:
(纸本)3540356339
We propose two characterizations. of complexity classes by means of programminglanguages. The first concerns LoGSPACE while the second leads to PTIME. This latter characterization shows that adding a choice command to a PTIME language (the language WHILE of Jones [1]) may not necessarily provide NPTIME computations. The result is close to Cook in [2] who used "auxiliary push-down automata". LOGSPACE is obtained through a decidable mechanism of tiering. It is based on an analysis of deforestation due to Wadler in [3]. We get also a characterization of NLOGSPACE.
The modern world is increasingly dependent on software, and yet the software we use is often manifestly insecure and unreliable. It seems only a matter of time until a "cyber-Pearl harbor" occurs. As a resul...
详细信息
The modern world is increasingly dependent on software, and yet the software we use is often manifestly insecure and unreliable. It seems only a matter of time until a "cyber-Pearl harbor" occurs. As a result, we can expect future systems to be programmed in safer, higher-level languages. We discuss characteristics of such systems and languages, and how they help obtain the apparently conflicting goals of flexibility and reliability.
暂无评论