Skip to main content
Log in

A formal model of composing components: the TLA+ approach

  • Original Paper
  • Published:
Innovations in Systems and Software Engineering Aims and scope Submit manuscript

Abstract

In this paper, a method for writing composable TLA+ specifications that conform to the formal model called Masaccio is introduced. Specifications are organized in TLA+ modules that correspond to Masaccio components by means of a trace-based semantics. Hierarchical TLA+ specifications are built from atomic component specifications by parallel and serial composition that can be arbitrary nested. While the rule of parallel composition is a variation of the classical joint-action composition, the authors do not know about a reuse method for the TLA+ that systematically employs the presented kind of a serial composition. By combining these two composition rules and assuming only the noninterleaving synchronous mode of an execution, the concurrent, sequential, and timed compositionality is achieved.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abadi M, Lamport L (1993) Composing specifications. ACM Trans Program Lang Syst 15(1): 73–132

    Article  Google Scholar 

  2. Abadi M, Lamport L (1993) Conjoining specifications. Research Report 118, Digital Equipment Corporation

  3. Abadi M, Merz S (1995) An abstract account of composition. In: Wiedermann J, Hajek P (eds) Mathematical foundations of computer science. Lecture notes in computer science, vol 969. Springer, Prague, pp 499–508

    Google Scholar 

  4. Cousot P, Cousot R (2001) Verification of embedded software: problems and perspectives. Lecture notes in computer science, vol 2211. Springer, Berlin, pp 97–114

    Google Scholar 

  5. Diaconescu R, Futatsugi K, Iida S (1999) Component-based algebraic specification and verification in cafeobj. In: FM’99—formal methods. Lecture notes in computer science, vol 1709. Springer, Berlin, pp 1644–1663

  6. Ghosal A, Henzinger TA, Iercan D, Kirsch C, Sangiovanni-Vincentelli AL (2006) Hierarchical timing language. Technical Report Technical Report No. UCB/EECS-20, EECS Department, University of California, Berkeley

  7. Henzinger TA (2000) Masaccio: a formal model for embedded components. In: TCS ’00: Proceedings of the international conference IFIP on theoretical computer science, exploring new frontiers of theoretical informatics. Springer, London, pp 549–563

  8. Henzinger TA, Horowitz B, Kirsch CM (2001) Giotto: a time-triggered language for embedded programming. Lecture notes in computer science, vol 2211. Springer, Berlin, pp 166–184

    Google Scholar 

  9. Henzinger TA, Minea M, Prabbu V (2001) Hybrid systems: computation and control. Lecture notes in computer science, chapter Assume-guarantee reasoning for hierarchical hybrid systems, vol 2034. Springer, Berlin, pp 275–290

    Google Scholar 

  10. Herrmann P, Graw G, Krumm H (1998) Compositional specification and structured verification of hybrid systems in ctla. In: Proceedings of 1st IEEE international symposium on object-oriented real-time distributed computing. IEEE Computer Society Press, New York, pp 335–340

  11. Hooman J (1993) A compositional approach to the design of hybrid systems. In: Hybrid systems. Springer, London, pp 121–148

  12. Kaminski M, Yariv Y (2001) A real-time semantics of temporal logic of actions. J Logic Comput 13(6): 921–937

    Article  MathSciNet  Google Scholar 

  13. Kopetz H (2002) Real-time systems: design principles for distributed embedded applications. The Springer international series in engineering and computer science, chapter The time-triggered architecture, vol 395. Springer, Netherlands, pp 285–297

    Google Scholar 

  14. Koymans R, Shyamasundar RK, de Roever WP, Gerth R, Arun-Kumar S (1988) Compositional semantics for real-time distributed computing. Inf Comput 79(3): 210–256

    Article  Google Scholar 

  15. Lamport L (1992) Hybrid systems in tla+. In: Hybrid systems. Lecture notes in computer science, vol 736. Springer, Berlin, pp 77–102

  16. Lamport L (2003) Specifying systems: the TLA+ language and tools for hardware and software engineers. Addison-Wesley, Reading

    Google Scholar 

  17. Lau K-K, Ukis V, Velasco P, Wang Z (2006) A component model for separation of control flow from computation in component-based systems. Electron Notes Theor Comput Sci 163(1): 57–69

    Article  Google Scholar 

  18. Lee E (2002) Advances in computers, chapter Embedded software. Academic Press, New York

    Google Scholar 

  19. Lynch N, Segala R, Vaandrager F (1996) Hybrid i/o automata. Lecture notes in computer science. Springer, Berlin, pp 196–510

    Google Scholar 

  20. Ramakrishna YS, Shyamasundar RK (1995) A compositional semantics of esterel in duration calculus. In: Proceedings of second AMAST workshop on real-time systems: models and proofs, bordeux. Springer, Berlin

  21. Rysavy O, Rab J (2008) A component-based approach to verification of embedded control systems using tla. In: IEEE proceedings of international multiconference on computer science and information technology. IEEE Computer Society Press, New York, pp 719–725

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ondrej Rysavy.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Rysavy, O., Rab, J. A formal model of composing components: the TLA+ approach. Innovations Syst Softw Eng 5, 139–148 (2009). https://doi.org/10.1007/s11334-009-0089-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11334-009-0089-0

Keywords

Navigation