Results 1 - 10
of
36
A Framework for Comparing Models of Computation
- IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
, 1998
"... Abstract—We give a denotational framework (a “meta model”) within which certain properties of models of computation can be compared. It describes concurrent processes in general terms as sets of possible behaviors. A process is determinate if, given the constraints imposed by the inputs, there are e ..."
Abstract
-
Cited by 208 (52 self)
- Add to MetaCart
Abstract—We give a denotational framework (a “meta model”) within which certain properties of models of computation can be compared. It describes concurrent processes in general terms as sets of possible behaviors. A process is determinate if, given the constraints imposed by the inputs, there are exactly one or exactly zero behaviors. Compositions of processes are processes with behaviors in the intersection of the behaviors of the component processes. The interaction between processes is through signals, which are collections of events. Each event is a value-tag pair, where the tags can come from a partially ordered or totally ordered set. Timed models are where the set of tags is totally ordered. Synchronous events share the same tag, and synchronous signals contain events with the same set of tags. Synchronous processes have only synchronous signals as behaviors. Strict causality (in timed tag systems) and continuity (in untimed tag systems) ensure determinacy under certain technical conditions. The framework is used to compare certain essential features of various models of computation, including Kahn process networks, dataflow, sequential processes, concurrent sequential processes with rendezvous, Petri nets, and discrete-event systems. I.
Law-Governed Interaction: a Coordination and Control Mechanism for Heterogeneous Distributed Systems
- TOSEM, ACM Transactions on Software Engineering and Methodology
, 2000
"... Software technology is undergoing a transition from monolithic systems, constructed according to a single overall design, into conglomerates of semi-autonomous, heterogeneous and independently designed subsystems, constructed and managed by different organizations, with little, if any, knowledge of ..."
Abstract
-
Cited by 146 (39 self)
- Add to MetaCart
Software technology is undergoing a transition from monolithic systems, constructed according to a single overall design, into conglomerates of semi-autonomous, heterogeneous and independently designed subsystems, constructed and managed by different organizations, with little, if any, knowledge of each other. Among the problems inherent in such conglomerates none is more serious than the diffculty to control the activities of the disparate agents operating in it, and the diffculty for open groups of such agents to coordinate their activities with each other. We argue that the nature of coordination and control required for such systems calls for the following principles to be satisfied: (1) coordination policies need to be enforced; (2) the enforcement needs to be decentralized; and (3) coordination policies need to be formulated explicitly -- rather than being implicit in the code of the agents involved -- and they should be enforced by means of a generic, braod spectrum mechanism; and (4) it should be possible to deploy and enforce a policy incrementally, without exacting any cost from agents and activities not subject to it. We describe a mechanism called law-goverened interaction (LGI), currently implemented by the Moses toolkil, which has been designed to satisfy these principles. We show that LGI is at least as general as a conventional centralized coordination mechanism (CCM), and that it is more scalable, and generally more efficient than CCM.
Hive: Distributed Agents for Networking Things
- IN PROCEEDINGS OF ASA/MA’99, THE FIRST INTERNATIONAL SYMPOSIUM ON AGENT SYSTEMS AND APPLICATIONS AND THIRD INTERNATIONAL SYMPOSIUM ON MOBILE AGENTS
, 1999
"... Hive is a distributed agents platform, a decentralized system for building applications by networking local system resources. This paper presents the architecture of Hive, concentrating on the idea of an "ecology of distributed agents" and its implementation in a practical Java based system. Hive pr ..."
Abstract
-
Cited by 81 (0 self)
- Add to MetaCart
Hive is a distributed agents platform, a decentralized system for building applications by networking local system resources. This paper presents the architecture of Hive, concentrating on the idea of an "ecology of distributed agents" and its implementation in a practical Java based system. Hive provides ad-hoc agent interaction, ontologies of agent capabilities, mobile agents, and a graphical interface to the distributed system. We are applying Hive to the problems of networking "Things That Think," putting computation and communication in everyday places such as your shoes, your kitchen, or your own body. TTT shares the challenges and potentials of ubiquitous computing and embedded network applications. We have found that the flexibility of a distributed agents architecture is well suited for this application domain, enabling us to easily build applications and to reconfigure our systems on the fly. Hive enables us to make our environment and network more alive.
Programming Dynamically Reconfigurable Open Systems with SALSA
- ACM SIGPLAN Notices. OOPSLA’2001 Intriguing Technology Track Proceedings
, 2001
"... Applications running on the Internet, or on limited-resource devices, need to be able to adapt to changes in their execution environment at run-time. Current languages and systems fall short of enabling developers to migrate and recon gure application sub-components at program-execution time. ..."
Abstract
-
Cited by 56 (25 self)
- Add to MetaCart
Applications running on the Internet, or on limited-resource devices, need to be able to adapt to changes in their execution environment at run-time. Current languages and systems fall short of enabling developers to migrate and recon gure application sub-components at program-execution time.
Protocol Specification and Analysis in Maude
- Proc. of Workshop on Formal Methods and Security Protocols
, 1998
"... This paper proposes rewriting logic as an executable specification formalism for security protocols that offers some novel advantages. A messagepassing object-oriented approach seems particularly natural for communication protocols and can be naturally formalized in rewriting logic. This is illustra ..."
Abstract
-
Cited by 44 (11 self)
- Add to MetaCart
This paper proposes rewriting logic as an executable specification formalism for security protocols that offers some novel advantages. A messagepassing object-oriented approach seems particularly natural for communication protocols and can be naturally formalized in rewriting logic. This is illustrated by using the Needham-Schroeder Public-Key protocol as a running example. The rewriting logic-based Maude interpreter [CELM96] offers also some useful advantages. Efficient executability allows prototyping and debugging of protocol specifications. But since a concurrent system can have many different behaviors, to properly analyze the system it becomes important to explore not just the single execution provided by some default strategy, but many other executions. Maude supports user-defined execution strategies, including strategies such as breadth-first-search that can exhaustively explore all the executions of a system. This is very helpful in uncovering security flaws under unforeseen ...
Embedded Software
- Advances in Computers
, 2002
"... The science of computation has systematically abstracted away the physical world. Embedded software systems, however, engage the physical world. Time, concurrency, liveness, robustness, continuums, reactivity, and resource management must be remarried to computation. Prevailing abstractions of compu ..."
Abstract
-
Cited by 44 (6 self)
- Add to MetaCart
The science of computation has systematically abstracted away the physical world. Embedded software systems, however, engage the physical world. Time, concurrency, liveness, robustness, continuums, reactivity, and resource management must be remarried to computation. Prevailing abstractions of computational systems leave out these "non-functional" aspects. This chapter explains why embedded software is not just software on small computers, and why it therefore needs fundamentally new views of computation. It suggests component architectures based on a principle called "actor-oriented design," where actors interact according to a model of computation, and describes some models of computation that are suitable for embedded software. It then suggests that actors can define interfaces that declare dynamic aspects that are essential to embedded software, such as temporal properties. These interfaces can be structured in a "system-level type system" that supports the sort of design-time and run-time type checking that conventional software benefits from.
Heterogeneous Concurrent Modeling and Design in Java (Volumes 1: Introduction to Ptolemy II)
, 2005
"... ..."
Composable Semantic Models for Actor Theories
- Higher-Order and Symbolic Computation
, 1998
"... We define three semantic models for actor computation starting with a generalization to open systems of Clinger's event diagram model, and forming two abstractions: interaction diagrams and interaction paths. An algebra is defined on each semantic domain with operations for parallel composition, ..."
Abstract
-
Cited by 28 (10 self)
- Add to MetaCart
We define three semantic models for actor computation starting with a generalization to open systems of Clinger's event diagram model, and forming two abstractions: interaction diagrams and interaction paths. An algebra is defined on each semantic domain with operations for parallel composition, hiding of internal actors, and renaming. We use these models to provide semantics for descriptions of actor components based on actor theories and show that the semantics is a component algebra homomorphism. 1
Creol: A type-safe object-oriented model for distributed concurrent systems
- THEORETICAL COMPUTER SCIENCE
, 2006
"... Object-oriented distributed computing is becoming increasingly important for critical infrastructure in society. In standard object-oriented models, objects synchronize on method calls. These models may be criticized in the distributed setting for their tight coupling of communication and synchroniz ..."
Abstract
-
Cited by 28 (13 self)
- Add to MetaCart
Object-oriented distributed computing is becoming increasingly important for critical infrastructure in society. In standard object-oriented models, objects synchronize on method calls. These models may be criticized in the distributed setting for their tight coupling of communication and synchronization; network delays and instabilities may locally result in much waiting and even deadlock. The Creol model targets distributed objects by a looser coupling of method calls and synchronization. Asynchronous method calls and high-level local control structures allow local computation to adapt to network instability. Object variables are typed by interfaces, so communication with remote objects is independent from their implementation. The inheritance and subtyping relations are distinct in Creol. Interfaces form a subtype hierarchy, whereas multiple inheritance is used for code reuse at the class level. This paper presents the Creol syntax, operational semantics, and type system. It is shown that runtime type errors do not occur for well-typed programs.
A SystemC-Based Design Methodology for Digital Signal Processing Systems
, 2007
"... Digital signal processing algorithms are of big importance in many embedded systems. Due to complexity reasons and due to the restrictions imposed on the implementations, new design methodologies are needed. In this paper, we present a SystemC-based solution supporting automatic design space explora ..."
Abstract
-
Cited by 16 (5 self)
- Add to MetaCart
Digital signal processing algorithms are of big importance in many embedded systems. Due to complexity reasons and due to the restrictions imposed on the implementations, new design methodologies are needed. In this paper, we present a SystemC-based solution supporting automatic design space exploration, automatic performance evaluation, aswellasautomatic system generation for mixed hardware/software solutions mapped onto FPGA-based platforms. Our proposed hardware/software codesign approach is based on a SystemC-based library called SysteMoC that permits the expression of different models of computation well known in the domain of digital signal processing. It combines the advantages of executability and analyzability of many important models of computation that can be expressed in SysteMoC. We will use the example of an MPEG-4 decoder throughout this paper to introduce our novel methodology. Results from a five-dimensional design space exploration and from automatically mapping parts of the MPEG-4 decoder onto a Xilinx FPGA platform will demonstrate the effectiveness of our approach.

