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.
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.
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.
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.
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.
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.
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.
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.
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.
Wellings, A. 2004. Concurrent and Real-time Programming in Java, John Wiley and Sons.
Author information
Authors and Affiliations
Corresponding author
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
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11241-006-5318-0