Software Quality Journal

, Volume 24, Issue 3, pp 835–876 | Cite as

Timing consistency checking for UML/MARTE behavioral models

Article

Abstract

UML/MARTE model-driven development approaches are gaining attention in developing real-time embedded software (RTES). UML behavioral models with MARTE annotations are used to describe timing behaviors and timing characteristics of RTES. Particularly, state machine, sequence, and timing diagrams with MARTE annotations are appropriate to understand and analyze timing behaviors of RTES. However, to guarantee software correctness and safety, timing inconsistencies in UML/MARTE should be identified in the design phase of RTES. UML/MARTE timing inconsistencies are related to modeling errors and can be hazards throughout the lifecycle of RTES. We propose a systematic approach to check timing consistency of state machine, sequence, and timing diagrams with MARTE annotations for RTES. First, we present how state machine, sequence, and timing diagrams with MARTE annotations specify the behaviors of RTES. To overcome informal semantics of UML/MARTE models, we provide formal definitions of state machine, sequence, and timing diagrams with MARTE annotations. Second, we present the timing consistency checking approach that consists of a rule-based and a model checking-based timing consistency checking. In the rule-based timing consistency checking, we validate well formedness of UML/MARTE behavioral models in timing aspects. In the model checking-based timing consistency checking, we verify whether timing behaviors of sequence and timing diagrams with MARTE annotations are consistent with the timing behaviors of state machine diagrams with MARTE annotations. We support an automated timing consistency checking tool UML/MARTE timing Consistency Analyzer for a seamless approach. We demonstrate the effectiveness and the practicality of the proposed approach by two case studies using cruise control system software and guidance and control unit software .

Keywords

UML State machine diagram Sequence diagram Timing diagram MARTE Timing consistency checking 

