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 Programming Languages and Systems 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. Lect Notes Comput Sci 2211: 97–114

    Article  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, Heidelberg, 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, May 2006

  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. Lect Notes Comput Sci 2211:166+

    Google Scholar 

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

  10. Herrmann P, Graw G, Krumm H (1998) Compositional specification and structured verification of hybrid systems in ctla. In: Proceedings of first IEEE international symposium on object-oriented real-time distributed computing. IEEE Computer Society Press, Washington, DC, 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, vol 395, chap the time-triggered architecture. Springer Netherlands, pp 285–297

  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, Heidelberg, 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 EA (2002) Embedded software. Adv Comput 56: 56–97

    Google Scholar 

  19. Lynch N, Segala R, Vaandrager F (1996) Hybrid i/o automata. Springer, Heidelberg, pp 496–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. Springer, Bordeux

  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, Washington, DC, 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 (2009). https://doi.org/10.1007/s11334-009-0087-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s11334-009-0087-2

Keywords

Navigation