We propose a model-driven engineering approach that facilitates the production of tool chains that use the popular model checker Uppaal as a back-end analysis tool. In this approach, we introduce a metamodel for Uppaal’s input model, containing both timed-automata concepts and syntax-related elements for C-like expressions. We also introduce a metamodel for Uppaal’s query language to specify temporal properties; as well as a metamodel for traces to interpret Uppaal’s counterexamples and witnesses. The approach provides a systematic way to build software bridging tools (i.e., tools that translate from a domain-specific language to Uppaal’s input language) such that these tools become easier to debug, extend, reuse and maintain. We demonstrate our approach on five different domains: cyber-physical systems, hardware-software co-design, cyber-security, reliability engineering and software timing analysis.
|Title of host publication||Dependable Software Engineering. Theories, Tools, and Applications|
|Subtitle of host publication||Third International Symposium, SETTA 2017, Changsha, China, October 23-25, 2017, Proceedings|
|Editors||Kim Guldstrand Larsen, Oleg Sokolsky, Ji Wang|
|Place of Publication||Cham|
|Number of pages||18|
|Publication status||Published - 1 Oct 2017|
|Series||Lecture Notes in Computer Science|