Ontologies Reasoning Components Agents Simulations Structural Modeling with UML2 Jacques Robin.

Slides:



Advertisements
Similar presentations
SEG4110 – Advanced Software Design and Reengineering TOPIC D Metamodelling.
Advertisements

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
UML Class Diagram. UML Class Diagrams2 Agenda What is a Class Diagram? Essential Elements of a UML Class Diagram Tips.
2-1 © Prentice Hall, 2007 Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
UML – Class Diagrams.
UML Class Diagram and Packages Written by Zvika Gutterman Adam Carmi.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 The Enhanced Entity- Relationship (EER) Model.
Chapter 14 (Web): Object-Oriented Data Modeling
7M701 1 Class Diagram advanced concepts. 7M701 2 Characteristics of Object Oriented Design (OOD) objectData and operations (functions) are combined 
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Copyright 2004 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Second Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Appendix.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 Class and Object Diagrams PRACTICAL OBJECT-ORIENTED DESIGN WITH.
7M822 UML Class Diagrams advanced concepts 15 September 2008.
7M822 UML Class Diagrams advanced concepts 14 October 2010.
Ontologies Reasoning Components Agents Simulations Basic Structural Modeling with UML2 Jacques Robin.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra,
Ontologies Reasoning Components Agents Simulations Agent Modeling Language: An Overview Wendell Véras Vinícius Remígio Jacques Robin.
Chapter 14: Object-Oriented Data Modeling
UML Class Diagrams: Basic Concepts. Objects –The purpose of class modeling is to describe objects. –An object is a concept, abstraction or thing that.
Chapter 41 Enhanced Entity-Relationship and Object Modeling.
Ontologies Reasoning Components Agents Simulations Agent Modeling Language: Behavioral Models Rafael Oliveira Ricson Santana Vinícius Remigo Jacques Robin.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
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.
Database Management System Prepared by Dr. Ahmed El-Ragal Reviewed & Presented By Mr. Mahmoud Rafeek Alfarra College Of Science & Technology Khan younis.
Object Oriented Analysis & Design & UML (Unified Modeling Language)1 Part V: Design The Design Workflow Design Classes Refining Analysis Relationships.
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.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
Lab 04.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
CHAPTER 13 (ONLINE): OBJECT-ORIENTED DATA MODELING © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
1 © Prentice Hall, 2002 Chapter 14: Object-Oriented Data Modeling Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R.
© 2009 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 15: Object-Oriented Data Modeling Modern Database Management 9 h Edition Jeffrey A.
© 2011 Pearson Education, Inc. Publishing as Prentice Hall 1 Chapter 13 (Online): Object-Oriented Data Modeling Modern Database Management 10 th Edition.
CHAPTER 13: OBJECT-ORIENTED DATA MODELING (OVERVIEW) © 2013 Pearson Education, Inc. Publishing as Prentice Hall 1 Modern Database Management 11 th Edition.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
Unified Modeling Language © 2002 by Dietrich and Urban1 ADVANCED DATABASE CONCEPTS Unified Modeling Language Susan D. Urban and Suzanne W. Dietrich Department.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 03. Classes,
CS212: Object Oriented Analysis and Design Lecture 13: Relationship between Classes.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
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.
Object-Oriented Data Modeling
Design Model Lecture p6 T120B pavasario sem.
Relationships Relationships between objects and between classes.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Ontologies Reasoning Components Agents Simulations Architectural Modeling with UML2 Composite Structures and Components Jacques Robin.
UML / UML 2.0 Diagrams (Part I) 1. Overview of the 13 diagrams of UML Structure diagrams 1.Class diagram 2.Composite structure diagram (*) 3.Component.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
CS212: Object Oriented Analysis and Design Lecture 33: Class and Sequence Diagram.
Chapter 16 UML Class Diagrams 1CS6359 Fall 2012 John Cole.
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
Object Modeling THETOPPERSWAY.COM. Object Modelling Technique(OMT)  Building a model of an application domain and then adding implementation.
ITEC0724 Modern Related Technology on Mobile Devices Lecture Notes #2 1.
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
CHAPTER 13: OBJECT-ORIENTED DATA MODELING (OVERVIEW) Modern Database Management 11 th Edition Jeffrey A. Hoffer, V. Ramesh, Heikki Topi © 2013 Pearson.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Chapter 9: Relationships Chapter 10: Inheritance and Polymorphism [Arlow and Neustadt, 2005] CS 426 Senior Projects in Computer Science University of Nevada,
UML (Unified Modeling Language)
11 Systems Analysis and Design in a Changing World, Fifth Edition.
Object-Oriented Modeling
Business System Development
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
UML Class Diagrams: Basic Concepts
Object Oriented Analysis and Design
Seminar 3 UML Class Diagram.
Lec 3: Object-Oriented Data Modeling
Chapter 20 Object-Oriented Analysis and Design
Object-Oriented Knowledge Representation
Presentation transcript:

