Skip to main content
Log in

Modular Design of Real-Time Systems Using Hierarchical Communicating Real-time State Machines

  • Published:
Real-Time Systems Aims and scope Submit manuscript

Abstract

This paper proposes a methodology for the development of distributed real-time systems. The methodology consists of the Hierarchical Communicating Real-Time State Machines (H-CRSM) modelling language, and the Violin toolset. H-CRSM combines Statecharts constructs with CSP-like timed communications. Violin provides a visual environment supporting in a seamless way all the life-cycle development phases of an H-CRSM system. Temporal validation rests on assertion checking during system simulation. Code generation is based on Java and a customizable runtime. The practical use of H-CRSM/Violin is shown by an example.

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

  • Alur, R. and Dill, D. 1994. A theory of timed automata. Theoretical Computer Science, 126(2): 183–235.

    Google Scholar 

  • Behrmann, G., David, A. and Larsen, K. G. 2004. A tutorial on Uppaal. In Formal Methods for the Design of Real-Time Systems, M. Bernardo and F. Corradini (eds.), LNCS 3185, Springer, pp. 200–236.

  • Bengtsson, J. and Yi, W. 2004. Timed automata: Semantics, algorithms and tools. In Lectures on Concurrency and Petri Nets: Advances in Petri Nets, J. Desel, W. Reisig and G. Rozenberg (eds.), LNCS 3098, Springer.

  • Burns, A. 2003. How to verify a safe real-time system: The application of model checking and timed automata to the production cell case study. Real-Time Systems, 24(2): 135–151.

  • Buttazzo, G. C. 2005. Hard Real-Time Computing Systems, vol. 23 of Real-Time Systems Series, 2nd edition, Springer.

  • CAN. 1994. A serial bus—Not just for vehicles. In Proc. of 1st Int. CAN Conference (ICC'94).

  • Clarke, E. M., Grumberg, O. and Peled, D. A. 2001. Model Checking, MIT Press, Cambrige, MA.

  • Fortino, G. and Nigro, L. 2000. A toolset in Java2 for modeling, prototyping and implementing Communicating Real-Time State Machines. Microprocessors and Microsystems, 23(3): 573–586.

    Google Scholar 

  • Fortino, G., Nigro, L., Pupo, F. and Spezzano, D. 2001. Super actors for real-time. In Proc. of 6th Int. Workshop on Object-Oriented Real-Time Dependable Systems (WORDS'01), pp. 142–149.

  • Furfaro, A. and Nigro, L. 2003. Temporal verification of communicating real-time state machines using Uppaal. In Proc. of International Conference on Industrial Technology (IEEE-ICIT'2003), Maribor, Slovenia, IEEE Computer Society.

  • Furfaro, A. and Nigro, L. 2005. Model checking hierarchical communicating realtime state machines. In Proc. of 10th Int. Conf. on Emerging Technologies and Factory Automation (ETFA'2005), Catania, Italy, vol. 1, pp. 365–370.

  • Furfaro, A., Nigro, L., and Pupo, F. 2004. Multimedia synchronization based on aspect oriented programming. Microprocessors and Microsystems, 8(2): 47–56.

    Google Scholar 

  • Gamma, E., Helm, R., Johnson, R. and Vlissides, J. 1995. Design Patterns, Addison-Wesley.

  • Harel, D. 1987. Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8: 231–274.

    Google Scholar 

  • Harel, D. and Naamad, A. 1996. The STATEMATE semantics of Statecharts. ACM Transactions on Software Engineering and Methodology (TOSEM), 5(4): 293–333.

  • Harel, D. and Politi, M. 1998. Modeling Reactive Systems with Statecharts, McGraw-Hill.

  • Härtig, H., Hohmuth, M., Liedtke, J., Schönberg, S. and Wolter, J. 1997. The performance of \(\mu\)-kernel-based systems. In Proc. of the 16th ACM Symposium on Operating Systems Principles, ACM Press, pp. 66–77.

  • Hoare, C.A.R. 1985. Communicating Sequential Processes, Prentice-Hall International.

  • Jahanian, F. and Mok, A. K. 1986. Safety analysis of timing properties in realtime systems. IEEE Transactions on Software Engineering, 12(9): 890–904.

    Google Scholar 

  • Nigro, L. and Pupo, F. 2001. Schedulability analysis of real-time actor systems using Coloured Petri Nets. In Concurrent Object-Oriented Programming and Petri Nets—Advances in Petri Nets, G. Agha, F. D. Cindio and G. Rozenberg (eds.), LNCS 2001, Springer, pp. 493–513.

  • Object Management Group. OMG Unified Modeling Language specification, version 1.4. http://www.rational.com/uml.

  • Raju, S. C. V. and Shaw, A. C. 1994. A prototyping environment for specifying and checking Communicating Real-time State Machines. Software–Practice and Experience, 24(2): 175–195.

    Google Scholar 

  • RTSJ. 2000. Real-Time Specification for Java. http://www.rtsj.org/specjavadoc/book_index.html.

  • Selic, B., Gullerkson, G. and Ward, P. T. 1994. Real-Time Object-Oriented Modeling, Wiley Professional Computing, John Wiley and Sons, Inc.

  • Selic, B. and Rumbaugh, J. 1998. Using UML for modeling complex real-time systems. http://www-106.ibm.com/developerworks/rational/library/content/03July/1000/1155/1155_umlmodeling.pdf.

  • Shaw, A. C. 1992. Communicating real-time state machines. IEEE Transactions on Software Engineering, 18(9): 805–816.

    Google Scholar 

  • Shaw, A. C. 1997. Time-stamped event histories: A real-time programming object. In Proc. of 22nd IFIP/IFAC Workshop on Real Time Programming (WRTP'97), Lyon, pp. 97–100.

  • Shaw, A. C. 2001. Real-Time Systems and Software, Wiley.

  • Shlaer, S. and Mellor, S. 1992. Object Lifecycles – Modelling the World in States, Yourdon Press, Prentice-Hall International.

  • Uppaal-on line. 2004. http://www.uppaal.com.

  • Vlissides, J. M. and Linton, M. A. 1990. Unidraw: A framework for building domain-specific graphical editors. ACM Transactions on Information Systems (TOIS), 8(3): 237–268.

    Google Scholar 

  • Wellings, A. 2004. Concurrent and Real-time Programming in Java, John Wiley and Sons.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Angelo Furfaro.

Additional information

A preliminary version of this paper appears in Proc. of Joint Modular Languages Conference (JMLC'2003), Klagenfurt, Austria, August 2003, LNCS 2789, Springer, pp. 110–121.

Angelo Furfaro, Phd, is a computer science assistant professor at Unical, DEIS, teaching object-oriented programming. His research interests include: multiagent systems, Petri nets, parallel simulation, verification of time-dependent systems, distributed measurement systems. He is a member of ACM.

Libero Nigro is a full professor of computer science at Unical, DEIS, where he teaches object-oriented programming, software engineering and real-time systems courses. He is the responsible of Software Engineering Laboratory (www.lis.deis.unical.it). His current research interests include: software engineering of time-dependent and distributed systems, real-time systems, Petri nets, modeling and parallel simulation of complex systems, distributed measurement systems. Prof. Nigro is a member of ACM and IEEE.

Francesco Pupo, Phd, is a computer science assistant professor at Unical, DEIS, teaching introductory programming and computer architecture courses. His research interests include: Petri nets, discrete-event simulation, real-time systems, distributed measurement systems.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Furfaro, A., Nigro, L. & Pupo, F. Modular Design of Real-Time Systems Using Hierarchical Communicating Real-time State Machines. Real-Time Syst 32, 105–123 (2006). https://doi.org/10.1007/s11241-006-5318-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11241-006-5318-0

Keywords

Navigation