Software & Systems Modeling

, Volume 14, Issue 2, pp 839–859 | Cite as

Formal synthesis of application and platform behaviors of embedded software systems

  • Jinhyun Kim
  • Inhye Kang
  • Jin-Young Choi
  • Insup Lee
  • Sungwon Kang
Regular Paper


Two main embedded software components, application software and platform software, i.e., the real-time operating system (RTOS), interact with each other in order to achieve the functionality of the system. However, they are so different in behaviors that one behavior modeling language is not sufficient to model both styles of behaviors and to reason about the characteristics of their individual behaviors as well as their parallel behavior and interaction properties. In this paper, we present a formal approach to the synthesis of the application software and the RTOS behavior models. In this approach, each of them is modeled with its adequate modeling language and then is composed into a system model for analysis. Moreover, this paper also presents a consistent way of analyzing the application software with respect to both functional requirements and timing requirements. To show the effectiveness of the approach, a case study is conducted, where ARINC 653 and its application are modeled and verified against timing requirements. Using our approach, application software can be constructed as a behavioral model independently from a specific platform and can be verified against various platforms and timing constraints in a formal way.


Embedded software systems Real-time operating systems  Model-driven development Statecharts TRoS Formal methods and engineering 



This research was supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education, Science and Technology (2012R1A1A2009354).


  1. 1.
    Alur, R.: Timed automata. In: Halbwachs, N., Peled, D. (eds.) Computer Aided Verification, Lecture Notes in Computer Science, vol. 1633, p. 688. Springer, Berlin (1999)Google Scholar
  2. 2.
    Alur, R., Dill, D.L.: The theory of timed automata. In: Proceedings of the Real-Time: Theory in Practice, REX Workshop, pp. 45–73. Springer, London (1992)Google Scholar
  3. 3.
    Baeten, J.C.M., Middelburg, C.A., Middelburg, K.: Process Algebra with Timing. Springer, Secaucus (2002)CrossRefMATHGoogle Scholar
  4. 4.
    Behrmann, G., David, A., Larsen, K.G.: A tutorial on uppaal. In: Bernardo, M., Corradini, F. (eds.) International School on Formal Methods for the Design of Computer, Communication, and Software Systems, SFM-RT 2004. Revised Lectures, Lecture Notes in Computer Science, vol. 3185, pp. 200–237. Springer, Berlin (2004).
  5. 5.
    Berry, G., Gonthier, G.: The esterel synchronous programming language: design, semantics, implementation. Sci. Comput. Program. 19, 87–152 (1992)CrossRefMATHGoogle Scholar
  6. 6.
    Butler, M.: CSP2B: a practical approach to combining CSP and B. Formal Aspects Comput. 12, 182–196 (2000)CrossRefMATHGoogle Scholar
  7. 7.
    Butler, M., Leuschel, M.: Combining CSP and B for specification and property verification. In: Proceedings of Formal Methods, pp. 221–236. Springer, Berlin (2005)Google Scholar
  8. 8.
    Cai, L., Gajski, D.: Transaction level modeling: an overview. In: First IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis, 2003, pp. 19–24 (2003)Google Scholar
  9. 9.
    Cámara, P.D.L., Castro, J.R., Gallardo, M., Merino, P.: Verification support for ARINC-653-based avionics software. Sotw. Test. Verification. Reliab. 21(4): 267–298 (2011). ISSN 1099-1689Google Scholar
  10. 10.
    Caspi, P., Pilaud, D., Halbwachs, N., Plaice, J.A.: Lustre: a declarative language for real-time programming. In: Proceedings of the 14th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, POPL ’87, pp. 178–188. ACM, New York (1987)Google Scholar
  11. 11.
    Clarke, D., Lee, I., Liang Xie, H.: VERSA: A tool for the specification and analysis of resource-bound real-time systems. J. Comput. Softw. Eng. 3 (1995)Google Scholar
  12. 12.
    Eker, J., Janneck, J., Lee, E.A., Liu, J., Liu, X., Ludvig, J., Sachs, S., Xiong, Y.: Taming heterogeneity—the ptolemy approach. Proc. IEEE 91(1), 127–144 (2003)CrossRefGoogle Scholar
  13. 13.
    Fischer, C., Smith, G.: Combining CSP and object-Z: finite or infinite trace semantics? In: FORTE X/PSTV XVII ’97: Proceedings of the IFIP TC6 WG6.1 Joint International Conference on Formal Description Techniques for Distributed Systems and Communication Protocols (FORTE X) and Protocol Specification, Testing and Verification (PSTV XVII), pp. 503–518. Chapman & Hall, London (1998)Google Scholar
  14. 14.
    Gamatié, A., Gautier, T.: Synchronous modeling of modular avionics architectures using the SIGNAL language. Research Report RR-4678, INRIA (2002)Google Scholar
  15. 15.
    Gamatié, A., Gautier, T.: Synchronous modeling of avionics applications using the SIGNAL language. In: Proceedings of the 9th IEEE Real-Time and Embededd Technology and Applications Sympsium, pp. 144–151 (2003). ISSN 1545-3421Google Scholar
  16. 16.
    Gamatié, A., Gautier, T., Besnard, L.: Modeling of avionics applications and performance evaluation techniques using the synchronous language signal. Electron. Notes Theor. Comput. Sci. 88, 87–103 (2004)CrossRefGoogle Scholar
  17. 17.
    Harel, D.: Statecharts: a visual formalism for complex systems. Sci. Comput. Program. 8(3), 231–274 (1987)CrossRefMATHMathSciNetGoogle Scholar
  18. 18.
    Harel, D., Naamad, A.: The STATEMATE semantics of statecharts. ACM Trans. Softw. Eng. Methodol. 5(4), 293–333 (1996)CrossRefGoogle Scholar
  19. 19.
    Hennessy, M., Regan, T.: A process algebra for timed systems. Inf. Comput. 117, 221–239 (1995)CrossRefMATHMathSciNetGoogle Scholar
  20. 20.
    In der Rieden, T., Knapp, S.: An approach to the pervasive formal specification and verification of an automotive system: status report. In: FMICS ’05: Proceedings of the 10th International Workshop on Formal Methods for Industrial Critical Systems, pp. 115–124. ACM, New York (2005)Google Scholar
  21. 21.
    Inc, A.R.: Avionics application software standard interface part 1—required services: ARINC specification 653p1-2. Aeronautical Radio Inc, Tech. rep. (2005)Google Scholar
  22. 22.
    Kaynar, D.K., Lynch. N., Segal, R., Vaandrager, F.: The Theory of Timed I/O Automata. Synth. Lec. Comput. Sci. 1(1): 1–114 (2006)Google Scholar
  23. 23.
    Kim, J., Choi, J.Y., Kang, I., Lee, I.: Generating composite behavior of embedded software components based on uml behavioral model and process algebra. SIGSOFT Softw. Eng. Notes 36, 1–9 (2011)Google Scholar
  24. 24.
    Kim, J., Kang, I., Choi, J.Y., Lee, I.: UML behavior models of real-time embedded software for model-driven architecture. J. Univers. Comput. Sci. 16(17), 2415–2434 (2010)Google Scholar
  25. 25.
    Kim, J., Kang, I., Choi, J.Y., Lee, I.: Timed and resource-oriented statecharts for embedded software. IEEE Trans. Ind. Inform. 6(4), 568–578 (2010)CrossRefGoogle Scholar
  26. 26.
    Koutsoukos, X.D., He, K.X., Lemmon, M.D., Antsaklis, P.J.: Timed petri nets in hybrid systems: stability and supervisorycontrol. Discret. Event Dyn. Syst. 8, 137–173 (1998)CrossRefMATHMathSciNetGoogle Scholar
  27. 27.
    Lee, E.A.: Finite state machines and modal models in Ptolemy II. Tech. Rep. UCB/EECS-2009-151, EECS Department, University of California, Berkeley (2009)Google Scholar
  28. 28.
    Lee, I., Br’emond-Gr’egoire, P., Gerber, R.: A process algebraic approach to the specification and analysis of resource-bound real-time systems. In: Proceedings of the IEEE Special Issue on, Real-Time Systems, pp. 158–171 (1994)Google Scholar
  29. 29.
    Lee, I., Philippou, A., Sokolosky, O.: Resources in process algebra. J. Logic Algebraic Program. 72(1), 98–122 (2007). [Algebraic Process Calculi: The First Twenty Five Years and Beyond. II]Google Scholar
  30. 30.
    Leuschel, M., Butler, M.J.: Pro B: a model checker for B. In: FME, pp. 855–874 (2003)Google Scholar
  31. 31.
    Micrium—\(\mu \)C/OS-II Kernel.
  32. 32.
    Mallet, F., de Simone, R.: MARTE: a profile for rt/e systems modeling, analysis-and simulation? In: Proceedings of the 1st International Conference on Simulation tools and Techniques for Communications, Networks and Systems & Workshops, Simutools ’08, pp. 43:1–43:8. ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering), ICST, Brussels (2008)Google Scholar
  33. 33.
    Merritt, M., Modugno, F., Tuttle, M.R.: Time-constrained automata (extended abstract). In: Proceedings of the 2nd International Conference on Concurrency Theory, CONCUR ’91, pp. 408–423. Springer, London (1991)Google Scholar
  34. 34.
    Milner, R.: Communication and Concurrency. Prentice-Hall, Upper Saddle River (1989)MATHGoogle Scholar
  35. 35.
    OMG: Object Constraint Language, Version 2.2. Object Management Group (OMG), Needham (2010)Google Scholar
  36. 36.
    Pettersson, P., Seceleanu, C., Vulgarakis, A.: Remes: a resource model for embedded systems. Technical Report ISSN 1404–3041 ISRN MDH-MRTC-232/2008-1-SE, Målardalen University (2008)Google Scholar
  37. 37.
    Reed, G.M., Roscoe, A.W.: A timed model for communicating sequential processes. Theor. Comput. Sci. 58, 249–261 (1988)Google Scholar
  38. 38.
    Sagonas, K. F., Armstrong, J. (eds.) Proceedings of the 2005 ACM SIGPLAN Workshop on Erlang, Tallinn, Estonia, September 26–28. Erlang workshop ACM, Estonia (2005). ISBN 1-59593-066-3Google Scholar
  39. 39.
    Schneider, S., Treharne, H., Evans, N.: Chunks: component verification in CSP \(||\) B. In: IFM’2005, pp. 89–108 (2005)Google Scholar
  40. 40.
    Smith, G., Derrick, J.: Abstract specification in object- Z and CSP. In: Formal Methods and Software Engineering, Lecture Notes in Computer Science, vol. 2495, pp. 108–119. Springer, Berlin (2002)Google Scholar
  41. 41.
    The UML Profile for MARTE: Modeling and Analysis of Real-Time and Embedded Systems.
  42. 42.
    Unified Modeling Language.
  43. 43.
    Waszniowski, L., Hanzálek, Z.: Formal verification of multitasking applications based on timed automata model. Real-Time Syst. 38(1), 39–65 (2008)CrossRefMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Jinhyun Kim
    • 1
  • Inhye Kang
    • 2
  • Jin-Young Choi
    • 3
  • Insup Lee
    • 4
  • Sungwon Kang
    • 5
  1. 1.Department of Computer ScienceAalborg UniversitetAlaborgDenmark
  2. 2.Department of Mechanical and Information EngineeringUniversity of SeoulSeoulKorea
  3. 3.College of Information and CommunicationsKorea UniversitySeoulKorea
  4. 4.Department of Computer and Information ScienceUniversity of PennsylvaniaPhiladelphiaUSA
  5. 5.Department of Computer ScienceKAISTDaejeonKorea

Personalised recommendations