Presentation is loading. Please wait.

Presentation is loading. Please wait.

IAAnalyzer: Towards a Model-Driven Modeling and Analysis Framework for C ONNECT(ors) Massimo Tivoli, University of L’Aquila (UNIVAQ)

Similar presentations


Presentation on theme: "IAAnalyzer: Towards a Model-Driven Modeling and Analysis Framework for C ONNECT(ors) Massimo Tivoli, University of L’Aquila (UNIVAQ)"— Presentation transcript:

1 IAAnalyzer: Towards a Model-Driven Modeling and Analysis Framework for C ONNECT(ors) Massimo Tivoli, University of L’Aquila (UNIVAQ) massimo.tivoli@di.univaq.it

2 Motivations and long term goal  IAAnalyzer has been thought as a C ONNECT or modeling tool, internal to WP2, allowing us to perform validation of the formalized C ONNECT or algebra a software implementation of the current version of the algebra design CONNECTors as (compound) terms of the algebra by using a software modeling tool combination of primitives and operators automated generation of the corresponding semantics (IA-based) support the automated analysis of the modeled CONNECTors “correctness” checks w.r.t. the protocol of the networked systems and the requirements specified for the whole CONNECTed system simulation, refinement, model-checking, etc. 2

3 Status and future plan (cont’d)  The current version of IAAnalyzer adheres to the current formalization of the algebra (presented by Chris) it should be considered as a base implementation for the possible future extensions of the algebra  From a WP2-tool to a C ONNECT -tool the more the algebra formalization will be extended, the more new features and functionalities, for IAAnalyzer, will be accordingly implemented (or integrated with) e.g., combination of quantitative and interface models, C ONNECT or (code) synthesis, integration with Prism, etc. 3

4 Status and future plan  so far, IAAnalyzer represents only a software implementation of the algebra formalized within WP2  it is integrated with a specific analysis tool through M2T transformation technologies  nevertheless, in the future, it might be useful also outside WP2 4

5 Background: EMF  IAAnalyzer is built on top of EMF ( part of the Eclipse Modeling project ) essentially, it is an Eclipse plug-in exploiting the org.eclipse.emf.{ecore,edit,codegen} APIs indeed, it is a set of Eclipse plug-ins (built on top of EMF) with specific dependencies among them (more clear in few slides)  EMF is a Java modeling framework and code generation facility for building tools and other applications based on a structured data model 5 model specification described in XMI ecore meta-model EMF (tools and run- time support) EMF (tools and run- time support) adapter classes (Java) adapter classes (Java) model viewing and command-based editing (presentation independent) basic editor basic editor tree-view based (presentation code SWT/JFace user interaction) model classes (Java) model classes (Java) model implementation, run-time management and validation APIs (change notification, serialization, reflection) interoperability with other EMF-based tools

6 model-to-text transformation described in the Acceleo declarative notation model-to-text transformation described in the Acceleo declarative notation Background: Acceleo 3.0  The Acceleo Project is part of the Eclipse Modelling / Model To Text (M2T) project  Its primary goal is to provide an implementation of the MOF Model To Text OMG standard. 6 model specification described in XMI ecore meta-model Acceleo 3.0 (tools and run- time support) Acceleo 3.0 (tools and run- time support) model-to-text transformation described in the Acceleo declarative notation Acceleo templates transformation classes (Java) transformation classes (Java) A M2T Eclipse plug-in (exploiting EMF) GUI for the transformation classes (Java) GUI for the transformation classes (Java) Acceleo UI Launcher Project (e.g., popup menu to invoke the transformation on the specific model files) model file (in XMI) output file(s)

7 Background: Ticc  TICC is an analysis tool that allows users to specify Sociable Interfaces (called modules) textual notation based on guarded commands (analogous to Promela for Spin) perform operations on modules product, parallel composition, symbolic representation, etc. verify properties of modules (or composition of modules) composability, compatibility, refinement, simulation, model-checking of CTL formulae  TICC is implemented as a set of functions that extend the capabilities of the Ocaml command-line  The tool is released under the GPL and its code is freely available  As far as I know, it is available “only” for Linux (GCC + Ocaml compilers) 7

8 iaanalyzer iaanalyzer.edit org.eclipse.emf.edit IAAnalyzer: implementation (cont’d) 8 iaanalyzer.editor iaanalyzer.edit.editor IAAnalyzer.ecore EMF generates... most of the code written has been added here only few code has been modified here for customization purposes completely unchanged

9 iaanalyzer iaanalyzer.edit org.eclipse.emf.edit IAAnalyzer: implementation 9 iaanalyzer.editor Essentially, the only code you have to write is the Acceleo transformation (java = acceleo_trans +.ecore) org.eclipse.acceleo{.model,.engine,.common,.profiler} org.eclipse.emf.codegen{.ecore} iaanalyzer.iaa2ticc iaanalyzer.ui Completely generated by the Acceleo Wizard

10 Very quick demo from the Isola paper about the algebra 10 id message id message msgin who msgin who Let’s focus only on CFring (left-hand side) sending a message and XMPP (right-hand side) receiving a message Order([message,id],(2,1),[message1,id1])  Trans(id1,who)  Trans(message1,msgin) Order([message,id],(2,1),[message1,id1])  Order([id1,message1],(1,2),[who,msgin]) 0123 8 5 6 message? id?id1! message1! who! message1! who! msgin! 4 7 And now, let’s go to watch the Live Tutorial…… 0123 6 message? id?id1!message1! who!msgin! 4 7

11 Conclusions and future plan  IAAnalyzer Provides an ecore meta-model for IA-based models possibly exploitable also outside WP2 Can be integrated with other EMF tools Has a “Model-View-Controller” architecture easy extension (resp., integration) with (resp., of) new features and functionalities Integration with other analysis tools is just a matter of possibly extending the meta-model with new domain concepts (depending on the specific analysis tool) write new M2T Acceleo transformations  Future work Graphical Editor by using GMF + Eugenia already in progress Textual Editor/Notation needed for real-scale examples The more the algebra formalization will be extended, the more new features and functionalities, for IAAnalyzer, will be accordingly implemented (or integrated with) e.g., combination of quantitative and interface models, C ONNECT or (code) synthesis, integration with Prism, etc. Fix possible bugs, improve user interaction, and validate the tool with more complex examples 11


Download ppt "IAAnalyzer: Towards a Model-Driven Modeling and Analysis Framework for C ONNECT(ors) Massimo Tivoli, University of L’Aquila (UNIVAQ)"

Similar presentations


Ads by Google