+ All Categories
Home > Documents > Driving MDA with UML: Principles and Practices

Driving MDA with UML: Principles and Practices

Date post: 04-Jan-2016
Category:
Upload: naiara
View: 33 times
Download: 2 times
Share this document with a friend
Description:
Driving MDA with UML: Principles and Practices. Junichi Suzuki, Ph.D. [email protected] http://www.jks.la/jxs/ School of Information and Computer Science University of California, Irvine. Who am I?. Research fellow, UC Irvine (2000-) - PowerPoint PPT Presentation
Popular Tags:
45
1 Driving MDA with UML: Principles and Practices Junichi Suzuki, Ph.D. [email protected] http://www.jks.la/jxs/ School of Information and Computer Science University of California, Irvine
Transcript
Page 1: Driving MDA with UML: Principles and Practices

1

Driving MDA with UML:Principles and Practices

Junichi Suzuki, [email protected]

http://www.jks.la/jxs/

School of Information and Computer Science

University of California, Irvine

Page 2: Driving MDA with UML: Principles and Practices

2

Who am I?

• Research fellow, UC Irvine (2000-)– biologically-inspired software designs for

scalable and adaptable distributed computing

• Ph.D. from Keio U (2001)• ex- Technical director, Object

Management Group Japan • ex.ex- Technical director, Soken Planning

Co., Ltd.

Page 3: Driving MDA with UML: Principles and Practices

3

Where is UC Irvine?

• UCI (U of California, Irvine)– One of eight UC system universities

• Irvine– in between LA and San Diego– reported by FBI, as the safest city in the US– 1 hour to LA downtown– 10 minutes to Newport Beach– 20 minutes to Huntington Beach– 20 minutes to Anaheim Disneyland– 5 hours to Las Vegas

Page 4: Driving MDA with UML: Principles and Practices

4

Overview

• MDA (Model Driven Architecture)– Model transformation and integration

• Patterns and technologies for model transformations

• MDA Practices– Standardization effort based on MDA

principles• OMG Super Distributed Objects specification

– MDA practice for ubiquitous computing• Bio-Networking Architecture

Page 5: Driving MDA with UML: Principles and Practices

5

Traditional Modeling and Development

Traditionalmodeling/dev

tools

Domain analysts,Modelers, Designers,Developers

Domain expertise

Platform/technology expertise

Applications

Page 6: Driving MDA with UML: Principles and Practices

6

MDA-based Modeling and Development

MDA tools

Platform experts

Domainexpertise

Application developers

Applications

Domain experts

Platformexpertise

Technology (logic impl)expertise

Page 7: Driving MDA with UML: Principles and Practices

7

Goals in MDA

• Model continuation– Maximizing model continuation during

software development process.

• Separation of concerns– Maximizing separation of concerns

Page 8: Driving MDA with UML: Principles and Practices

8

Benefits from MDA

• Reduced software development cost• Reduced software development time• Rapid and smooth integration of legacy

and emerging technologies

Page 9: Driving MDA with UML: Principles and Practices

9

Model Transformationand Integration

• Model transformation– Domain specialization– Platform specialization

• Model integration– Model weaving

MDA tools

Platformexperts

Domainexpertise

Application developers

Applications

Domainexperts

Platformexpertise

Technology (logic impl)expertise

Page 10: Driving MDA with UML: Principles and Practices

10

PIM

PSM

Sourcecode

Configurationfiles ・・・

Application

Domainmodels

Patterns

model transformations

generates/derives

MOFXMI

Model maintenanceand exchange

model transformations

Modeltransformations

MDA tools

Platformexperts

Domainexpertise

Application developers

Applications

Domainexperts

Platformexpertise

Technology (logic impl)expertise

Page 11: Driving MDA with UML: Principles and Practices

11

Model Transformation

UMLJava/EJB interfaceCORBA IDL

ADL/ASLUMLCWM

PIM

PSM

Sourcecode

Configurationfiles ・・・

Application

Domainmodels

Patterns

model transformations

generates/derives

MOFXMI

Model maintenanceand exchange

model transformations

Modeltransformations

Action SemanticsUML Profile for EJBUML Profile for CORBAUML Profile for RT sched

