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.

Slides:



Advertisements
Similar presentations
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Advertisements

UML (cont.) “The Unified Modeling Language User Guide” by G. Booch, J. Rumbaugh and I. Jacobson ● Classes ● Relationships ● Class diagrams ● Examples.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
SEG4110 – Advanced Software Design and Reengineering TOPIC D Metamodelling.
Computer Science Dept. Fall 2003 Object models Object models describe the system in terms of object classes An object class is an abstraction over a set.
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Object-Oriented PHP (1)
Chapter Object-Oriented Practices. Agenda Object-Oriented Concepts Terminology Object-Oriented Modeling Tips Object-Oriented Data Models and DBMSs.
Inheritance and Class Hierarchies Chapter 3. Chapter 3: Inheritance and Class Hierarchies2 Chapter Objectives To understand inheritance and how it facilitates.
©Silberschatz, Korth and Sudarshan8.1Database System Concepts Chapter 8: Object-Oriented Databases Need for Complex Data Types The Object-Oriented Data.
UML Class Diagram and Packages Written by Zvika Gutterman Adam Carmi.
1 SWE Introduction to Software Engineering Lecture 23 – Architectural Design (Chapter 13)
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
Unified Modeling Language (UML)
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
II. Middleware for Distributed Systems
Lecture a: Additional UML Models: Package, Activity, Deployment Lecture b: Generalization, Aggregation and Additional Domain Model Notation Copyright W.
Chapter 10 Classes Continued
Ontologies Reasoning Components Agents Simulations Basic Structural Modeling with UML2 Jacques Robin.
Modelling classes Drawing a Class Diagram. Class diagram First pick the classes –Choose relevant nouns, which have attributes and operations. Find the.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra,
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
® Eurostep.ESUKPC v0.1©Copyright Eurostep Limited An Introduction to ISO STEP Part 25 David Price.
Object-Oriented Analysis and Design
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
DBMS Lecture 9  Object Database Management Group –12 Rules for an OODBMS –Components of the ODMG standard  OODBMS Object Model Schema  OO Data Model.
Model Transformations
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
Metadata Tools and Methods Chris Nelson Metanet Conference 2 April 2001.
Introduction to MDA (Model Driven Architecture) CYT.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix A Object-Oriented.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
Ontologies Reasoning Components Agents Simulations Structural Modeling with UML2 Jacques Robin.
UML Class Diagrams and Caché CAMTA Meeting – 1 st December 2011 John Murray Senior Product Engineer.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
UML Class Diagram Trisha Cummings. What we will be covering What is a Class Diagram? Essential Elements of a UML Class Diagram UML Packages Logical Distribution.
Lecture 1: UML Class Diagram September 12, UML Class Diagrams2 What is a Class Diagram? A class diagram describes the types of objects in the system.
Relationships Relationships between objects and between classes.
1 Class Diagrams. 2 Overview Class diagrams are the most commonly used diagrams in UML. Class diagrams are for visualizing, specifying and documenting.
Ontologies Reasoning Components Agents Simulations Architectural Modeling with UML2 Composite Structures and Components Jacques Robin.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
All Presentation Material Copyright Eurostep Group AB ® A Meta-model of EXPRESS in UML for MOF and UML to EXPRESS David Price April 2002.
Inheritance and Class Hierarchies Chapter 3. Chapter 3: Inheritance and Class Hierarchies2 Chapter Objectives To understand inheritance and how it facilitates.
Inheritance and Class Hierarchies Chapter 3. Chapter Objectives  To understand inheritance and how it facilitates code reuse  To understand how Java.
Chapter 11: Advanced Inheritance Concepts. Objectives Create and use abstract classes Use dynamic method binding Create arrays of subclass objects Use.
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.
Object Modeling THETOPPERSWAY.COM. Object Modelling Technique(OMT)  Building a model of an application domain and then adding implementation.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: UML 2 Metamodel Note to Instructor: The material in this.
Terms and Rules II Professor Evan Korth New York University (All rights reserved)
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Sheet 1MDAFA2004 Linköping, June 2004 A Language for Model Transformations in the MOF Architecture Ivan Kurtev, Klaas van den Berg University of Twente,
Inheritance a subclass extends the functionality of a superclass a subclass inherits all the functionality of a superclass don't reinvent the wheel – "stand.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
SysML v2 Formalism: Requirements & Benefits
Business Process Measures
The OMG Approach (continued)
UML Class Diagrams: Basic Concepts
Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel
Lec 3: Object-Oriented Data Modeling
Chapter 4 Advanced Class Modeling
Chapter 20 Object-Oriented Analysis and Design
Object-Oriented Knowledge Representation
Presentation transcript:

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 metamodels. The MOF is a key building block in the construction of CORBA based distributed development environments.

