An Object-Z based Metamodel for Wright Joint work with M. Maouche 2, and M. Mosteghanemi 1 Presented by M. Bettaz 1 1 MESRS/ESI Algeria 2 Philadelphia.

Slides:



Advertisements
Similar presentations
Three-Step Database Design
Advertisements

Jeremy S. Bradbury, James R. Cordy, Juergen Dingel, Michel Wermelinger
Issue 134 Metamodel for OWL 2 Peter Haase, Elisa Kendall, Boris Motik, Evan Wallace.
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Addressing Non-Functional Properties in Software Architecture using ADL Christopher Van Eenoo Osama Hylooz Khaled Khan University of Western Sydney ASWEC.
1Model Driven Architecture – 3. März 2008 – Siegfried Nolte 1.UML – What is it and what is it good for ? 2.MDA – What is it and what is it good for ? 3.MDA.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
Architecture Representation
Irina Rychkova. 9/20061 Systemic approach towards model definition Model transformation semantics.
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
Detail Design Extending UML and Object Design. Object Design.
1 / 28 Harmony: An Approach and Tool for Combining Semi-formal and Formal Notations in Software Specification CS 791z Topics on Software Engineering Instructor’s.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Data and Process Modeling
© Copyright Eliyahu Brutman Programming Techniques Course.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
4.4 Naming And Directory Services Lakshmi Narayana Gupta Kollepara 09/20/2009 CSC-8320.
® Eurostep.ESUKPC v0.1©Copyright Eurostep Limited An Introduction to ISO STEP Part 25 David Price.
10 December, 2013 Katrin Heinze, Bundesbank CEN/WS XBRL CWA1: DPM Meta model CWA1Page 1.
© Drexel University Software Engineering Research Group (SERG) 1 Based on the paper by Philippe Kruchten from Rational Software.
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
Introduction to MDA (Model Driven Architecture) CYT.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
What is MOF? The Meta Object Facility (MOF) specification provides a set of CORBA interfaces that can be used to define and manipulate a set of interoperable.
Software Architecture in Practice Architectural description (The reduced version)
1 Devon M. Simmonds Metadata & The UML Metamodel SLIDES include some from tvarious sources including: (1)
Validated Model Transformation Tihamér Levendovszky Budapest University of Technology and Economics Department of Automation and Applied Informatics Applied.
Ontologies Reasoning Components Agents Simulations Structural Modeling with UML2 Jacques Robin.
ISO/IEC CD and WD : Core Model and Model Mapping ISO/IEC JTC1/SC32/WG September 2005, Toronto SC32/WG2 Japan (Kanrikogaku Ltd) Masaharu.
SaveUML System design. System overview Possible...
Uml is made similar by the presence of four common mechanisms that apply consistently throughout the language. After constructing or developing the architecture.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
A language to describe software texture in abstract design models and implementation.
Composition of UML Described Refactoring Rules Presented by Chin-Yi Tsai.
CHAPTER 6 - MODELING ANH AU. BACKGROUND Architectural model – an artifact that captures some or all of the design decisions that comprise a system’s architecture.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Modeling the ODP Computational Viewpoint with UML 2.0: The Templeman Library Example José Raúl Romero, Antonio Vallecillo Universidad de Málaga, Spain.
All Presentation Material Copyright Eurostep Group AB ® A Meta-model of EXPRESS in UML for MOF and UML to EXPRESS David Price April 2002.
Wright ADL Liz White INFT Software Architecture.
Software Architecture-Definition According to Shaw [1], the software architecture of a system is an abstract representation of the system’s components,
XASTRO-2 Presentation CCSDS SAWG th November 2004.
1 5/18/2007ã 2007, Spencer Rugaber Acme Architectural interchange language – CMU and ISI Extensible Tool support –AcmeStudio.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
® IBM Software Group A Metamodeling Approach to Pattern Specification Maged Elaasar 1,2, Dr. Lionel Briand 1, Dr. Yvan Labiche 1 1 Carleton University,
Nigel Baker UWE & CERN/EP-CMA Design Patterns for Integrating Product and Process Models The C.R.I.S.T.A.L. Project ( C ooperative R epositories & I nformation.
GME-MOF: The MOF-Based GME Metamodeling Environment Matt Emerson 10/24/2004 Advisor: Dr. Janos Sztipanovits OOPSLA 2004 Domain-Specific Modeling Workshop.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
2000 Research Overview Dr. Kim Mens Programming Technology Lab Vrije Universiteit Brussel.
Interpreting the Object Constraint Presented by: Ed Kausmeyer.
Architecture Description Languages (ADLs) Cf. Architecture Analysis and Design Languages.
An Object-Z / CSP Based Approach for the Specification of Architectural Connectors Mourad Maouche Philadelphia University Jordan Mohamed Bettaz MESRS Algeria.
A UML-Based Pattern Specification Technique Presented by Chin-Yi Tsai IEEE TRANSACTION ON SOFTWARE ENGINEERING, VOL. 30, NO. 3, MARCH 2004 Robert B. France,
Architectural Design Rewriting as Architectural Description Language R. Bruni A. LLuch-Lafuente U. Montanari E. Tuosto.
Sheet 1MDAFA2004 Linköping, June 2004 A Language for Model Transformations in the MOF Architecture Ivan Kurtev, Klaas van den Berg University of Twente,
® IBM Software Group © 2009 IBM Corporation Viewpoints and Views in SysML Dr Graham Bleakley
1 A Multi-Paradigm Approach to Describe Software Systems presented by Adel Smeda.
Object Management Group Information Management Metamodel
SEAA 2014 Automatic Production of Transformation Chains Using Structural Constraints on Output Models Cuauhtémoc Castellanos Etienne Borde Thomas Vergnaud.
SysML v2 Formalism: Requirements & Benefits
Syntactic Requirements
Object-Oriented Analysis
Introduction to UML.
Architecture Description Languages
Constructing MDA-based Application Using Rational XDE for .NET
Software Architecture & Design
Presentation transcript:

An Object-Z based Metamodel for Wright Joint work with M. Maouche 2, and M. Mosteghanemi 1 Presented by M. Bettaz 1 1 MESRS/ESI Algeria 2 Philadelphia University Jordan 1IFIP WG 1.3, UDINE-Italy, September 12, 2009

Motivation Wright: a component model designed for formal description of software architecture. defined by an ADL (Architecture Description Language). Our interest in metamodeling of Wright is motivated by: The regain of interest in software architectural models supporting connectors (S. Kell, Rethinking Software Connectors, 2007), Wright is considered as a reference for formal architectural models, Wright provides support for connectors, Many component systems are leaving ADL-based definitions for metamodel based definitions (PALLADIO, PRISMA, SOFA 2, etc.). Benefits: Semi-automated creation of the development supporting tools, Semi-automated creation of runtime management tools. 2IFIP WG 1.3, UDINE-Italy, September 12, 2009

Using of Object-Z On one hand OMG has defined the MOF (Meta-Object Facilities) as a standard, MOF 2.x may be seen as a subset of UML 2.x, To get more precise descriptions, an association of MOF and OCL (Object Constraint Language) is used, OCL is based on first-order logic. On the other hand Transformation approaches from UML to Object-Z exist, Object-Z is based on set and first-order logic. This precisely motivates our use of Object-Z. 3IFIP WG 1.3, UDINE-Italy, September 12, 2009

Objective Build an Object-Z metamodel for Wright. Show, through a simplified client-server architecture example, how to derive a Wright model. IFIP WG 1.3, UDINE-Italy, September 12, 20094

The Approach Use of MOF - UML (without OCL) as an intermediary notation (conformity with the standards, reuse of results of works based on MOF). Transform UML metamodels into Object-Z notation to get more formal metamodels, which may be rigorously checked, and formally analysed (adapting of existing transformation techniques). 5IFIP WG 1.3, UDINE-Italy, September 12, 2009

Wright The Architectural abstractions: – components, – connectors, – configurations. 6IFIP WG 1.3, UDINE-Italy, September 12, 2009

A UML Metamodel of Wright Structural Aspects 7IFIP WG 1.3, UDINE-Italy, September 12, 2009

A UML Metamodel of Wright Behavioral Aspects 8 From [D. Bisztray, K. Ehrig, and R. Heckel, Case Study: UML to CSP transformation, 2007] with slight modifications. IFIP WG 1.3, UDINE-Italy, September 12, 2009

Transformation into Object-Z We use rules defined by Kim - Carrington, and Amalio – Polack (with some modifications). The UML definitions are based on theUML 1.4 specification. 9IFIP WG 1.3, UDINE-Italy, September 12, 2009

Classes, attributes and associations 10 UMLObject-Z UML classObjet-Z class schema multi-valued attributepower-set multiplicity constraintpredicate associationclass attribute, powerset or simple set (according to the multiplicity) linking of objects from different classes via roles predicates using the built-in self constant (holding the implicit identity of the object) IFIP WG 1.3, UDINE-Italy, September 12, 2009

Classes, attributes and associations Illustration 11IFIP WG 1.3, UDINE-Italy, September 12, 2009

Generalisation / Specialisations 12 UMLObject-Z inheritanceSchema inclusion subtyping‘enforced’ by polymorphism ( Object-Z inheritance does not imply subtyping). IFIP WG 1.3, UDINE-Italy, September 12, 2009

Generalisation / Specialisations: Illustration 13IFIP WG 1.3, UDINE-Italy, September 12, 2009

Association Classes 14 UMLObject-Z association-classa class with two attributes (representing the ends of the association) Association multiplicityIn relation with roles Predicates to enforce the semantics (eventuelly) IFIP WG 1.3, UDINE-Italy, September 12, 2009

Association Classes: Illustration 15IFIP WG 1.3, UDINE-Italy, September 12, 2009

Composition 16 UMLObject-Z component class, composite class according to the rules of classes and associations Containment relationshipsVia a ©, attached to the types of attributes and operations. IFIP WG 1.3, UDINE-Italy, September 12, 2009

Composition: Illustration 17IFIP WG 1.3, UDINE-Italy, September 12, 2009

Example: Deriving a Wright client-server model. Client-server connector Client-server components Client-server configuration IFIP WG 1.3, UDINE-Italy, September 12,

1. Client-server connector cs_con: instance of the class WrightConnector cs_con.roles = {c_role, s_role} cs_con.glue = cs_glue_desc IFIP WG 1.3, UDINE-Italy, September 12,

The client role c_role: instance of the class WrightRole c_role.protocol = crl_proc_cont c_role.connect = cs_con c_role.a-port = att_cl_p_cs_con IFIP WG 1.3, UDINE-Italy, September 12,

The server role s_role: instance of the class WrightRole s_role.protocol = srl_proc_cont s_role.connect = cs_con s_role.a-port= att_sv_p_cs_cont IFIP WG 1.3, UDINE-Italy, September 12,

The client-server glue cs_glue_desc : instance of the class WrightConnDesc cs_glue_desc.spec = cs_glue_proc_cont cs_glue_desc.connect = cs_con IFIP WG 1.3, UDINE-Italy, September 12,

Roles and glue protocols srl_proc_cont: protocol of the server role events associated to server role : srl_proc_cont : {srl_request, srl_reply} process expression: srl_proc_id = srl_request → srl_reply → srl_proc_id □ § crl_proc_cont: protocol of the client role events associated to client role: crl_proc_cont : {crl_request, crl_reply} process expression : crl_proc_id = crl_request → crl_reply → crl_proc_id § IFIP WG 1.3, UDINE-Italy, September 12,

cs_glue_proc_cont: protocol of the client-server glue events associated to glue : cs_glue_proc_cont : {srl_request, srl_reply, crl_request, crl_reply } process expression: cs_glue_proc_id = crl_request → srl_request → cs_glue_proc_id □ srl_reply → crl_reply → cs_glue_proc_id □ § IFIP WG 1.3, UDINE-Italy, September 12,

2. Client-server components: 2.1 The Client client : instance of the class WrigthComponent client.ports ={cl_p} client.specification = cl_desc IFIP WG 1.3, UDINE-Italy, September 12,

Client port cl_p : instance of the class WrithPort cl_p.protocol = cl_p_proc_cont cl_p.comp = client cl_p.a-roles = {att_cl_p_cs_con } IFIP WG 1.3, UDINE-Italy, September 12,

Client port protocol cl_p_proc_cont: instance of the class WrightCSpContainer associated events: cl_p_request, cl_p_reply process identifier: cl_p_proc_id = cl_p_request → cl_p_reply → cl_p_proc_id § IFIP WG 1.3, UDINE-Italy, September 12,

Client side Attachment att_cl_p_cs_con: instance of the class WrightAttachent att_cl_p_cs_con.a-role = c_role att_cl_p_cs_con.a-port = cl_p IFIP WG 1.3, UDINE-Italy, September 12,

Client component description cl_desc: instance of the class WrightCompDesc cl_desc.spec = cl_comp_proc_cont cl_desc.comp = client IFIP WG 1.3, UDINE-Italy, September 12,

Client component behavior cl_comp_proc_cont : instance of the class WrigthCspContainer associated events: internalCompute, cl_p_request, cl_p_reply process identifier: cl_comp_proc_id = internalCompute → cl_p_request → cl_p_reply → cl_comp_proc_id § IFIP WG 1.3, UDINE-Italy, September 12,

2. Client-server components: 2.2 The Server server : instance of class WrigthComponent server.ports ={sv_p} server.specification = sv_desc IFIP WG 1.3, UDINE-Italy, September 12,

Server port sv_p : instance of the class WrithPort sv_p.protocol = sv_p_proc_cont sv_p.comp = server sv_p.a-roles = {att_sv_p_cs_con} IFIP WG 1.3, UDINE-Italy, September 12,

Server port protocol sv_p_proc_cont: instance of the class WrightCSpContainer associated events: sv_p_request, sv_p_reply process identifier: sv_p_proc_id = sv_p_request → sv_p_reply → sv_p_proc_id □ § IFIP WG 1.3, UDINE-Italy, September 12,

Server side Attachment att_sv_p_cs_con: instance of the class WrightAttachent att_sv_p_cs_con.a-role = s_role att_sv_p_cs_con.a-port = sv_p IFIP WG 1.3, UDINE-Italy, September 12,

Server Component description sv_desc: instance of the class WrightCompDesc sv_desc.spec = sv_comp_proc_cont sv_desc.comp = server IFIP WG 1.3, UDINE-Italy, September 12,

Server Component behavior sv_comp_proc_cont : instance of the class WrigthCspContainer associated events: internalCompute, sv_p_request, sv_p_reply process identifier: sv_comp_proc_id = sv_p_request → InternalCompute → sv_p_reply → sv_comp_proc_id □ § IFIP WG 1.3, UDINE-Italy, September 12,

Client-server configuration cl_sv_conf : instance of the class WrigthConfiguration cl_sv_conf.components = {client, server} cl_sv_conf.connectors = {cs_con} cl_sv_conf.attachements = { att_cl_p_cs_con, att_sv_p_cs_con} IFIP WG 1.3, UDINE-Italy, September 12,

Concluding remarks Checking the validity of the built metamodel. – directly? How? – Indirectly: through a mapping between our metamodel and a ‘valid’ metamodel of Wright, built for instance using UML or graph transformation? Checking the validity of a Wright model. – Might be done by deriving (automatiquely) an instance of our meta-model, and showing that the derived instance satisfies the predicates specified in our meta-model. IFIP WG 1.3, UDINE-Italy, September 12,

Some References 1.R. Allen, A Formal Approach to Software Architecture, PhD thesis, S-K. Kim and D. Carrington, A Formal Mapping between UML Models and Object-Z Specifications, N. Amalio and F. Polack, Comparison of Formalisation Approaches of UML Class Constructs in Z and Object-Z, D. Roe et al., Mapping UML Models incorporating OCL Constraints into Object-Z, J. Ivers et al., Documenting Component and Connector Views with UML 2.0, P. Hentynka, F. Plasil, The Power of MOF-based Mata-modeling of Components, M. Navarčík, Using UML with OCL as ADL, M. Bettaz, M. Maouche, Towards Mobile Z Schemas, S. Kell, Rethinking Software Connectors, D. Bisztray, K. Ehrig, and R. Heckel, Case Study: UML to CSP transformation, M. Bettaz, M. Maouche & R. Heckel, From Graph Transformation to Z Notation, 2008, 39IFIP WG 1.3, UDINE-Italy, September 12, 2009