Action SemanticsUML Profile for EJBUML Profile for CORBAUML Profile for RT sched

Page 12: Driving MDA with UML: Principles and Practices

12

Platform Independent Model (PIM)

• Modeled with– UML– ADL/ASL– Conceptual drawings

• may incorporate several software patterns– Architectural, analysis and design patterns

Page 13: Driving MDA with UML: Principles and Practices

13

Page 14: Driving MDA with UML: Principles and Practices

14

Page 15: Driving MDA with UML: Principles and Practices

15

Page 16: Driving MDA with UML: Principles and Practices

16

Vehicles Roadside

Centers

Ded

icate

d S

hort

Ran

ge

Com

mu

nic

ati

on

s

Travelers

Wide Area Wireless (Mobile) CommunicationsWireline (Fixed-Point to Fixed-Point) Communications

Veh

icle

to V

eh

icle

Com

mu

nic

ati

on

s

Vehicle

TransitVehicle

CommercialVehicle

EmergencyVehicle

PersonalInformation

Access

RemoteTravelerSupport

CommercialVehicle

Administration

Planning

TollAdministration

EmergencyManagement

TrafficManagement

Fleet andFreight

ManagementTransit

Management

InformationServiceProvider

Roadway

Toll Collection

ParkingManagement

EmissionsManagement

CommercialVehicleCheck

Page 17: Driving MDA with UML: Principles and Practices

17

TMCNetwork

D7Sonet

D12Sonet

D8T1 Ring

170

8

8

12

12

7 7

11

11

D11Telco

HubCCTV

CMS

170

CCTV

CMS

170

CMS

CCTV

170

CCTV

CMS

mnt.yd.

Other Corridor Initiatives

M. Link

Intercity Bus

Ext. USMSeed Term Server EXTERNAL USERS

11

8

12

7

IMAJINELA/Ventura

Orange

San Bernardino/Riverside

San Diego

Firewalls Firewalls

Firewall

Local Fielded Devices

LocalOpsCenter

SEEDS

ShowcaseNetwork

Regional Kernels

CTTMC’s

LAN

CTFEP’s

WAN

FEP’sNetwork

CTField

Serial I/O

CorridorDeployment

Page 18: Driving MDA with UML: Principles and Practices

18

PublishingTransportation

Center(s)

SubscribingTransportation

Center(s)

ShowcaseKernel

Publishes Object

Subscribes to Object

Publishes Object Update

Objects M eeting Subscription Criteria

Filters flow of objectsbased on values ofobject parameters andsubscription criteria

1

2

3

4

Page 19: Driving MDA with UML: Principles and Practices

19

ConsumerAdmin_impl (from Notification Service Admin Package)

BaseFilterFactory_impl (from Notification Service Admin Package)

SCFilterFactory

BaseFilter_impl (from Notification Service Admin Package)

creates

SupplierAdmin_impl (from Notification Service Admin Package)

SCBaseFIlter_impl

creates

EventChannel_impl (from Notification Service Admin Package)

creates

PushConsumer_impl (from Notification Service Package)

SCProxyPushSupplier

1

1

1

1

deliver message 1

1

1

1

evaluate criteria

SCSupplierAdmin

SCConsumerAdmin

creates

subscribe and unsubscribe 0..*

1

0..*

1

create, evaluate message

PushSupplier

connect

SCProxyPushConsumer

create

evaluate message deliver message

SCNotifyFilter::SCBaseFilter <<Interface>>

Page 20: Driving MDA with UML: Principles and Practices

20

Sale

Sales Line Item

Item

Customer

Page 21: Driving MDA with UML: Principles and Practices

21

Sale

Sales Line Item

Item

1

Sale

Sales Line Item

Item

1

1..*

1..*

1

0..1

1

0..*

Customer

Customer

Page 22: Driving MDA with UML: Principles and Practices

22

Model Transformation• 2 dimensions of model transformation

– Domain specialization– Platform specialization

• Several forms of model transformation– Manual transformation– Automatic transformation

Dom

ain

sp

eci

fici

ty

Platform specificity

Page 23: Driving MDA with UML: Principles and Practices

23

Technologies forModel Transformations

• UML profiles– for EJB– for CORBA– for Realtime scheduling

