Specifying Fractal and GCM Components With UML Solange Ahumada, Ludovic Apvrille, Tomás Barros, Antonio Cansado, Eric Madelaine and Emil Salageanu SCCC.

Slides:



Advertisements
Similar presentations
Semantic Formalisms 2: Software Components Eric Madelaine INRIA Sophia-Antipolis Oasis team UNICE – EdStic Mastère Réseaux.
Advertisements

Elton Mathias and Jean Michael Legait 1 Elton Mathias, Jean Michael Legait, Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis,
A component- and message-based architectural style for GUI software
The TUNe Autonomic Management System Daniel Hagimont Professor - INP Toulouse Researcher – IRIT Laboratory.
Component Interaction in Distributed Systems Nat Pryce Imperial College
Eric MADELAINE1 E. Madelaine, Antonio Cansado, Emil Salageanu OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis OSCAR meeting, Valparaiso,
Software Engineering Techniques for the Development of System of Systems Seminar of “Component Base Software Engineering” course By : Marzieh Khalouzadeh.
Session 2: task 3.2 GCM, Kracow, June l Current status of GCM Denis Caromel (10 mn each talk) l Wrapping CCA Components as GCM Components Maciej.
The Sherlock Project Purdue University, Department of Computer Sciences Sponsored by Tellabs, Inc. Doug Clark - Group Leader Tobey Pasheilich Raj Talwar.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
CS189A/172 - Winter 2008 Lecture 7: Software Specification, Architecture Specification.
Using the Vanderbilt Generic Modeling Environment (GME) to Address SOA QoS Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.
End-to-End Design of Embedded Real-Time Systems Kang G. Shin Real-Time Computing Laboratory EECS Department The University of Michigan Ann Arbor, MI
An Introduction to Rational Rose Real-Time
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
Optimisation of behaviour of component-based distributed systems INRIA - I3S - CNRS – University of Nice Sophia-Antipolis EPC SCALE Galyna Zholtkevych.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
The Design Discipline.
Systems Modeling Language ™ Overview Cris Kobryn and Sandy Friedenthal SysML Partners ( October 2003.
INRIA Sophia-Antipolis, Oasis team INRIA Rhône-Alpes, Vasy team Feria–IRIT/LAAS, SVF team Toulouse GET - ENST Paris, LTCI team FIACRE Models and Tools.
Introduction to MDA (Model Driven Architecture) CYT.
CBSE - presentations Advanced Component-Based Software Engineering Assignment 2.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
The Grid Component Model: an Overview “Proposal for a Grid Component Model” DPM02 “Basic Features of the Grid Component Model (assessed)” -- DPM04 CoreGrid.
The Grid Component Model and its Implementation in ProActive CoreGrid Network of Excellence, Institute on Programming Models D.PM02 “Proposal for a Grid.
CS480 Computer Science Seminar Introduction to Microsoft Solutions Framework (MSF)
DISTRIBUTED SYSTEMS RESEARCH GROUP CHARLES UNIVERSITY PRAGUE Faculty of Mathematics and Physics Behavior Composition in Component.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
Formalism and Platform for Autonomous Distributed Components Bio-inspired Networks and Services A Distributed Component Model Formalisation in Isabelle.
Information System Development Courses Figure: ISD Course Structure.
Eric Madelaine FORTE ’04 -- Madrid sept /25 Parameterized Models for Distributed Java Objects Eric Madelaine work with Tomás Barros, Rabéa Boulifa.
Eric MadelaineOSMOSE -- WP2 -- Prague June 2004 Models for the Verification of Distributed Java Objects Eric Madelaine work with Tomás Barros, Rabéa Boulifa,
Selected Topics in Software Engineering - Distributed Software Development.
A Model-Based Framework for Statically and Dynamically Checking Component Interactions (CALICO) Waignier, G., Sriplakich, P., Meur, A., and Duchien, L.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Paper written by Flavio Oquendo Presented by Ernesto Medina.
1 DISTRIBUTED SYSTEMS RESEARCH GROUP CHARLES UNIVERSITY IN PRAGUE Faculty of Mathematics and Physics 2 INTERNATIONAL INSTITUTE.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
A graphical specification environment for GCM component-based applications INRIA – I3S – CNRS – University of Nice-Sophia Antipolis EPC OASIS Oleksandra.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
Asynchronous Components with Futures: Semantics, Specification, and Proofs in a Theorem Prover Components (Distributed) Futures Formalisations (and proofs)
Behavioural Verification of Distributed Components Ludovic Henrio and Eric Madelaine ICE
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © GridCOMP Grids Programming with components.
A common meta-model for the interoperation of tools with heterogeneous data models ECMFA 2010 Third Workshop on Model-Driven Tool & Process Integration.
Grid programming with components: an advanced COMPonent platform for an effective invisible grid © 2006 GridCOMP Grids Programming with components. An.
By: David Harel & Eran Grey Presenter: Elizabeth Antony CISC 836.
1. 2 Objects to Distributed Components (1) Typed Group Java or Active Object ComponentIdentity Cpt = newActiveComponent (params); A a = Cpt ….getFcInterface.
A Component Platform for Experimenting with Autonomic Composition A component framework for supporting composition of autonomic services and bio-inspired.
Mastère RSD - TC4 2005/20061 Distributed Components –ProActive-Fractal : main concepts –Behaviour models for components –Deployment, management, transformations.
ProActive components and legacy code Matthieu MOREL.
Eric MadelaineOSCAR Workshop -- Santiago Nov Verification of Distributed Applications Eric Madelaine work with Isabelle Attali, Tomás Barros, Rabéa.
GYTE - Bilgisayar Mühendisliği Bölümü Bilgisayar Mühendisliği Bölümü GYTE - Bilgisayar Mühendisliği Bölümü AN ARCHITECTURE FOR NEXT GENERATION MIDDLEWARE.
Transparent First-class Futures and Distributed Components Introduction: components, futures, and challenges Statically Representing Futures An Example.
Eric MADELAINE ---- OASIS1 E. Madelaine Oasis team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis RESECO ’08 Santiago – Nov. 24, 2008 Specification.
Eric MADELAINE1 A. Cansado, L. Henrio, E. Madelaine OASIS Team, INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis Fractal workshop, Nantes, 3 july.
RESECO - Montevideo - 22 nov 2007Reseco, Montevideo, 22 nov 2007 Eric Madelaine - OASIS Team1 Specifying and Generating Safe GCM Components INRIA – Sophia.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
VERIFYING THE CORRECT COMPOSITION OF DISTRIBUTED COMPONENTS: FORMALISATION AND TOOL Ludovic Henrio 1, Oleksandra Kulankhina 1,2, Dongqian Liu 3, Eric Madelaine.
Tomás BarrosMonday, April 18, 2005FIACRE Toulouse p. 1 Behavioural Models for Hierarchical Components Tomás Barros, Ludovic Henrio and Eric Madelaine.
Distributed Components and Futures: Models and Challenges A Distributed Component Model Distributed Reconfiguration Calculi for Components and Futures.
Eric MADELAINE -- GridComp -- OASIS 1 E. Madelaine (A. Cansado) GridComp project OASIS team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis GridComp.
2. CALCULUS: A S P. A Theory of Distributed Objects D. Caromel, L. Henrio, Springer 2005, Monograph A Calculus: ASP: Asynchronous Sequential Processes.
Model Generation for Distributed Java Programs Rabéa Boulifa Eric Madelaine Oasis Team INRIA, Sophia-Antipolis France, I3S, UNSA Luxembourg, November 28,
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
Systems Analysis and Design With UML 2
Behavioural Models for Distributed Hierarchical Components
Distributed Components and Futures: Models and Challenges
UML profiles.
Paper written by Flavio Oquendo Presented by Ernesto Medina
The Grid Component Model and its Implementation in ProActive
Presentation transcript:

Specifying Fractal and GCM Components With UML Solange Ahumada, Ludovic Apvrille, Tomás Barros, Antonio Cansado, Eric Madelaine and Emil Salageanu SCCC 2007 November 8-9 th, Iquique, Chile

Introduction ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References ➢ Strong emphasis on system specification methods and tools ➢ Component-Based Software Development ➢ UML 2 [1]  Component Diagrams ➢ Specification ➢ Informalnon-expert users ambiguity  ➢ Formal expert user, longer time  precise  verification ➢ Textual or Graphical

Our contribution: ➢ A UML-based framework and tool for specifying and model checking software components ➢ A novel UML profile proposal dedicated to distributed and asynchronous software components ➢ Grid applications ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References

State of the art of component models ➢ Fractal [2] ➢ Hierarchical component model ➢ Component, controller, content, interface and binding. ➢ Behavior protocol between components ➢ Graphical editor, but no modelling tool. ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References

State of the art of component models Grid Component Model (GCM) [3] ➢ Extension of Fractal to distributed applications ➢ Asynchronous method calls ➢ Implementation: ProActive [6] ➢ Active object ➢ Future value: rendez-vous f( ) future(x) ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References

State of the art of component models Grid Component Model (GCM) [3] ➢ Extension of Fractal to distributed applications ➢ Asynchronous method calls ➢ Implementation: ProActive [6] ➢ Active object ➢ Future value: rendez-vous future(x) ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References

State of the art of component models Grid Component Model (GCM) [3] ➢ Extension of Fractal to distributed applications ➢ Asynchronous method calls ➢ Implementation: ProActive [6] ➢ Active object ➢ Future value: rendez-vous future(x) f( ) future(x) ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References

State of the art of component models Grid Component Model (GCM) [3] ➢ Extension of Fractal to distributed applications ➢ Asynchronous method calls ➢ Implementation: ProActive [6] ➢ Active object ➢ Future value: rendez-vous update use(x) update ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References

State of the art of component models ➢ Turtle [4] Model ➢ Ludovic Apvrille, ENST, LabSoC Laboratory ➢ UML(1.4) profile dedicated to the modelling and formal validation of real- time systems ➢ Formal semantics for UML ➢ Set of diagrams ➢ Implemented by TTool ➢ Analyze of possible system errors ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References

State of the art of component models ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References

State of the art of component models  UML 2 components and Fractal  Vladimir Mencl and Matej Polak, Charles University, Prague Distributed System Research Group  Mapping from Fractal to UML 2 (no behavior)  Component:  hierarchy / nested components  provided and required interfaces  attributes  Port  has provided and required Interfaces  has multiplicity (=> collection interfaces) ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References

State of the art of component models  Connectors  Cannot be linked to interfaces (only to ports)  Interfaces via Ports:  Only one interface per port.  Position of interface client/server.  Boolean attribute: mandatory or optional. ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References

CTTool Overview ➢ Based on UML 2 ➢ Fractal component model ➢ Editor + verification environment using TTool code base ➢ generation of Lotos code ➢ bridges to CADP toolset ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References

Producer-Consumer Case-Study ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References

CTTool: Composite Structure Diagrams ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References

CTTool: State Machine Diagrams ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References

CTTool: use of CADP toolbox ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References

Specifying GCM/ProActive Components ➢ Limitations ➢ Asynchronous method calls: queue, proxy. ➢ Serving Policy ➢ Multiplicity ➢ Multicast / Gathercast interfaces ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References

Language Extensions ➢ A GCM/ProActive component provides: ➢ Request queue ➢ Service thread ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References

Language Extensions ➢ New graphical construct for modelling the behaviour of an active component ➢ Region diagrams ➢ Sub-regions contains state machines diagrams ➢ Service policy of the component ➢ FIFO by default ➢ States of the lifecycle ➢ InitActivity ➢ RunActivity ➢ EndActivity ➢ Service methods offered by the component ➢ Sub-machines ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References

Language Extensions

➢ Multicast client interface ➢ A client interface connected to N server interfaces. ➢ Gathercast server interface ➢ N client interfaces connected to a single server interface. ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References

Conclusion ➢ Fractal and GCM components can be specified using UML 2 diagrams for specifications of architecture and behaviour. ➢ The graphical specification language is formal enough to be model-checked ➢ CTTool tested in a large scale case- study ➢ Common Component Modelling Example (CoCoME) [5] ➢ 16 components, 5 of them being composites ➢ 5 layers of hierarchy ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References

Conclusion ➢ Common Component Modelling Example (CoCoME) [5] ➢ Generation of LOTOS model for model- cheking in CADP: ➢ 81 distinc transition labels ➢ Before reduction: 1.25 million states / 3 million transitions ➢ After reduction: 9800 states / transitions ➢ Basis for addressing distributed components specification ➢ To create a new UML profile for dealing with distributed active components. ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References

References [1] UML 2.0 Superstructure Specification, omg, Oct [2] E. Bruneton, T. Coupaye, M. Leclercp, V. Quema, and J. Stefani, “An open component model and its support in java.” in 7th Int. Symp. On Component-Based Software Engineering (CBSE-7), ser. LNCS 3054, may [3] OASIS team and other partners in the CoreGRID Programming Model Virtual Institute, “Basic features of the grid component model (assessed),” 2006, deliverable D.PM.04, CoreGRID, Programming Model Institute. [4] L. Apvrille, J.-P. Courtiat, C. Lohr, and P. de Saqui- Sannes, “TURTLE: A Real-Time UML Profile Supported by a Formal Validation Toolkit,” IEEE transactions on software Engineering, vol. 30, no. 7, jul [5] “Common component modelling example (cocome).” [Online]. Available: [6] D. Caromel, C. Delb´e, A. di Costanzo, and M. Leyton, “Proactive: an integrated platform for programming and running applications on grids and p2p systems,” Computational Methods in Science and Technology, vol. 12, no. 1, pp. 69–77, ➢ Introduction ➢ Our contribution ➢ State of the art of component models ➢ Fractal ➢ GCM ➢ Turtle ➢ UML 2 and Fractal ➢ CTTool ➢ overview ➢ CSD ➢ SMD ➢ tools ➢ GCM/ProActive components ➢ Language Extensions ➢ Conclusion ➢ References