What is MOF? This specification enhances meta data management and meta data interoperability in distributed object environments in general, and in distributed development environments in particular. The MOF also defines a simple meta-metamodel with sufficient semantics to describe metamodels in various domains starting with the domain of object analysis and design. Integration of metamodels across domains is required for integrating tools and applications across the life cycle using common semantics.

MOF Meta-modeling Terminology meta-data -- is used to refer to data whose purpose is to describe other data. meta-model -- is used to refer to a model of some kind of meta-data. – An Object modeling language closely related to UML. – Used to define the structure and semantics of general or domain specific meta-models; meta-object-- is used to refer to an abstract or technology specific object that represents meta-data.

MOF’s architecture A layered meta-data architecture Key feature: a meta-meta-modeling layer

Four Layer Meta-data Architectures user object layer model layer meta-model layer meta-meta-model layer

Four Layer Meta-Data Architecture

The MOF Meta-data Architecture

Important features object-oriented self-describing -- Meta-modeling constructs validation. -- interfaces and behaviour defined by MOF IDL mapping to the MOF Model. Architectural basis for future extensions and modifications

MOF Model - Meta-modeling Constructs Four main modeling concepts Classes Associations DataTypes Packages

Classes -- Structural features Attribute name type isChangeable isDerived multiplicity

Classes -- Structural features Operations name A list of positional Parameters -- name, type, direction of “in” or “out”, or “in out”, multiplicity specification An optional return type. A list of Exceptions that can be raised by an invocation.

Attribute and Operation Scoping classifier level stance level -- instance-level Operation can only be invoked on an instance of a Class and will typically apply to the state of that instance. -- By contrast, a classifier-level operation can be invoked independently of any instance, and can apply to any or all in instances in the class extent.

Attribute and Parameter Multiplicities An Attribute or Parameter may be optional-valued, single-valued or multi-valued, depending on its multiplicity specification. This consists of three parts: -- The “lower” and “upper” fields -- A single-valued Attribute or Parameter has lower bound 1 and upper bound 1. --“is_ordered” flag

Class Generalization A Class cannot generalize itself, either directly or indirectly. A Class cannot generalize another Class if the sub- Class contains a model element with the same name as a model element contained or inherited by the super-Class;i.e. no over-riding is allowed. When a Class has multiple super-Classes, no model elements contained or inherited by the super-Classes can have the same name.

Abstract Classes -- used solely for the purpose of inheritance. Leaf and Root Classes --leaf prevents prevent the creation of any sub-Classes. --Declaring a Class as a root prevents the declaration of any super-Classes.

Associations For expressing the relationships in a meta- model.

Association Ends Two Association Ends describing the two ends of links. The Association Ends define the following properties: – a name – a type – a multiplicity specification – an aggregation specification – a “navigability” – a “change ability”

Association End Multiplicities Important differences between Association End - a multiplicity specification & Attribute - Operation multiplicities, -- Application -- Semantics of Equality for MOF Values

DataTypes To use attribute and operation parameter values. Two kinds of type: -- types without object identity; --Reuse “external” types; i.e. types which are defined

Packages MOF Model construct for grouping elements into a meta-model. Packages serve two purposes in : -- M2 level --M1 level

Package Generalization The relationship between instances of the super- and sub- Packages is similar to relationship between instances of super- and sub-Classes: A sub-Package instance is type substitutable for instances of its super-Packages; i.e. the sub-Package instance “IS_A” super- Package instance. A sub-Package instance does not use or depend on an instance of the super-Package; i.e. there is no “IS_PART_OF” relationship. “root” or “leaf” Packages but “abstract” Packages are not supported.

Package Nesting restrictions on how nested Packages can be composed: --A nested Package may not generalize or be generalized by other Packages. --A nested Package may not be imported or clustered by other Packages.

Package Importing The importing Package can declare: Attributes, Operations or Exceptions using imported Classes or DataTypes, Operations that raise imported Exceptions, DataTypes and Constants using import DataTypes or Constants, Classes whose super types are imported Classes, Associations for which the types of one or both Association Ends is an imported Class.

Package Clustering The lifecycle of a clustered Package instance is bound to the lifecycle of its cluster Package instance: When the user creates an instance of a cluster Package, an instance of each of its clustered Packages is created automatically. The instances of the clustered Packages created above all belong to the same cluster Package extent. Deleting a cluster Package instance automatically deletes its clustered Packaged instances, and the clustered Package instances cannot be deleted except as part of the deletion of the cluster Package instance.

Meta-models and Mappings Mapping approach used to instantiate MOF meta- models and meta-data in the context of a given implementation technology. high-level overviews of the OMG MOF technology mappings defined to date. --- CORBA Meta-data Services - The MOF IDL Mapping --- Meta-data Interchange - The MOF XML Mapping

Applications of MOF --Software Development Scenarios --Type Management Scenarios --Information Management Scenarios --Data Warehouse Management Scenarios