ABSTRACT
To design embedded systems, multiple models of their environments are typically required for different purposes such as simulation, verification, and actual execution. Some of these models abstract the actual physical environment to facilitate Verification and Validation (V&V) activities. Others capture the connection to hardware peripherals, necessary to deploy the systems on actual embedded boards. However, mapping a system to different environment models for different purposes remains a complex task for two main reasons. First, the environment is often tightly coupled with the system, and the board used for its execution. Second, formal properties verified during the design phase must be preserved at runtime. To tackle these issues, we propose an approach for designing UML models in a modular way and deploying them for V&V activities or embedded execution. This approach uses UML modularity mechanisms to specify the system in a generic way, and to connect it to a given (abstract or real) environment. This technique has been applied on several UML models of embedded systems to analyze their behaviors by simulation and LTL model-checking before deploying them on embedded STM32 boards.
- Jean-Raymond Abrial. 2013. Modeling in Event-B: System and Software Engineering. Cambridge University Press, New York, NY, USA.Google Scholar
- Samir Ammour and Philippe Desfray. 2006. A Concern-based Technique for Architecture Modelling Using the UML Package Merge. Electronic Notes in Theoretical Computer Science 163, 1 (2006), 7--18. Proceedings of the First Workshop on Aspect-Based and Model-Based Separation of Concerns in Software Systems (ABMB 2005). Google ScholarCross Ref
- Gérard Berry. 2007. SCADE: Synchronous Design and Validation of Embedded Control Software. In Next Generation Design and Verification Methodologies for Distributed Embedded Control Systems, S. Ramesh and Prahladavaradan Sampath (Eds.). Springer Netherlands, Dordrecht, 19--33.Google Scholar
- Valentin Besnard, Matthias Brun, Frédéric Jouault, Ciprian Teodorov, and Philippe Dhaussy. 2018. Unified LTL Verification and Embedded Execution of UML Models. In ACM/IEEE 21th International Conference on Model Driven Engineering Languages and Systems (MODELS '18). Copenhagen, Denmark. Google ScholarDigital Library
- Valentin Besnard, Ciprian Teodorov, Frédéric Jouault, Matthias Brun, and Philippe Dhaussy. 2019. Verifying and Monitoring UML Models with Observer Automata. In ACM/IEEE 22th International Conference on Model Driven Engineering Languages and Systems (MODELS '19). Munich, Germany, 161--171. Google ScholarCross Ref
- Erwan Bousse, Thomas Degueule, Didier Vojtisek, Tanja Mayerhofer, Julien Deantoni, and Benoit Combemale. 2016. Execution Framework of the GEMOC Studio (Tool Demo). In Proceedings of the 2016 ACM SIGPLAN International Conference on Software Language Engineering (Amsterdam, Netherlands) (SLE 2016). ACM, New York, NY, USA, 84--89. Google ScholarDigital Library
- Asma Charfi Smaoui, Chokri Mraidha, and Pierre Boulet. 2012. An Optimized Compilation of UML State Machines. In ISORC - 15th IEEE International Symposium on Object/Component/Service-Oriented Real-Time Distributed Computing. Shenzhen, China.Google Scholar
- Federico Ciccozzi. 2014. From Models to Code and Back: A Round-trip Approach for Model-driven Engineering of Embedded Systems. Ph.D. Dissertation. Mälardalen University, Embedded Systems.Google Scholar
- Federico Ciccozzi. 2018. Unicomp: A Semantics-aware Model Compiler for Optimised Predictable Software. In Proceedings of the 40th International Conference on Software Engineering: New Ideas and Emerging Results (Gothenburg, Sweden) (ICSE-NIER '18). ACM, New York, NY, USA, 41--44. Google ScholarDigital Library
- Federico Ciccozzi, Ivano Malavolta, and Bran Selic. 2018. Execution of UML models: a systematic review of research and practice. Software & Systems Modeling (10 April 2018). Google ScholarDigital Library
- Edmund M. Clarke, David E. Long, and Kenneth L. McMillan. 1989. Compositional Model Checking. In Proceedings of the Fourth Annual Symposium on Logic in Computer Science. 353--362. Google ScholarCross Ref
- Benoit Combemale and Cédric Brun. 2015. Breathe Life Into Your Designer! http://gemoc.org/breathe-life-into-your-designer.htmlGoogle Scholar
- Luca de Alfaro and Thomas A. Henzinger. 2001. Interface Automata. In Proceedings of the 8th European Software Engineering Conference Held Jointly with 9th ACM SIGSOFT International Symposium on Foundations of Software Engineering (Vienna, Austria) (ESEC/FSE-9). ACM, New York, NY, USA, 109--120. Google ScholarDigital Library
- Philippe Dhaussy, Jean-Charles Roger, and Frédéric Boniol. 2011. Reducing State Explosion with Context Modeling for Model-Checking. In 2011 IEEE 13th International Symposium on High-Assurance Systems Engineering. 130--137. Google ScholarDigital Library
- Philippe Dhaussy, Jean-Charles Roger, Luka Leroux, and Frédéric Boniol. 2012. Context Aware Model Exploration with OBP tool to Improve Model-Checking. In ERTS 2012. Toulouse, France, xx.Google Scholar
- N. Hili, J. Dingel, and A. Beaulieu. 2017. Modelling and Code Generation for Real-Time Embedded Systems with UML-RT and Papyrus-RT. In 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C). 509--510. Google ScholarDigital Library
- Frédéric Jouault, Ciprian Teodorov, Jérôme Delatour, Luka Le Roux, and Philippe Dhaussy. 2014. Transformation de modèles UML vers Fiacre, via les langages intermédiaires tUML et ABCD. Génie logiciel 109 (June 2014), 21--27.Google Scholar
- Xavier Leroy. 2017. The CompCert C verified compiler: Documentation and user's manual. Intern report. Inria.Google Scholar
- Tanja Mayerhofer and Philip Langer. 2012. Moliz: A Model Execution Framework for UML Models. In Proceedings of the 2nd International Master Class on Model-Driven Engineering: Modeling Wizards (Innsbruck, Austria) (MW '12). ACM, New York, NY, USA, Article 3, 2 pages. Google ScholarDigital Library
- Geert Monsieur, Monique Snoeck, Raf Haesen, and Wilfried Lemahieu. 2006. PIM to PSM transformations for an event driven architecture in an educational tool. Milestones, Models and Mappings for Model-Driven Architecture (2006), 49.Google Scholar
- OMG. 2017. Unified Modeling Language. https://www.omg.org/spec/UML/2.5.1/PDFGoogle Scholar
- OMG. 2019. Precise Semantics of UML Composite Structures. https://www.omg.org/spec/PSCS/1.2/PDFGoogle Scholar
- Richard F. Paige, Dimitrios S. Kolovos, and Fiona A.C. Polack. 2005. Refinement via Consistency Checking in MDA. Electronic Notes in Theoretical Computer Science 137, 2 (2005), 151--161. Proceedings of the REFINE 2005 Workshop (REFINE 2005). Google ScholarDigital Library
- Sebastien Revol, Géry Delog, Arnaud Cuccurru, and Jérémie Tatibouët. 2018. Papyrus: Moka Overview. https://wiki.eclipse.org/Papyrus/UserGuide/ModelExecutionGoogle Scholar
- Samuel Rouxel, Jean-Philippe Diguet, Guy Gogniat, Nicolas Bulteau, Jonathan Carre-Gourdin, Jean-Etienne Goubard, and Christophe Moy. 2005. UML Framework for PIM and PSM Verification of SDR Systems. In SDR Forum Technical Conference'05. Anaheim, CA, United States.Google Scholar
- Colin Snook and Michael Butler. 2006. UML-B: Formal Modeling and Design Aided by UML. ACM Trans. Softw. Eng. Methodol. 15, 1 (Jan. 2006), 92--122. Google ScholarDigital Library
- David Steinberg, Frank Budinsky, Marcelo Paternostro, and Ed Merks. 2009. EMF: Eclipse Modeling Framework 2.0 (2nd ed.). Addison-Wesley Professional.Google Scholar
- Ciprian Teodorov, Philippe Dhaussy, and Luka Le Roux. 2017. Environment-driven Reachability for Timed Systems. International Journal on Software Tools for Technology Transfer 19, 2 (01 April 2017), 229--245. Google ScholarDigital Library
- Ciprian Teodorov, Luka Le Roux, Zoé Drey, and Philippe Dhaussy. 2016. Past-Free[ze] reachability analysis: reaching further with DAG-directed exhaustive state-space analysis. Software Testing, Verification and Reliability 26, 7 (2016), 516--542. Google ScholarDigital Library
- Oksana Tkachuk, Matthew B. Dwyer, and Corina S. Pasareanu. 2003. Automated Environment Generation for Software Model Checking. In 18th IEEE International Conference on Automated Software Engineering, 2003. Proceedings. 116--127. Google ScholarDigital Library
- Alanna Zito, Zinovy Diskin, and Juergen Dingel. 2006. Package Merge in UML 2: Practice vs. Theory?. In Model Driven Engineering Languages and Systems, Oscar Nierstrasz, Jon Whittle, David Harel, and Gianna Reggio (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 185--199. Google ScholarDigital Library
Index Terms
- Modular deployment of UML models for V&V activities and embedded execution
Recommendations
Unified LTL Verification and Embedded Execution of UML Models
MODELS '18: Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and SystemsThe increasing complexity of embedded systems leads to uncertain behaviors, security flaws, and design mistakes. With model-based engineering, early diagnosis of such issues is made possible by verification tools working on design models. However, three ...
An automated round-trip support towards deployment assessment in component-based embedded systems
CBSE '13: Proceedings of the 16th International ACM Sigsoft symposium on Component-based software engineeringSynergies between model-driven and component-based software engineering have been indicated as promising to mitigate complexity in development of embedded systems. In this work we evaluate the usefulness of a model-driven round-trip approach to aid ...
An Approach to Verifying Security and Timing Properties in UML Models
ICECCS '10: Proceedings of the 2010 15th IEEE International Conference on Engineering of Complex Computer SystemsIn this paper, we present an approach to verify whether a UML design model satisfies its domain-specific security and time-related requirements in an integrated tool environment. This approach is based on a UML metamodel extension mechanism given as ...
Comments