Ontologies Reasoning Components Agents Simulations Structural Modeling with UML2 Jacques Robin

Outline  UML2 x UML1  UML2 meta-model package structure  UML2 Diagrams  Classes  Associations  Objects and links  Interfaces  Ports and components  Packages  Templates  Active classes, objects and parts

UML2: What is new?  New purposes:  Model-driven development  Whole life-cycle component based development  Real-time systems engineering  Fully refined modeling with semi-formal notation (OCL)  New diagrams:  Component diagram  Composite structure diagram  Timing diagram  New design:  Separates:  Abstract syntax, a MOF meta-model  Visual syntax, the Diagram Interchange (DI) standard  Semantics  Decomposes each part for reuse in a hierarchy of MOF packages linked by embedding and merge relationships

UML2: New uses  UML2 is so comprehensive that it can be used for new purposes not initially envisioned by OMG  Agent-oriented software engineering and intelligent system development  Engineering semantic web ontologies and services  Teaching course in any field through modeling and meta-modeling the presented concepts to visually and precisely structure them

UML2: Internal Structure Over 30 Sub-packages defining: Classifiers (Classes, Interfaces, etc.) Types Associations Packages Properties Constraints UML2 Infrastructure Over 50 Sub-packages defining: Components Composite structures Deployments Common behaviors (Times, Durations, Events, Signals, etc.) Actions Activities Interactions State machines Use cases Profiles Templates UML2 Superstructure 6 Sub-packages defining: Types Expressions Type value semantic domains Expression evaluation semantic do mains Type value semantic mapping Expression value semantic mapping OCL2 Defines diagrams’ visual layout Diagram Interchange MOF2 EMOFCMOF merge UML2 merge

UML2: Internal Structure UML2 Superstructure Structure Classes CompositeStuctures Components Deployments Behavior CommonBehaviors Activities Actions InteractionsStateMachinesUseCases Supplement AuxiliaryConstructs Profiles

UML2 Diagrams RequirementsAnalysisDesignTestingDeployment Structural Modeling Class (OCL) Object Component (OCL) Class Object Composite structure Class Object Composite structure Component Class (OCL) Object Component (OCL) Deployment Behavioral Modeling Use-case Activity Protocol state machine Activity State machine  Behavioral  Protocol Interaction  Sequence  Communication  Interaction overview Timing Activity State machine  Behavioral  Protocol Interaction  Sequence  Communication  Interaction overview Timing Use-case Timing

Simplified MOF Meta-Model of itself InstanceSpecification Parameter * Generalization * Association Class AssociationClass DataType PrimitiveType Enumeration Interface * 1..* Relationship NamedElement Constraint * TypedElement TypeProperty ValueSpecification Classifier FeatureClassifierRedefinableElement * Element * NamedElement BehaviorallFeature StructuralFeature Operation *

Classes: Attributes  Common characteristics of the class members  Fields:  Base or derived (isDerived)  Visibility (public, protected, private, package)  Name  Type (Primitive Built-In or Used-Defined Enumerations)  Initial default value  Properties:  isReadOnly  Object attributes: different value for each object  Class attributes: same value for all objects  Attributes for MDA: as many fields as possible!

Classes: Operations  Common signature of services provided by the class members  Fields:  Visibility  Name  Return type  Properties: isQuery, isOrdered, isUnique  Input parameter  Direction  Name  Type  Multiplicity  Default value  Properties  Object operations: called on objects  Class operations: called to manipulate class attributes  Operations for MDA: as many fields as possible!

Associations  Association:  Generic relation between N classifiers  Fields:  One or two Names  Navigation direction  Two Ends, each with:  One Multiplicity Range (default = 1)  Zero to One role  Zero to one Qualifier  Qualifier: needed to distinguish different instances of a one-to- many or many-to-many association  Navigation:  Role if present  Otherwise destination class name  Associations for MDA: as many fields as possible!

Association Classes  Class connected to an association and not to any of its ends  Allows associating properties and behaviors to an association  One object of the association class for each link of the connected association  A one-to-many or many-to-many association class cannot be substituted by a simple class and a pair of simple associations  Example:  Ca has objects A1, A2, A3, A4  Cb has objects B1, B2, B3, B4  Extent of association class Cc between Ca and Cb with * multiplicity at both ends has necessarily 16 instances  Class Cc associated to Ca through association Aca and to Cb through association Acb could have only 4 instances Elevator control QueueElevator Difference with: ? 4

