is an event-based concurrent, objectoriented language speci cally designed for prototyping system architectures. Two principle design goals are 1 to provide constructs for de ning executable prototypes of architectures, and 2 to adopt an execution model in which t h e concurrency, synchronization, data ow, and timing properties of a prototype are explicitly represented. This paper describes the partially ordered event set poset execution model and outlines with examples some of the event-based features for de ning communication architectures and relationships between architectures. Various features of Rapide are illustrated by excerpts from a prototype of the X Open distributed transaction processing reference architecture. Keywords| Rapide, architecture de nition languages, partially ordered event sets, architecture, prototyping, concurrency, simulation, formal constraints, constraint-based speci cation, event patterns, causality.
| This paper discusses general requirements for architecture de nition languages, and describes the syntax and semantics of the subset of the Rapide language that is designed to satisfy these requirements. Rapide is a concurrent event-based simulation language for de ning and simulating the behavior of system architectures. Rapide is intended for modelling the architectures of concurrent and distributed systems, both hardware and software. In order to represent the behavior of distributed systems in as much detail as possible, Rapide is designed to make the greatest posible use of event-based modelling by producing causal event simulations. When a Rapide model is executed it produces a simulation that shows not only the events that make u p the model's behavior, and their timestamps, but also which events caused other events, and which e v ents happened independently. The architecture de nition features of Rapide are described here: event patterns, interfaces, architectures and event pattern mappings. The use of these features to build causal event models of both static and dynamic architectures is illustrated by a series of simple examples from both software and hardware. Also we give a detailed example of the use of event pattern mappings to de ne the relationship between two architectures at di erent levels of abstraction. Finally, w e discuss brie y how Rapide is related to other event-based languages. Keywords| Rapide, architecture de nition languages, partially ordered event sets, architecture, prototyping, concurrency, simulation, formal constraints, event patterns, causality.
In distributed systems it is often important to be able to determine the temporal relationships between events generated by different processes. An algorithm to determiue such relationships is presented in [3] and [5]. This algorithm has many favorable attributes such as it allows for any kind of interprocess communication, and it requires no extra synchronization messages, additional communication links or cent ral t imestamping authority.The algorithm, however, requires O(n) space for each process (where n is the number of processes).i.e., it requires an overall space of 0(n2 ). This can be a large overhead especially when there are a very large number of processes.By cutting down on this generality, we can significantly decrease the amount of space required to determine temporal relationships.In this paper, we show how one may reduce the space requirements by assuming that the communication links between processes is static and known ahead oj time; and also that one is interested only in determining the temporal ordering between messages arriving at the same process. We argue that these assumptions are reasonable to make for a large class of problems.
Abstract:Distributed systems' runtime behavior can be difficult to understand. Concurrent, distributed activity make notions of global state difficult to grasp. We focus on the runtime structure of a system, its execution architecture, and propose representing its evolution as a partially ordered set of predefined architectural event types. This representation allows a system's topology to be visualized, analyzed and constrained. The use of a predefined event types allows the execution architectures of different systems to be readily compared. INTRODUCTIONDistributed software systems consist of computational components interacting over a communications infrastructure. The executions of these systems can be highly dynamic with components being created and destroyed and the communications infrastructure undergoing continual reconfiguration. We propose to represent the evolution of the structure of such a running system, termed the execution architecture of the system, as a set of events, partially ordered by time and causality. This partial order of architectural events enables the precise analysis of the topological evolution of a system, just as a partial order of behavioral events enables a precise analysis of the functional activity of a system (Peled, Pratt et al. 1996). P. Donohoe (ed.), Software Architecture
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.
customersupport@researchsolutions.com
10624 S. Eastern Ave., Ste. A-614
Henderson, NV 89052, USA
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.
Copyright © 2025 scite LLC. All rights reserved.
Made with 💙 for researchers
Part of the Research Solutions Family.