The ASMETA framework Paolo Arcaini 1 , Angelo Gargantini 2 , Elvinia Riccobene 1 , and Patrizia Scandurra 2 1 Dip. di Tecnologie dell’Informazione, Universit` a degli Studi di Milano, Italy {paolo.arcaini,elvinia.riccobene}@unimi.it 2 Dip. di Ing. dell’Informazione e Metodi Matematici, Universit` a di Bergamo, Italy {angelo.gargantini,patrizia.scandurra}@unibg.it 1 Introduction The use of formal methods, based on rigorous mathematical foundations, is essential for system development. However, some skepticism exists against formal methods mainly due to the lack of tools supporting formal development, or to the tools’ loosely coupling that does not allow reuse of information. The integration and interoperability of tools is hard to accomplish, so preventing formal methods from being used in an efficient and tool supported manner during the system development life cycle. The ASMETA (ASM mETAmodeling) framework 3 [4,10] is a set of tools around the Abstract State Machines (ASMs). These tools support different activities of the system development process, from specification to analysis, and are strongly integrated in order to permit reusing information about models during several development phases. ASMETA has been developed [4,11,13] by exploiting concepts and technologies of the Model-Driven Engineering (MDE), like metamodeling and automatic model trans- formation. The starting point of the ASMETA development has been the Abstract State Machine Metamodel (AsmM) [12], an abstract syntax description of a language for ASMs. From the AsmM, by exploiting MDE techniques of automatic model-to-model and model-to-text transformation, a set of software artifacts (concrete syntax, parser, in- terchange format, API, etc.) has been developed for model editing, storage and manip- ulation. These software artifacts have been later used as a means for the development of new more complex tools, and the integration within ASMETA of already existing tools, so providing a powerful and useful tool support for system specification and analysis. After briefly introducing the ASM formal method and its potentiality as system en- gineering method, we present the ASMETA toolset which provides basic functionalities for ASM models creation and manipulation (as editing, storage, interchange, access, etc.) as well as advanced model analysis techniques (validation, verification, testing, review, requirements analysis, runtime monitoring, etc.). A suitable set of ASM benchmark examples will be selected for the demo purposes in order to show all the potentialities of the ASMETA framework over different charac- teristics of the ASM models (parallelism, non determinism, distributivity, submachine invocations, etc.) 2 Abstract State Machines The Abstract State Machine (ASM) method is a systems engineering method that guides the development of software and embedded hardware-software systems seamlessly from 3 http://asmeta.sourceforge.net/