• Action semantics– allows modelers to embed actions (behaviors)

into model elements.

Page 24: Driving MDA with UML: Principles and Practices

24

UML Profiles

• A UML profile– provides a means to specialize UML models

to a specific domain or implementation technology.

– is defined with the UML extension mechanism • i.e. stereotypes, tag definition/tagged values, and

constraints

– may extend the UML standard meta model.• Virtual meta model

Page 25: Driving MDA with UML: Principles and Practices

25

UML Profile for EJB

《 JavaInterface 》 Java interface

《 EJBHomeInterface 》

Home interface

《 EJBRemoteInterface 》

Remote interface

《 EJBImplementation 》

Implementation class of a bean

《 EJBSessionBean》

Session bean

《 EJBEntityBean 》 Entity bean

• http://jcp.org/jsr/detail/26.jsp

Page 26: Driving MDA with UML: Principles and Practices

26

EJBHomeRemote

EJBObject

CustomerServerHome

+create():Customer

《 Interface 》Customer

+getCustomerEntry(name :String):String+setCustomerEntry(name :String):void

CustomerServer

+getCustomer (name :String):Customer

import java.rmi.Remote;import java.rmi.RemoteException;

《 Interface 》CustomerServerBean

+ejbPassivate():Void+ejbActivate():void+ejbCreate():void+ejbRemove():void+setSessionContext(context:SesseionContext):void+getCustomer (name :String):void

import.javax.ejb.*;import java.rmi.Remote;import java.rmi.RemoteException;

Javax.ejb.SessionBean

Javax.ejb.EnterpriseBean

《 implements 》《 import 》

《 import 》

《 extends 》

《 extends 》

《 extends 》

《 extends 》

Page 27: Driving MDA with UML: Principles and Practices

27

Super Distributed Objects (SDOs)

• The goals of the OMG Super Distributed Objects (SDOs) DSIG (domain SIG) are to– provide a standard computing infrastructure

that incorporates massive number of objects (SDOs) including hardware devices and software components

– deploy SDOs in highly-distributed and ubiquitous environments, and

– allow SDOs to seamlessly interwork with each other in a less centralized manner.

• SDO is...– a logical representation of hardware devices

and software components operating on highly-distributed and ubiquitous networks.

Page 28: Driving MDA with UML: Principles and Practices

28

• History and status:– The SDO RFI issued (‘00), and responses gathered (‘01)

• from 10 organizations including UCI– The SDO white paper published (‘01)

• by Hitachi, GMD Fokus and UCI– The first RFP published (Jan. 02), which

• solicits the resource data model for SDOs, and interfaces to access and manipulate resource data model.

• sdo/02-01-04– The initial proposals submitted (Sept. 02)

• by Hitachi, GMD Fokus and UCI• sdo/02-09-01, sdo/02-09-02• 28 organizations on the voting list

– The revised joint proposal was submitted in March 2003.• by Hitachi, GMD Fokus and UCI• sdo/02-01-04

– The submission was recommended for adoption.

Page 29: Driving MDA with UML: Principles and Practices

29

SDO PIM and PSM Specification

• Addresses information and computational aspects for SDOs– Information aspect

• Resource data model, used to define the capabilities and properties of SDOs.

– Computational aspect• A set of interfaces, used to access and manipulate

resource data model.

• Defines a PIM and PSM for each of the aspects.– UML used to define PIM.– CORBA IDL used to define PSM.

Page 30: Driving MDA with UML: Principles and Practices

30

SDO Resource Data Model

SDOSystemElement

OrganizationProperty

DeviceProfile

Status

Organization

0..*

1

+organizations0..*

+owner1

0..1

1

0..1+properties

1

ServiceProfile

ConfigurationProfile

SDO1

0..1

1+deviceProfile

0..1

0..1

1

+status0..1

1

0..*

1..*

+organizations0..*

+members

1..*

0..n

1

+serviceProfile0..n

1

0..1

1

+configurationProfile 0..1

1

Page 31: Driving MDA with UML: Principles and Practices

31

DeviceProfiledeviceType : Stringmanufacturer : Stringmodel : Stringversion : Stringproperties : NVList

