Timing consistency checking for UML/MARTE behavioral models
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 .
KeywordsUML State machine diagram Sequence diagram Timing diagram MARTE Timing consistency checking
- 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
- Choi, J. (2015). UMCA (UML/MARTE timing Consistency Analyzer) tool. http://sites.google.com/site/jhchoi93/.
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Clarke, E. M., Grumberg, O., & Peled, D. (1999). Model checking. Cambridge: MIT Press.Google Scholar
- Egyed, A. (2006). Instant consistency checking for the UML. In Proceedings of the 28th international conference on Software Engineering (pp. 381–390). ACMGoogle Scholar
- 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
- 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
- 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
- Fowler, M. (2004). UML distilled: A brief guide to the standard object modeling language. Boston: Addison-Wesley Professional.Google Scholar
- Gherbi, A., & Khendek, F. (2007) Consistency of UML/SPT models. In SDL 2007: Design for dependable systems (pp. 203–224). Berlin: Springer.Google Scholar
- 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
- 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
- Holzmann, G. J. (2003). The SPIN model checker: Primer and reference manual. Boston: Addison-Wesley Professional.Google Scholar
- 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
- 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
- Leveson, N. (2011). Engineering a safer world: Systems thinking applied to safety. Cambridge: Mit Press.Google Scholar
- Millett, L. I., Thomas, M., Jackson, D., et al. (2007). Software for dependable systems: Sufficient evidence?. Washington: National Academies Press.Google Scholar
- 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
- OMG. (2005). UML profile for schedulability, performance, and time specification, version 1.1 (formal/2005-01-02) Edition. http://www.omg.org.
- OMG. (2006). Object Constraint Language. version 2.0 (formal/06-05-01) Edition. http://www.omg.org.
- 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
- OMG. (2011b). Unified Modeling Language: Superstructure. version 2.4.1 (formal/2011-08-06) Edition. http://www.omg.org.
- Papyrus . (2012). Papyrus. http://www.eclipse.org/modeling/mdt/papyrus/
- Paradigm, V. (2012). Visual Paradigm for UML Communication Edition. http://www.visual-paradigm.com.
- 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
- Pont, M. J. (2001). Patterns for time-triggered embedded systems. New York: Person Edueation.Google Scholar
- Rumbaugh, J., Jacobson, I., & Booch, G. (2004). The unified modeling language reference manual. Boston: Addison-Wesley Professional.Google Scholar
- 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
- 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
- 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.
- UPPAAL. (2012). Uppsala University and Aalborg University. UPPAAL-a tool for verification of real-time systems. http://www.uppaal.org.
- 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
- Wieringa, R. J. (2003). Design methods for reactive systems: Yourdon, statemate, and the UML. Amsterdam: Elsevier.Google Scholar
- 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