N-ary Associations  Single association between N classes  Different from N-1 binary associations  Example:  Ca has objects A1, A2  Cb has objects B1, B2  Cc has objects C1, C2  No link in the ternary association Ca-Cb-Cc corresponding to pair of links A1-B1, B2-C1

Aggregation Associations  Association with “part-whole” semantics  Associate composite class to its building blocks  Static, definitional characteristic of the “whole” class  In contrast to composite structure diagrams that model dynamic, configuration characteristic of the containing class  Shared aggregation:  Many-to-many aggregation

Composition Associations  Special case of one-to-one or one-to-many aggregation where part(s) cannot exist(s) without the unique whole  Deletion of the whole must therefore always be followed by automatic deletion of the parts

Class generalizations  Taxonomic relation between a class and one of its more general direct super-class  Special case of generalization between any two classifiers  Several generalizations form a taxonomic tree free of generalization cycles  Sub-classifier inherits the features from all its direct super-classifiers  Private attributes and operations not accessible from sub-classes  Protected attributes and operations accessible from sub-classes but not from associated classes  UML generalizations allow multiple inheritance and overriding  Instances of a sub-class must satisfy all the constraints on all its super-classes (principle of substituability)

Abstract Classes  Class that cannot be instantiated  Only purpose: factor gradual refinements of common and distinct structures and behaviors down a taxonomic hierarchy  Abstract operation: common signatures of distinct implementations specified in subclasses  Supports polymorphism: generic call signature to distinct operations, with automatic dispatch to the implementation appropriate to each specific call instance

Generalization Sets  Subclass set that can be labeled as:  complete or incomplete  overlapping or disjoint  Complete and disjoint generalization sets form a partition of the super-class  Sub-subclass can specialize members of two overlapping generalization sets

Power Types  Generalization set of a super-class defined in terms of a class associated to it  Subclasses of each power type inherits features from the associated class of the super-class that defines the power type  Allows separation of orthogonal concerns  Useful for MDA as a rich modeling element

Derived Attributes, Classes and Associations  Some class diagram elements can be entirely derived from other primitive ones  Derivation rules provided in { } near the derived element or as OCL constraint  Explicit derivable information key and rules for it are key for MDA

Constrained Associations  Properties and special graphical notation can express a limited set of constraints among associations  Other constraints expressed in OCL  Constraints key for MDA

Objects and Links  Object Diagram contains:  Specific (named) or generic (named after role, unnamed) instances of classes  Possibly several instances of the same class  Specific instances of associations (links) among objects  Possibly several instances of the same association  Illustrates specific instantiation patterns of associated class diagram

Interfaces  Classifier allowing to insulate classes, packages and components from one another for plug-and-play assembly and substitution  Concrete class: attributes + operation signatures + operation implementations + instantiation  Abstract class and Interface: attributes + operation signatures  But a concrete class realizes services specified in an interfaces, while it specializes the structure and behaviors whose signature they inherit from an abstract class  Other classifiers can use these services independently of how they are realized  Explicit, class-based notation more precise and thus preferred for MDA

UML 2.0 Component Meta-Model Class Component EncapsulatedClassifier StrcuturedClassifier part * required * * provided ConnectableElementConnectorEnd 2..* * Connector * Interface Classifier * Property Structural Feature Type Classifier TypedElement Association PackagableElementPort *

Ports  Feature of a classifier that links it to:  A provided interface which operations that the classifier realizes  A set of required interfaces to be provided by the deployment environment for the classifier to realize the provided interface  Fields:  Name  Multiplicity  Host classifier  Provided interface  Required interfaces

Composite Structures: Examples  Express dynamic, run-time whole-part relationships  Same class can be part of multiple wholes in multiple configurations  Different from unique, static composition aggregation

Packages  Group of elements creating a namespace  A pure design-time entity, that might not be reflected at run-time  Model element can only belong to a single package and is deleted whenever its package is deleted  Relations between packages:  Generalization  Dependencies: nesting (sub-package), import, access (private import) and merge

Packages

Package Merge  Integrate elements of two packages into a resulting “merged” package, collapsing common elements into a single one  Redundancy-free cut and paste

Templates  Partially specified class, refined by instantiation of parameters  Alternative way to define derived class  Key for parametric patterns

Active Classes, Objects and Parts  Active classes are associated to a thread  Active objects have pro- active behavior, executing an operation not invoked by any other object  Active objects execute concurrently  Active classes/objects can be composite structures, containing both active and passive classes/objects as parts  What is an agent?  An active object that is also a component instance!