getDeviceType() : StringgetManufacturer() : StringgetModel() : StringgetVersion() : StringgetProperties() : NVListServiceProfileid : StringinterfaceType : Stringproperties : NVListserviceRef : SDOService

getID() : StringgetInterfaceType() : StringgetProperties() : NVListgetServiceRef() : SDOService

SDOEntity

OrganizationPropertyproperties : NVList

Organizationdirection : boolean

SDOid : StringsdoType : String

+owner1

0..1

+organizations0..*0..*

1

+properties 1

0..1

1

+organizations0..*

+members1..*

0..*

1..*

Page 32: Driving MDA with UML: Principles and Practices

32

SDO InterfacesSDO

getConfiguration() : ConfigurationgetMonitoring() : MonitoringgetOrganizations() : OrganizationListgetID() : StringgetSDOType() : StringgetDeviceProfile() : DeviceProfilegetServiceProfiles() : ServiceProfileListgetServiceProfile(id : String) : ServiceProfile

Configuration+ setDeviceProfile(dProfile : DeviceProfile) : void+ addServiceProfile(sProfile : ServiceProfile) : void+ addOrganization(organization : Organization) : void+ removeDeviceProfile() : void+ removeServiceProfile(serviceID : String) : void+ removeOrganization(organization : Organization) : void+ getConfigParameter() : ParameterList+ getParameterValue(name : String) : any+ setParameterValue(name : String, value : any) : void+ getConfigurationSets() : ConfigurationSetList+ addConfigurationSet(configurationSet : ConfigurationSet) : void+ removeConfigurationSet(configurationSetID : String) : void+ activateConfigurationSet(configID : String) : void

<<Interface>>

Interfaces:SDOOrganizationConfigurationMonitoringCallback

SDO

SDO/application

Page 33: Driving MDA with UML: Principles and Practices

33

CORBA PSM

• CORBA PSM for SDO resource data model and interfaces

