Generative programming is widely used both to develop new programminglanguages and to extend existing ones with domain-specific sub-languages. This paper describes McMicMac, a framework for generative programming. Mc...
详细信息
This paper describes firmware and hardware support necessary for constructing easy-tounderstand and high performance operating systems including language translators and interpreters. Basic principles are one-to-one c...
详细信息
We present a calculus for mobile systems, the main novel feature of which is the separation between dynamic and topological aspects of distributed computations. Our calculus realises the following basic assumptions: (...
详细信息
We present a calculus for mobile systems, the main novel feature of which is the separation between dynamic and topological aspects of distributed computations. Our calculus realises the following basic assumptions: (1) every computation executes in a uniquely determined location, (2) processes modify the distributed structure by means of predefined operations, (3) the underlying programming language can be changed easily, and (4) locations are hierarchically organised. This paper introduces our calculus, and shows, that this separation of concerns leads to a perfect match between the logical, syntactical and algebraic theory. We discuss a core calculus, and extensions with local names and with multiple names. (C) 2004 Elsevier B.V. All rights reserved.
We study the distributed infrastructures required for location-independent communication between migrating agents. These infrastructures are problematic: different applications may have very different patterns of migr...
详细信息
ISBN:
(纸本)0769503403
We study the distributed infrastructures required for location-independent communication between migrating agents. These infrastructures are problematic: different applications may have very different patterns of migration and communication, and require different performance and robustness properties;algorithms must be designed with these in mind. To study this problem we introduce an agent programming language - Nomadic Pict. It is designed to allow infrastructure algorithms to be expressed as clearly as possible, as translations from a high-level language to a low level. The levels are based on rigorously-defined process calculi, they provide sharp levels of abstraction. In this paper we describe the language and use it to develop an infrastructure for an example application. The language and examples have been implemented;we conclude with a description of the compiler and runtime.
This conference proceedings contains 129 papers, of which 4 are given is abstract from only. 96 papers are indexed separately. The topics covered are: computer networks;data communication and transmission;experimental...
详细信息
This conference proceedings contains 129 papers, of which 4 are given is abstract from only. 96 papers are indexed separately. The topics covered are: computer networks;data communication and transmission;experimental research;public utilities;environmental monitoring and control;man-machine communication;reliability and error recovery;standards;automation in medicine and health services;safety regulations for computer systems;measurement and control in industry;programminglanguages;implementation and portability of software;system architecture;software development and specifications;and laboratory automation.
We present a theory of pointers and records that provides a representation for objects and sharing in languages like Java and C++. Our approach to pointers is based on Paige's entity groups, which give an abstract...
详细信息
ISBN:
(纸本)354034750X
We present a theory of pointers and records that provides a representation for objects and sharing in languages like Java and C++. Our approach to pointers is based on Paige's entity groups, which give an abstract view of storage as equivalence classes of variables that share the same memory location. We first define our theory as a restriction of the general theory of relations, and, as a consequence, it does not distinguish between terminating and non-terminating programs. Therefore, we link it with the theory of designs, providing a foundation for reasoning about total correctness of pointer-based sequential programs. Our work is a step towards the semantics of an object-oriented language that also integrates constructs for specifying state-rich and concurrent systems.
Diverse data is collected in health care for secondary usage. However, this data is collected by various parties and processed by numerous information systems. Hence, to get reliable results, the data integrity must b...
详细信息
Inheritance and method overriding are crucial concepts in object-oriented programming (OOP) languages. These concepts support a hierarchy of classes that reuse common data and methods. Most existing works for OO verif...
详细信息
ISBN:
(纸本)9789819983100;9789819983117
Inheritance and method overriding are crucial concepts in object-oriented programming (OOP) languages. These concepts support a hierarchy of classes that reuse common data and methods. Most existing works for OO verification focus on modular reasoning in which they could support dynamic dispatching and thus efficiently enforce the Liskov substitution principle on behavioural subtyping. They are based on superclass abstraction to reason about the correctness of OO programs. However, techniques to reason about the incorrectness of OOP are yet to be investigated. In this paper, we present a mechanism that 1) specifies the normal and abnormal executions of OO programs by using ok specifications and er specifications respectively;2) verifies these specifications by a novel under-approximation proof system based on incorrectness logic that can support dynamic modularity. We introduce subclass reflection with dynamic views and an adapted subtyping relation for under-approximation. Our proposal can deal with both OOP aspects (e.g., behavioural subtyping and casting) and under-approximation aspects (e.g., dropping paths). To demonstrate how the proposed proof system can soundly verify the specifications, we prove its soundness, prototype the proof system, and report on experimental results. The results show that our system can precisely reason about the incorrectness of programs with OOP aspects, such as proving the presence of casting errors and null-pointer-exceptions.
We present a calculus for mobile systems, the main novel feature of which is the separation between dynamic and topological aspects of distributed computations. Our calculus realises the following basic assumptions: (...
详细信息
We present a calculus for mobile systems, the main novel feature of which is the separation between dynamic and topological aspects of distributed computations. Our calculus realises the following basic assumptions: (1) every computation executes in a uniquely determined location, (2) processes modify the distributed structure by means of predefined operations, (3) the underlying programming language can be changed easily, and (4) locations are hierarchically organised. This paper introduces our calculus, and shows, that this separation of concerns leads to a perfect match between the logical, syntactical and algebraic theory. We discuss a core calculus, and extensions with local names and with multiple names. (C) 2004 Elsevier B.V. All rights reserved.
Computer architectures and programminglanguages are traditionally developed independently. Through suitable computer architecture, for instance, one can attempt to speed up the processing of a stream of data and inst...
详细信息
暂无评论