Activation-oriented specification of real-time systems
We present MASS, a declarative language for specifying the reactive behavior of real-time systems. The basic primitive of the language is the task, which is the interface between the reactive and sequential aspects of the specification. The purely computational meaning of a task (as an I/O transformation) is given outside MASS using standard specification languages for sequential computations. The reactive aspects of real-time systems are expressed in MASS through causal and temporal relations between events that signal task terminations. Hierarchical systems are obtained by refining tasks, specifying them as sub-systems in MASS.
MASS is given a formal semantics in a trace model augmented with explicit representation of causes. A synchronous execution model conforming with the formal semantics makes MASS specifications executable. A development system based on this model allows both simulation of (possibly incomplete) specifications and the generation of complete target applications (given, code for the sequential computations of tasks). We have successfully used MASS in a case study involving several robots and a complex conveyer system.
KeywordsBasic Event Response Task System Task Reactive Behavior Environment Task
Unable to display preview. Download preview PDF.
- 1.R. Alur, T.A. Henzinger: Logics and Models of Real Time: A Survey. In REX Workshop Real-time: Theory and Practice, LNCS 600, Springer-verlag, The Netherlands (June 1991) 74–106.Google Scholar
- 2.A. Benveniste, P. Le Guernic, C. Jacquemot: Synchronous Programming with Events and Relations: The Signal Language and its Semantics. IRISA Research Report 459 (1989).Google Scholar
- 3.G. Berry, G. Gonthier: The Esrerel Synchronous Programming Language: Design, Semantics, Implementation. Sci. Comput. Programming 19 (1992) 87–152.Google Scholar
- 4.G. Berry, S. Ramesh, R.K. Shyamasundar: Communicating Reactive Processes. 20 Annual ACM Symposium on Principles of Programming Languages, Charleston, Virginia (1993).Google Scholar
- 5.V. Gafni: A Tasking Model for Reactive Systems. Real-time Systems Symposium, Santa Monica, California (Dec. 1989).Google Scholar
- 6.V. Gafni, A. Yehudai: The Language MASS. Technical Report, in preparation.Google Scholar
- 7.N. Halbwachs, F. Lagnier, C. Ratel: Programming and Verifying Real-Time Systems by Means of the Synchronous Dataflow Language LUSTRE. IEEE Trans. on SE 18, 9 (Sep. 1993) 785–793.Google Scholar
- 8.D. Harel: Statecharts: A Visual Formalism for Complex Systems. Science of Computer Programming 8 (1987).Google Scholar
- 9.D. Harel: Biting the Silver Bullet: Towards a Brighter Future for System Development. Computer 25, 1 (Jan. 1993) 8–20.Google Scholar
- 10.C.A.R. Hoare: Communicating Sequential Processes. Comm. ACM, 21, 8 (Aug. 1978) 666–677.Google Scholar
- 11.F. Jahanian, A.K. Mok: A Graph Theoretic Approach for timing Analysis in Real-time Logic. Real-time Systems Symposium, Louisiana (Dec. 1986) 98–108.Google Scholar
- 12.R. Kurki-Suonio, H.M. Jarvinen: Action System Approach to the Specification of Distributed Systems. Tampre University of Technology, Software Systems Lab (1989).Google Scholar
- 13.C. Rich, Y. A. Feldman: Seven Layers of Knowledge Representation and Reasoning in Support of Software Development, IEEE Trans. Software Engineering (Special Issue on Knowledge Representation and Reasoning in Software Development) 18 6, (1992) 451–469.Google Scholar
- 14.G. Zehavi: Specification and Implementation of Robotic Applications using MASS. MS Thesis, Tel-Aviv University (Aug. 1993).Google Scholar