module SDOPackage { interface SDO; interface SDOService; interface SDOSystemElement; interface Configuration; interface Monitoring; interface Organization; interface SDO : SDOSystemElement { UniqueIdentifier get_id() string get_SDO_type()

Page 34: Driving MDA with UML: Principles and Practices

34

Scope of SDO PIM/PSMD

om

ain

sp

eci

fici

ty

Platform specificity

SDO PIM

EchonetHAViUPnP

etc. etc.

SDO PIM/PSMspec

SDO (CORBA) PIM

Future PSMs

Future domain specialization, or Implementation specific part

Page 35: Driving MDA with UML: Principles and Practices

35

The Bio-Networking Architecture:

An Example of SDO Implementations• Computer network environment is seamlessly

spanning locations engaged in human endeavor.• Need a self-organizing network that supports

– scalability in terms of # of objects and network nodes,– adaptability to changes in network conditions,– availability/survivability from massive failures and

attacks,– simplicity to design and maintain.

• Our solution: apply biological concepts and mechanisms to network application design– Biological systems have overcome the above features.

• e.g. bee colony, bird flock, fish school, etc.

• The Bio-Networking Architecture is a new framework– for developing large-scale, highly distributed,

heterogeneous, and dynamic network applications.

Page 36: Driving MDA with UML: Principles and Practices

36

Biological Concepts Applied• Decentralized system organization

– Biological systems• consist of autonomous entities (e.g. bees in a bee

colony)• no centralized (leader) entity (e.g. a leader in a bird

flock)– Decentralization increases scalability and survivability of

biological systems.

– The Bio-Networking Architecture• biological entities = cyber-entities (CEs)

– the smallest component in an application– provides a functional service related to the application– autonomous with simple behaviors

» replication, reproduction, migration, death, etc.» makes its own behavioral decision according to its own

policy

• no centralized entity among CEs

Page 37: Driving MDA with UML: Principles and Practices

37

• Emergence– Biological systems

• Useful group behavior (e.g. adaptability and survivability) emerges from autonomous local interaction of individuals with simple behaviors.

– i.e. not by direction of a centralized (leader) entity– e.g. food gathering function

» When a bee colony needs more food, a number of bees will go to the flower patches to gather nectar.

» When food storage is near its capacity, only a few bees will leave the hive.

– The Bio-Networking Architecture• CEs autonomously

– sense local/nearby environment» e.g. existence of neighboring CEs, existence/movement of

users, workload, availability of resources (e.g. memory space), etc.

– invoke behaviors according to the condition in a local/nearby environment

– interacts with each other

Page 38: Driving MDA with UML: Principles and Practices

38

• Lifecycle– Biological systems

• Each entity strives to seek and consume food for living.

• Some entities replicate and/or reproduce children with partners.

– The Bio-Networking Architecture• Each CE stores and expends energy for living.

– gains energy in exchange for providing its service to other CEs

– expends energy for performing its behaviors, utilizing resources (e.g. CPU and memory), and invoking another CE’s service.

• Each CE replicates itself and reproduce a child with a partner.

Page 39: Driving MDA with UML: Principles and Practices

39

• Evolution– Biological system

• adjusts itself for environmental changes through species diversity and natural selection

– The Bio-Networking Architecture• CEs evolve by

– generating behavioral diversity among them, and» CEs with a variety of behavioral policies are created by

human developers manually, or through mutation (during replication and reproduction) and crossover (during reproduction)

– executing natural selection.» death from energy starvation» tendency to replicate/reproduce from energy

abundance

Page 40: Driving MDA with UML: Principles and Practices

40

• Social networking– Biological systems (social systems)

• Any two entities can be linked in a short path through relationships among entities.

– not through any centralized entity (e.g. directory), rather in a decentralized manner.

– six decrees of separation

– The Bio-Networking Architecture• CEs are linked with each other using relationships.

– A relationship contains some properties about other CEs (e.g. unique ID, name, reference, service type, etc.)

• Relationships are used for a CE to search other CEs.– Search queries originate from a CE, and travel from CE to CE

through relationships. • The strength of relationship is used for prioritizing different

relationships in discovery. – A CE may change its relationship strength based on the degree

of similarity between two CEs.– The stronger relationship is likely to lead a query to a

successful discovery result.

Page 41: Driving MDA with UML: Principles and Practices

41

Devise

Bionet platform

Cyber-entities runningon a bionet platform

Attributes

Body

Behaviors

cyber-entity

users

CE’s Structure and Behaviors

• Behaviors– Energy exchange and storage– Communication– Migration– Replication and reproduction– Death – Relationship establishment– Social networking (discovery)– Resource sensing– State change

• Attributes– ID– Relationship list– Age– …etc.

• Body– Executable code– Non-executable data

Page 42: Driving MDA with UML: Principles and Practices

42

Design Strategies ofthe Bio-Networking

Architecture• Separate cyber-entity (CE) and Bio-Networking

Platform (bionet platform), – Cyber-entity (CE)

• mobile object (agent) that provides any service logic

– Bionet platform• middleware system for deploying and executing cyber-

entities

• Model CE and bionet platform with UML– Using SDO PIM

• Implement CE and bionet platform in Java and CORBA– Using SDO CORBA PSM

Page 43: Driving MDA with UML: Principles and Practices

43

Architecture of the Bio-Networking Platform

Bionet Services

Bionet Platform

Bionet Container

CE

CE Context

CE

Java VM

Bionet Message Transport

A Cyber-entity (CE) is an autonomous mobile object. CEs communicate with each other using FIPA ACL.A CE context provides references to available bionet services.

Bionet services are runtime services that CEs use frequently.

Bionet container dispatches incoming messages to target CEs.

Bionet class loader loads byte code of CEs to Java VM.

Bionet message transport takes care of I/O, low-level messaging and concurrency.

Bionet Class Loader

Page 44: Driving MDA with UML: Principles and Practices

44

Scope of Bionet Implementation

Dom

ain

sp

eci

fici

ty

Platform specificity

SDO PIM

Bionet domainmodel

SDO PIM/PSMspec

SDO (CORBA) PIM

Bionet implementation

Page 45: Driving MDA with UML: Principles and Practices

45

SDO CORBA PSMJava interfaceCORBA IDL

UML

PIM

PSM

Sourcecode

Configurationfiles ・・・

Application

SDO PIM

Patterns

model transformation

generates/derives

model transformations

Modeltransformations

Bionet domain model


Recommended