A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Dynamic Software Architectures Verification using DynAlloy Antonio Bucchiarone IMT Graduate School of Lucca,

Slides:



Advertisements
Similar presentations
Jeremy S. Bradbury, James R. Cordy, Juergen Dingel, Michel Wermelinger
Advertisements

3° Workshop Nazionale del Gruppo di Interesse in Ingegneria del Software Genova, 2-3 ottobre 2006 CASE – Libera Università di Bolzano-Bozen RCOST – Università
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
Comparison of Several Meta-modeling Tools Yi Lu Computer Science Department McGill University
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Background information Formal verification methods based on theorem proving techniques and model­checking –to prove the absence of errors (in the formal.
Verification/Simulati on –GUI for simulation and formal verification –Simulator: Exploration of dynamic behavior Checking.
1© Nokia Siemens Networks Antonio Bucchiarone Marie Curie Host Fellowships for the Transfer of Knowledge (TOK) Modelling Dynamic Software Architectures.
A. Bucchiarone / Pisa/ 30 Jan 2007 Dynamic Software Architectures for Global Computing Antonio Bucchiarone PhD Student – IMT Graduate School Piazza S.
A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Dynamic Software Architectures Verification using DynAlloy Antonio Bucchiarone IMT Graduate School of Lucca,
A. Bucchiarone / Dagstuhl/ 2007 APL Antonio Bucchiarone PhD Student – IMT Graduate School Piazza S. Ponziano, Lucca (Italy)
Jiannong IMC Lab - Department of Computing, Hong Kong Polytechnic Univ. Slide 1 Architecture Description of Distributed Systems using UML and XML.
1 Ivan Lanese Computer Science Department University of Bologna Italy Exploiting user-definable synchronizations in graph transformation.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
Zero-programming Sensor Network Deployment 學生:張中禹 指導教授:溫志煜老師 日期: 5/7.
Π-Method: A Model-Driven Formal Method for Architecture- Centric Software Engineering By Flavio Oquendo Presented by: Sajith Wickramaratne.
A Logic-Based Approach to Model Supervisory Control Systems Pierangelo Dell’Acqua Anna Lombardi Dept. of Science and Technology - ITN Linköping University,
1 GT-VC 2005, San Francisco, August 22, 2005 Ugo Montanari Università di Pisa Ivan Lanese Università di Pisa Hoare vs. Milner: Comparing Synchronizations.
1 Ivan Lanese Dipartimento di Informatica Università di Pisa Ugo Montanari From Graph Rewriting to Logic Programming joint work with.
Synchronized Hyperedge Replacement for Heterogeneous Systems joint work with Emilio Tuosto Dipartimento di Informatica Università di Pisa Ivan Lanese Dipartimento.
1 Ivan Lanese Computer Science Department University of Pisa Prof. Ugo Montanari Synchronization strategies for global computing Relator: Thesis Progress.
Describing Syntax and Semantics
WebDynpro for ABAP Short introduction.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
Manfred Reichert, Barbara Weber, Victoria Torres Large Process Models and Process Model Collections: - Challenges, Methods, Technologies - Barbara Weber.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
Providing a Software Quality Framework for Testing of Mobile Applications Dominik Franke and Carsten Weise RWTH Achen University Embedded Software Laboratory.
MARCH 27, Meeting Agenda  Prototype 1 Design Goals  Prototype 1 Demo  Framework Overview  Prototype 2 Design Goals  Timeline Moving Forward.
AToM 3 : A Tool for Multi- Formalism and Meta-Modelling Juan de Lara (1,2) Hans Vangheluwe (2) (1) ETS Informática Universidad Autónoma de Madrid Madrid,
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Ævol : A Tool for Planning Architecture Evolution David Garlan & Bradley Schmerl Carnegie Mellon University.
Formalizing the Asynchronous Evolution of Architecture Patterns Workshop on Self-Organizing Software Architectures (SOAR’09) September 14 th 2009 – Cambrige.
C O R P O R A T E T E C H N O L O G Y Siemens AG Software & Engineering Usage of Enterprise OSGi inside Siemens:  Siemens Communications, Enterprise Systems.
 FOAL 2010 Modeling Aspects by Category Theory Serge P. Kovalyov Novosibirsk, Russia.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Introduction to Graph Grammars Fulvio D’Antonio LEKS, IASI-CNR Rome,
A Framework for the Reconfiguration of Ubicomp Systems Pau Giner, Carlos Cetina, Joan Fons, Vicente Pelechano.
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
A CASE Tool For Robot Behavior Development The KSE CASE Tool - Liveness Formula Editor, text editor ‐ Liveness2IAC transformation tool ‐ Graphical Statechart.
Checking Reachability using Matching Logic Grigore Rosu and Andrei Stefanescu University of Illinois, USA.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
07/09/04 Johan Muskens ( TU/e Computer Science, System Architecture and Networking.
Task Graph Scheduling for RTR Paper Review By Gregor Scott.
1 Run-Time Software Engineering An approach for Embedded and Ubiquitous Computing Environments Sooyong Park Sogang University South.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration.
Testing Implementation Conformance with respect to its Architectural specification Software Architectures and Testing Begin Antonia Bertolino IEI - CNR,
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
Page 1 Renzo Angles and Claudio Gutierrez University of Chile ACM Computing Surveys, 2008 Survey of Graph Database Models.
Architectural Design Rewriting as Architectural Description Language R. Bruni A. LLuch-Lafuente U. Montanari E. Tuosto.
Systems Architectures System Integration & Architecture.
ALLOY: A Formal Methods Tool Glenn Gordon Indiana University of Pennsylvania COSC 481- Formal Methods Dr. W. Oblitey 26 April 2005.
Model Checking Early Requirements Specifications in Tropos Presented by Chin-Yi Tsai.
Rewriting Nested Graphs, through Term Graphs Roberto Bruni, Andrea Corradini, Fabio Gadducci Alberto Lluch Lafuente and Ugo Montanari Dipartimento di Informatica,
Dynamo: A Runtime Codesign Environment
SEAA 2014 Automatic Production of Transformation Chains Using Structural Constraints on Output Models Cuauhtémoc Castellanos Etienne Borde Thomas Vergnaud.
Matching Logic An Alternative to Hoare/Floyd Logic
University of Central Florida COP 3330 Object Oriented Programming
Daniel Amyot and Jun Biao Yan
Logical architecture refinement
Internet of Things A Process Calculus Approach
Architecture Description Languages
An Introduction to Software Architecture
Presentation transcript:

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Dynamic Software Architectures Verification using DynAlloy Antonio Bucchiarone IMT Graduate School of Lucca, Italy and ISTI-CNR of Pisa, Italy and Juan P. Galeotti Universidad de Buenos Aires, Argentina

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Agenda  Global Computing Systems (GCSs)  Dynamic Software Architectures for GCSs  Running Example  DSA Formal Modeling  A Typed Graph Grammar Approach  DSA Structural Verification  DynAlloy  Conclusions and Future Work

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Global Computing Systems  Globality  Autonomous computational entities created or controlled by different owners (i.e., Services)  Heterogeneity  Different devices that provide different configurations and functionalities  Mobility  Movement of the physical platforms or entities that change platforms  User-Dependent  The end-user is always the source of each change (i.e., adaptation)  Fault-Torelance  No interruption of services  Scalability  From small to big systems (i.e., new service request)

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Dynamic Software Architectures  Network component-based SW systems  adaptive systems  New requirements  Constraints during run-time  Run-time reconfigurations  Add/del/update components, connectors and connections  Programmed, Self-Repairing, Ad-Hoc, etc..

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 A Road Assistance Service - I Bike Access Point Assistance Service Station Chaining Point Assistance Service Station Bike Chaining Point …

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 A Road Assistance Service - II Bike Access Point access Chaining Point Assistance Service Station Access Point access leftright Chaining Point Bike Station leftright  Cell = Station + accessing bikes  Cell-chains = links of cells by chaining point  Migration of bikes to adjacent cells  Station shut down  Orphan bikes -> repairing reconfiguration

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08  Global Computing Systems (GCSs)  Dynamic Software Architectures for GCSs  Running Example  DSA Formal Modeling   A Typed Graph Grammar Approach  DSA Structural Verification  DynAlloy  Conclusions and Future Work

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Typed Graph Grammar (TGG) Approach

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Hypergraph = SA Configuration A (hyper)graph is a triple H = (N H, E H, Φ H ), where N H is the set of nodes E H is the set of (hyper)edges, and Φ H : E H  N H + describes connections of each edge

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Typed Hypergraph = Configuration  Style: an hypergraph T  Configuration: a pair where:  |G| is the underlying graph, and  is a total hypergraph morphism

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 SPO Rewriting = Reconfiguration  A set of rewriting productions  A production is a partial, injective morphism of T-typed graphs p: L → R  L and R areT-typed hypergraphs that are called left-hand and right-hand side of the production  Given a T-typed graph G and a production p, a rewriting of G using p can be executing a Single-Pushout Approach (SPO)

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Example of Production  Reconfiguration rule that migrates a bike (b1) to the rightward station (s4)

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Typed Graph Grammar = DSA  A DSA will be described by a T-typed graph grammar  G = where:  G in is the initial (T-typed) graph  T defines the style  P is a set of productions  G → * G’ to denote that there exists a possible empty sequence of derivation step from G to G’ using the productions in P

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Characterisation of Dynamism  Given a grammar G = we define:  The set R(G) of reachable configurations  All configurations to which the initial configuration G in can evolve  The set D p (G) of desirable configurations  The set of all T-typed configurations that satisfies a desired property P

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Programmed dynamism  All architectural changes are identified at design-time and triggered by the system itself  A programmed DSA A is associated with a grammar G A =  The grammar fixes the types of all elements in the architecture, and their possible connections  The productions state the possible way in which a configuration may change  Programmed Dynanism provides an implicit definition of desirable configurations D P (G) = R(G)

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08  Global Computing Systems (GCSs)  Dynamic Software Architectures for GCSs  Related Works  DSA Formal Modeling  A Typed Graph Grammar Approach  DSA Structural Verification  SAs and Style with Alloy  Programmed Dynamism with Alloy  DynAlloy Verification of DSAs  Conclusions and Future Work

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Alloy  Alloy provides a logic to represent properties or constraints on models  First-Order Logic  Alloy Analyzer (SAT Solver)  It explores (a bounded fragment) of the state space of all possible models.  We have implemented TGG concepts in Alloy

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Hypergraph = SA Configuration A (hyper)graph is a triple H = (N H, E H, Φ H ), where N H is the set of nodes E H is the set of (hyper)edges, and Φ H : E H  N H + describes connections of each edge // Binding abstract sig Node{} //Ports abstract sig Label{} //Components abstract sig Edge { conn: Label->lone Node } // Software Architecture abstract sig Graph { he: set Edge, n: set Node, l: set Label }

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Style // Bike-Style basic elements abstract sig Access_Point, Chain_Point extends Node{} abstract sig Access extends Label{} abstract sig Left extends Label{} abstract sig Right extends Label{} abstract sig Bike extends Edge{} { #conn=1 and conn.univ in Access and univ.conn in Access_Point } abstract sig Bikestation extends Edge{} { #conn=2 and conn.univ in Left+Right and univ.conn in Chain_Point } abstract sig Station extends Edge{} { #conn=3 and conn.univ in Left+Right+Access and univ.conn in Chain_Point+Access_Point } // Style Constraints fact Style_constraints {... // if two stations are connected, they share one unique node all disj s1,s2: Station | attached[s1,s2]=>#(last[s1.conn]&last[s2.conn]) = 1 // each Chain_Point node have at most two or at least one edge connected all cp: Chain_Point | #(conn.cp)>0 and #(conn.cp)<=2... }

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Programmed Dynamism  Set of reconfiguration rules in Alloy  Left and Right-side HyperGraphs  Single-Pushout Graph Transformation pred isPartialMorphism [g: Graph, h: Graph, f: Fun, t1, t2: Tau] {…} pred isTotalGraphMorphism [g: Graph, h: Graph, f: Fun, t1,t2:Tau] {…} pred isMatch[ga: Graph,gb: Graph, f: Fun, t1,t2:Tau] {…} pred isProd[p: Production, f: Fun, t1,t2:Tau] pred rwStepPre[G1:Graph, Pr: Production, M1: Fun, P:Fun, t1:Tau, t2:Tau, t3:Tau, t4: Tau ] {…} pred rwStepPost[G1:Graph, G2:Graph, Pr: Production, m1:Fun, m2:Fun, r1:Fun,r2:Fun,t1:Tau, t2:Tau,t3:Tau,t4:Tau] {…}

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Verification using DynAlloy  Extension of Alloy modeling language (M. Frias & J. Galeotti – ICSE’05)  It allow to define atomic actions and more complex actions (programs)  A given property P is invariant under sequences of applications of some operations  Our case : operation = Rewriting Step

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Properties  Each Bike can be connected to only one access point using one port of type Access  If one bike is connected to an access point then must exist a unique station that is connected to the same access point pred Property1 [tgg: TGG]{ all g: tgg.graphs | all e1: g.he |Type[e1,Bike] => one l1: g.l, n1:g.n |(Type[n1,Access_Point] and Type[l1,Access]) and e1.conn = l1->n1 } pred Property3[tgg:TGG]{ all g:tgg.graphs| all e1:g.he | Type[e1,Bike]=> one e2:g.he | Type[e2,Station] && connected [e1, e2]}

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Verification using DynAlloy  Model-finding  Initial Configuration  An instance satisfying the style and having a certain number of bikes, stations and bikestations  Invariant Analysis  If a property P is invariant under sequences of reconfigurations

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Model Finding module MODEL-FINDING... open STYLE open TGG … one sig G1 extends Graph{} fact{ G1.he=b1+s1+bs1 G1.n=cp1+cp2+cp3+ap1 G1.l=a1+a2+l1+r1+l2+r2} pred show[]{} run show for 1 Graph, 3 Edge, 4 Node, 6 Label

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Invariant Analysis  Property3 is Valid because there are no bikes in the target configuration

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08  Global Computing Systems (GCSs)  Dynamic Software Architectures for GCSs  Related Works  DSA Formal Modeling  A Typed Graph Grammar Approach  DSA Structural Verification  DynAlloy  Conclusions and Future Work

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Conclusions  Modeling of DSA using TGGs  Programmed Dynamism  Verification of DSA using Alloy/DynAlloy  Structural Adaptations  Tool Support  Modeling & Verification

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Future Works  Properties associated to each kind of DSA formalized in GT-VC07  Self-repairing, Ad-Hoc, etc..  Verification of behavioral properties  Behavioral Adaptations  Model-checking  ARMADA Framework Development  Automated ReMorphing Ambient for Dynamic Architectures  Eclipse-based (EMF)  Existing tools (AGG, DiaGen, GTXL, etc.) extension  Integration with some Model-Checker

A. Bucchiarone, Juan P. Galeotti / GT-VMT’08 Questions!