MDA & RM-ODP. Why? Warehouses, factories, and supply chains are examples of distributed systems that can be thought of in terms of objects They are all.

Slides:



Advertisements
Similar presentations
1 UML ++ Mohamed T IBRAHIM University of Greenwich -UK.
Advertisements

Ontology From Wikipedia, the free encyclopedia In philosophy, ontology (from the Greek oν, genitive oντος: of being (part. of εiναι: to be) and –λογία:
OASIS Reference Model for Service Oriented Architecture 1.0
Object-Oriented Analysis and Design
Introduction To System Analysis and Design
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Using Architecture Frameworks
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
© Copyright Eliyahu Brutman Programming Techniques Course.
1 ECCF Training 2.0 Introduction ECCF Training Working Group January 2011.
Web Service Architecture Part I- Overview and Models (based on W3C Working Group Note Frank.
Systems Engineering Foundations of Software Systems Integration Peter Denno, Allison Barnard Feeney Manufacturing Engineering Laboratory National Institute.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
Foundations This chapter lays down the fundamental ideas and choices on which our approach is based. First, it identifies the needs of architects in the.
LUCENTIA Research Group Department of Software and Computing Systems Using i* modeling for the multidimensional design of data warehouses Jose-Norberto.
Object Oriented Analysis and Design Using the UML
Trisha Cummings.  Most people involved in application development follow some kind of methodology.  A methodology is a prescribed set of processes through.
The chapter will address the following questions:
Semantic Web Technologies Lecture # 2 Faculty of Computer Science, IBA.
ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
Slide 1 Wolfram Höpken RMSIG Reference Model Special Interest Group Second RMSIG Workshop Methodology and Process Wolfram Höpken.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
Copyright © 2013 Curt Hill The Zachman Framework What is it all about?
Introduction to MDA (Model Driven Architecture) CYT.
SOEN 343 Software Design Section H Fall 2006 Dr Greg Butler
Introduction To System Analysis and Design
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
1 Software Design Overview Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13.
Conceptual Modelling – Behaviour
LOGIC AND ONTOLOGY Both logic and ontology are important areas of philosophy covering large, diverse, and active research projects. These two areas overlap.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
1 On Interactions in the RM-ODP Guy Genilloud, Gonzalo Génova WODPEC’2005 Workshop on ODP for Enterprise Computing * Information Engineering Group Departamento.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
1 ECCF Training 2.0 Introduction ECCF Training Working Group January 2011.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
COMP 6471 Software Design Methodologies Winter 2006 Dr Greg Butler
ESDI Workshop on Conceptual Schema Languages and Tools
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Towards a Reference Quality Model for Digital Libraries Maristella Agosti Nicola Ferro Edward A. Fox Marcos André Gonçalves Bárbara Lagoeiro Moreira.
Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  The concept of Data, Information and Knowledge  The fundamental terms:  Database and database system  Database.
Fusion Design Overview Object Interaction Graph Visibility Graph Class Descriptions Inheritance Graphs Fusion: Design The overall goal of Design is to.
Software Engineering Lecture 10: System Engineering.
DISCUSSION ABOUT REGISTRATION OF RM-ODP LIBRARY EXAMPLE BASED ON MFI Yuan Lin, Wang Jian, Wang Chong, Liang Peng, Feng Zaiwen.
Application Analysis. Application Interaction Model The purpose of analysis is to understand the problem so.
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 1Ver.: 1.0 How does intelligent functionality implemented.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
CS551 - Lecture 6 1 CS551 Modelling with Objects (Chap. 3 of UML) Yugi Lee STB #555 (816)
Databases and Database User ch1 Define Database? A database is a collection of related data.1 By data, we mean known facts that can be recorded and that.
Object Management Group Information Management Metamodel
Ontology From Wikipedia, the free encyclopedia
State Machine Diagrams
By Dr. Abdulrahman H. Altalhi
Object-Oriented Analysis
Chapter 2 Database Environment Pearson Education © 2009.
Unified Modeling Language
Introduction to UML.
Chapter 2 Database Environment Pearson Education © 2009.
Chapter 2 Database Environment Pearson Education © 2009.
Software Architecture & Design
Presentation transcript:

MDA & RM-ODP

Why? Warehouses, factories, and supply chains are examples of distributed systems that can be thought of in terms of objects They are all software-intensive (dependent), so perhaps looking at them from the software architecting and engineering perspective will help us with design and management problems

Standards in Software “Architecting” MDA: Model Driven Architecture, OMG (Object Management Group) RM-ODP: Reference Model for Object- Oriented Distributed Processing

Model Driven Architecture (MDA) TWO APPROACHES IN SYSTEM MODELING AND THEIR ILLUSTRATIONS WITH MDA AND RM-ODP Andrey Naumenko, Alain Wegmann Laboratory of Systemic Modeling, Swiss Federal Institute of Technology - Lausanne, EPFL-I&C-LAMS,1015 Lausanne, Switzerland “These models belong to diverse independent domains of interest with regard to the universe of discourse that they represent.” “For a given domain of interest, its corresponding meta- model defines relations between different conceptual categories that exist in the domain models, as well as the meaning of each modeling concept.”

MDA Pros –Very flexible, the universe of discourse is simply a subject for modeling –You can model just about anything Cons –Very flexible –No “authority” to say what is in the meta- model or the meta- meta-model, so it’s not possible to state that two 4L-M1 models actually model the same universe of discourse

RM-ODP Next level (3L-M1) contains models: one per each of the universes of discourse that are interesting for modeling. The models have a uniform structure; that is, all of them use the same modeling framework that is defined in a meta-model presented on the level 3L-M2. The meta-model defines relations between different conceptual categories existing in the 3L-M1 models as well as the meaning of each modeling concept used in the 3L-M1 models. On the 3L-M1 level the models are disintegrated into their diverse domain-specific viewpoints. Since all the 3L-M1 models have a uniform structure, the structure of viewpoints is also the same for all of the models. That is, if a specific viewpoint can be defined as relevant for one of the 3L-M1 models, then it will be automatically relevant for all the other 3L-M1 models, because all the 3L-M1 models use the same modeling framework defined in their common 3L-M2 meta-model.

RM-ODP Pros –The universe of discourse already has been analyzed –“Determinism” of the 3L-M1 models enables formal modeling of “viewpoints” Cons –Very structured, which makes it harder to agree on what is the “model” (but at least when you do there is an “authority”) –Viewpoints are limited by the underlying ontology

RM-ODP Basics “universe of discourse” corresponds to what is perceived as being reality by the developer. “entity: any concrete or abstract thing of interest” [clause 6.1]. “proposition: an observable fact or state of affairs involving one or more entities, of which it is possible to assert or deny that it holds for those entities.” [clause 6.2].

More Basics “model”: representation of the universe of discourse made for a specific purpose “model element”: in the model the representation of an entity from the universe of discourse “quality”: in the model the representation of a proposition from the universe of discourse

Entities and Objects An entity can be modeled either as an object, or as part of an object (if the object represents a system), or as part of an object’s environment. RM-ODP defines: – “object: a model of an entity…” [clause 8.1]. – “environment (of an object): the part of the model which is not part of that object” [clause 8.2]. An object always interacts with its environment (and never directly with another object). By stating this, we acknowledge the fact that each object has its own model of its environment and that the environment mediates the communication between the different objects.

To characterize an object or its environment, we have defined two kinds of information [18]: “behavioral information” describing the behavior “structural information” describing the state The behavioral information and the structural information are a partition of the information on the object. Information is defined in RM-ODP as “any kind of knowledge, that is exchangeable amongst users, about things, facts, concepts and so on, in a universe of discourse” [clause 3.2.5]. Objects and Environment

RM-ODP defines the following behavioral information elements: “behavior: a collection of actions, with a set of constraints on when they may occur” [clause 8.6], “action: something which happens.” [clause 8.3]. RM-ODP further defines the concept of action by stating “the set of actions associated with an object can be partitioned into internal actions and interactions. An internal action always takes place without the participation of the environment of the object. An interaction takes place with the participation of the environment of the object.” [clause 8.3] Behavior

State … add two concepts, belonging to the structural information, and which are dual to actions and behavioral constraints. These concepts are: “structural information element”: at a given instant in time something perceived by an object or its environment or exchanged between the object and its environment. The set of structural information elements associated with the object or the environment can be partitioned into attributes and parameters. Attributes are accessed by internal actions. Parameters are accessed or modified exclusively within interactions. “structural constraint”: relationship between two or more structural elements. Constraints might include, for example, reference between structural elements or existence within the life cycle of another structural element.

To be able to precisely model the exchanges between an object and its environment (and thus between objects), we need to explicitly add the concepts of: “client interaction: interaction initiated by an object towards its environment.” “server interaction: interaction initiated by the environment towards an object”. With the client interaction, the object externalizes information. Interactions

Roles and Interfaces Roles and interfaces are two kinds of behavior abstractions (role is a subset of actions and behavioral constraints of an object participating to a collective behavior; interface is a subset of interactions and behavioral constraints of an object). For this reason, we believe that role and interface should be in the same category. We suggest putting both concepts in the basic modeling concepts (where interface is currently defined).

Time Time is needed to define state (information at a specific time). Time is also needed to define actions (difference of state at different moments of time), and interaction (information exchanged between an object and its environment between the beginning of the interaction and its completion).

Model Concepts and Specification A Formal Foundation of the RM-ODP Conceptual Framework Andrey Naumenko, Alain Wegmann Institute for computer Communication and Applications, Swiss Federal Institute of Technology – Lausanne. EPFL-DSC-ICA, CH-1015 Lausanne, Switzerland {Andrey.Naumenko,

Schema To specify the behavioral and structural information of an object, we can refer to the clause 6.1 in RM-ODP part 3 [10]. It introduces the necessary schemas needed to define an object3. These schemas are: “invariant schema: a set of predicates on one or more information objects that must always be true. The predicates constraint the possible states and state changes of the objects to which they apply.” [10, part 3, clause 6.1.1] “static schema: a specification of the state of one or more information object at some point in time, subject to the constraints of any applicable invariant schemata.” [10, part 3, clause 6.1.2] “dynamic schema: a specification of the allowable state changes of one or more information object, subject to the constraints of any applicable invariant schemata.” [10, part 3, clause 6.1.3]

By representing both structural and behavioral information in the invariant, the developer can make a more precise model. An invariant is always true in the context in which it is defined. Such context is typically the lifetime of an information object (as said in [clause 9.22]).

Actions An action can be defined by the concepts of: “pre-condition: a predicate that a specification requires to be true for an action to occur.” [clause 9.23] “post-condition: a predicate that a specification requires to be true immediately after the occurrence of an action.” [clause 9.24] “invariant: a predicate that a specification requires to be true for the entire lifetime of a set of objects.” [clause 9.22] (only actions allow us to specify in a single construct something at two points in time - before the action and after the action)

Policy “policy”: predicate that states conditions valid at specific moments of time during an action occurrence. A policy for an action is essentially a constraint of any kind that is relevant with regard to the action. Policies can be used to make explicit the design goals and design choices for action refinements. For example, a policy for the operation of a software application might state that at some point in time its user will have to key-in sequentially several identifiers.

Abstraction/Refinement “refinement: the process of transforming one specification into a more detailed specification.” [clause 9.5], and “abstraction: the process of suppressing irrelevant detail to establish a simplified model, or the result of that process”. [clause 6.3]

Questions How might an RM-ODP like methodology help in analyzing or designing discrete event logistics systems?