References

  1. Alur, R., & Dill, D. L. (1994). A theory of timed automata. Theoretical Computer Science, 126(2), 183–235.MathSciNetCrossRefMATHGoogle Scholar
  2. Amnell, T., Fersman, E., Pettersson, P., Sun, H., & Yi, W. (2002). Code synthesis for timed automata. Nordic Journal of Computing, 9(4), 269–300.MathSciNetMATHGoogle Scholar
  3. Amnell, T., Fersman, E., Mokrushin, L., Pettersson, P., & Yi, W. (2004). TIMES: A tool for schedulability analysis and code generation of real-time systems. In Formal modeling and analysis of timed systems (pp. 60–72). Berlin: Springer.Google Scholar
  4. Bérard, B., Bidoit, M., Finkel, A., Laroussinie, F., Petit, A., Petrucci, L., et al. (2010). Systems and software verification: Model-checking techniques and tools. Berlin: Springer.MATHGoogle Scholar
  5. Chiorean, D., Paşca, M., Cârcu, A., Botiza, C., & Moldovan, S. (2004). Ensuring UML models consistency using the OCL environment. Electronic Notes in Theoretical Computer Science, 102, 99–110.CrossRefGoogle Scholar
  6. Choi, J. (2015). UMCA (UML/MARTE timing Consistency Analyzer) tool. http://sites.google.com/site/jhchoi93/.
  7. Choi, J., & Bae, D. H. (2012). An approach to constructing timing diagrams from UML/MARTE behavioral models for guidance and control unit software. In Computer applications for database, education, and ubiquitous computing (pp. 107–110). Berlin: Springer.Google Scholar
  8. Choi, J., Shim, J., & Yim, S. (2005). The implementation and performance analysis of soft timer interrupt UML-RT model on a windows platform with real-time extension. In Proceedings of the korea information science society fall conference (Vol. 32, pp. 841–843)Google Scholar
  9. Choi, J., Jee, E., Kim, H. J., & Bae, D. H. (2011a). A case study on timing constraints verification for a safety-critical, real-time system. In Proceedings of the Korea computer congress (KCC) (Vol. 38, pp. 166–169).Google Scholar
  10. Choi, J., Jee, E., Kim, H. J., & Bae, D. H. (2011b). A case study on timing constraints verification for a safety-critical, time-triggered embedded software. Journal of KIISE: Software and Applications, 38(12), 647–656.Google Scholar
  11. Choi, J., Jee, E., & Bae, D. H. (2012a). Systematic vxworks-based code generation from timed automata model. In Proceedings of the Korea computer congress (KCC) (Vol. 39, pp. 138–140).Google Scholar
  12. Choi, J., Jee, E., & Bae, D. H. (2012b) Toward systematic construction of timing diagrams from UML/MARTE behavioral models for time-triggered embedded software. In 2012 IEEE sixth international conference on Software Security and Reliability (SERE) (pp. 118–127).Google Scholar
  13. Choi, J., Jee, E., & Bae, D. H. (2013). Systematic generation of VxWorks-based code from timed automata models. Journal of KIISE: Computing Practices and Letters, 19(2), 90–94.Google Scholar
  14. Clarke, E. M., Grumberg, O., & Peled, D. (1999). Model checking. Cambridge: MIT Press.Google Scholar
  15. Egyed, A. (2006). Instant consistency checking for the UML. In Proceedings of the 28th international conference on Software Engineering (pp. 381–390). ACMGoogle Scholar
  16. Egyed, A. (2007). UML/Analyzer: A tool for the instant consistency checking of UML models. In 29th International Conference on Software Engineering, 2007. ICSE 2007 (pp. 793–796).Google Scholar
  17. Egyed, A. (2011). Automatically detecting and tracking inconsistencies in software design models. IEEE Transactions on Software Engineering, 37(2), 188–204.CrossRefGoogle Scholar
  18. Engels, G., Küster, J. M., Heckel, R., & Groenewegen, L. (2001). A methodology for specifying and analyzing consistency of object-oriented behavioral models. In ACM SIGSOFT Software Engineering Notes (Vol. 26, pp. 186–195)Google Scholar
  19. Fersman, E., Pettersson, P., Yi, W. (2002). Timed automata with asynchronous processes: Schedulability and decidability. In Tools and Algorithms for the Construction and Analysis of Systems (pp. 67–82). Berlin: SpringerGoogle Scholar
  20. Fowler, M. (2004). UML distilled: A brief guide to the standard object modeling language. Boston: Addison-Wesley Professional.Google Scholar
  21. Gherbi, A., & Khendek, F. (2007) Consistency of UML/SPT models. In SDL 2007: Design for dependable systems (pp. 203–224). Berlin: Springer.Google Scholar
  22. Gogolla, M., Büttner, F., & Richters, M. (2007). Use: A UML-based specification environment for validating UML and OCL. Science of Computer Programming, 69(1), 27–34.MathSciNetCrossRefMATHGoogle Scholar
  23. Gomaa, H. (2001). Designing concurrent, distributed, and real-time applications with UML. In Proceedings of the 23rd international conference on software engineering, (pp. 737–738). IEEE Computer Society.Google Scholar
  24. Gomes, L., Fernandes, J. M., & Global, I. (2010). Behavioral modeling for embedded systems and technologies: Applications for design and implementation. InInformation Science Reference Google Scholar
  25. Holzmann, G. J. (2003). The SPIN model checker: Primer and reference manual. Boston: Addison-Wesley Professional.Google Scholar
  26. Knapp, A., Merz, S., & Rauh, C. (2002). Model checking timed UML state machines and collaborations. In Formal techniques in real-time and fault-tolerant systems, (pp. 395–414). Berlin: SpringerGoogle Scholar
  27. Kuster, J., & Stroop J (2001) Consistent design of embedded real-time systems with UML-RT. In Proceedings. Fourth IEEE international symposium on object-oriented real-time distributed computing, 2001. ISORC-2001, (pp. 31–40).Google Scholar
  28. Laleau, R., & Polack, F. (2008). Using formal metamodels to check consistency of functional views in information systems specification. Information and Software Technology, 50(7), 797–814.CrossRefGoogle Scholar
  29. Lavagno, L., Martin, G., & Selic, B. V. (2003). UML for real: Design of embedded real-time systems. Berlin: Springer.CrossRefMATHGoogle Scholar
  30. Leveson, N. (2011). Engineering a safer world: Systems thinking applied to safety. Cambridge: Mit Press.Google Scholar
  31. Lucas, F. J., Molina, F., & Toval, A. (2009). A systematic review of UML model consistency management. Information and Software Technology, 51(12), 1631–1645.CrossRefGoogle Scholar
  32. Millett, L. I., Thomas, M., Jackson, D., et al. (2007). Software for dependable systems: Sufficient evidence?. Washington: National Academies Press.Google Scholar
  33. Nentwich, C., Capra, L., Emmerich, W., & Finkelsteiin, A. (2002). xlinkit: A consistency checking and smart link generation service. ACM Transactions on Internet Technology (TOIT), 2(2), 151–185.CrossRefGoogle Scholar
  34. Nguyen, M. C., Jee, E., Choi, J., & Bae, D. H. (2014). Automatic construction of timing diagrams from UML/MARTE models for real-time embedded software. In Proceedings of the 29th annual ACM symposium on applied computing, (pp. 1140–1145).Google Scholar
  35. OMG. (2005). UML profile for schedulability, performance, and time specification, version 1.1 (formal/2005-01-02) Edition. http://www.omg.org.
  36. OMG. (2006). Object Constraint Language. version 2.0 (formal/06-05-01) Edition. http://www.omg.org.
  37. OMG. (2011a). UML profile for MARTE: Modeling and analysis of real-time embedded systems. version 1.1 (formal/2011-06-02) Edition. http://www.omg.org
  38. OMG. (2011b). Unified Modeling Language: Superstructure. version 2.4.1 (formal/2011-08-06) Edition. http://www.omg.org.
  39. Paradigm, V. (2012). Visual Paradigm for UML Communication Edition. http://www.visual-paradigm.com.
  40. Peraldi-Frati, M. A., Blom, H., Karlsson, D., & Kuntz, S. (2012). Timing modeling with autosar-current state and future directions. In Design, automation and test in Europe conference and exhibition (DATE), IEEE (pp. 805–809).Google Scholar
  41. Pont, M. J. (2001). Patterns for time-triggered embedded systems. New York: Person Edueation.Google Scholar
  42. Rumbaugh, J., Jacobson, I., & Booch, G. (2004). The unified modeling language reference manual. Boston: Addison-Wesley Professional.Google Scholar
  43. Selic, B. (1998). Using UML for modeling complex real-time systems. In Languages, compilers, and tools for embedded systems (pp. 250–260), Berlin: Springer.Google Scholar
  44. Sgroi, M., Lavagno, L., & Sangiovanni-Vincentelli, A. (2000). Formal models for embedded system design. IEEE Design & Test of Computers, 17(2), 14–27.CrossRefMATHGoogle Scholar
  45. Sommerville, I. (2011). Software engineering (9th ed.). Boston: Addison Wesley.MATHGoogle Scholar
  46. Sourrouille, J. L., & Caplat, G. (2002). Checking UML model consistency. In Workshop on consistency problems in UML-based software development, Blekinge Institute of Technology (pp. 1–15).Google Scholar
  47. TIMES. (2007). Uppsala university design and analysis of real-time systems team. TIMES-a tool for modeling and implementation of embedded systems. http://www.timestool.com.
  48. UPPAAL. (2012). Uppsala University and Aalborg University. UPPAAL-a tool for verification of real-time systems. http://www.uppaal.org.
  49. Usman, M., Nadeem, A., Kim, T. H., & Cho, E. S. (2008). A survey of consistency checking techniques for UML models. In Advanced software engineering and its applications, 2008, ASEA 2008 IEEE, (pp. 57–62).Google Scholar
  50. Wieringa, R. J. (2003). Design methods for reactive systems: Yourdon, statemate, and the UML. Amsterdam: Elsevier.Google Scholar
  51. Zhao, X., Long, Q., & Qiu, Z. (2006). Model checking dynamic UML consistency. In Formal methods and software engineering, Berlin: Springer (pp. 440–459).Google Scholar

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  1. 1.The 1st R&D InstituteAgency for Defense Development (ADD)DaejeonRepublic of Korea
  2. 2.School of ComputingKAISTDaejeonRepublic of Korea

Personalised recommendations