Issue No. 09 - September (1995 vol. 21)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.464548
This paper discusses general requirements for architecture definition languages, and describes the syntax and semantics of the subset of the <tt>Rapide</tt> language that is designed to satisfy these requirements. <tt>Rapide</tt> is a concurrent event-based simulation language for defining and simulating the behavior of system architectures. <tt>Rapide</tt> 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, <tt>Rapide</tt> is designed to make the greatest posible use of event-based modelling by producing causal event simulations. When a <tt>Rapide</tt> model is executed it produces a simulation that shows not only the events that make up the model’s behavior, and their timestamps, but also which events caused other events, and which events happened independently. The architecture definition features of <tt>Rapide</tt> 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 define the relationship between two architectures at different levels of abstraction. Finally, we discuss briefly how <tt>Rapide</tt> is related to other event-based languages.
Rapide, architecture definition languages, partially ordered event sets, architecture, prototyping, concurrency, simulation, formal constraints, event patterns, causality.
David C. Luckham, James Vera, "An Event-Based Architecture Definition Language", IEEE Transactions on Software Engineering, vol. 21, no. , pp. 717-734, September 1995, doi:10.1109/32.464548