Driving MDA with UML: Principles and Practices Junichi Suzuki, Ph.D. jxs@computer.org http://www.jks.la/jxs/ School of Information and Computer Science University of California, Irvine 1 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. 2
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 3 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 4
Traditional Modeling and Development Platform/technology expertise Traditional modeling/dev Applications tools Domain analysts, Modelers, Designers, Domain expertise Developers 5 MDA-based Modeling and Development Application developers Platform Technology (logic impl) expertise expertise Platform experts MDA tools Applications Domain expertise Domain experts 6
Goals in MDA • Model continuation – Maximizing model continuation during software development process. • Separation of concerns – Maximizing separation of concerns 7 Benefits from MDA • Reduced software development cost • Reduced software development time • Rapid and smooth integration of legacy and emerging technologies 8
Model Transformation and Integration • Model transformation – Domain specialization – Platform specialization • Model integration – Model weaving Platform Application developers expertise Technology (logic impl) Platform expertise experts MDA tools Applications Domain expertise Domain experts 9 Platform Application developers expertise Technology (logic impl) Platform expertise experts MDA tools Applications Domain expertise Domain Domain experts models model PIM transformations Patterns model transformations Model MOF PSM transformations XMI Model maintenance generates/derives and exchange Source Configuration ・・・ code files Application 10
Model Transformation ADL/ASL UML CWM Domain models model PIM transformations Patterns model transformations Model MOF PSM transformations XMI generates/derives Model maintenance Action Semantics Action Semantics and exchange UML Profile for EJB UML Profile for EJB Source UML Profile for CORBA UML Profile for CORBA Configuration ・・・ code files UML Profile for RT sched UML Profile for RT sched UML Java/EJB interface Application CORBA IDL 11 Platform Independent Model (PIM) • Modeled with – UML – ADL/ASL – Conceptual drawings • may incorporate several software patterns – Architectural, analysis and design patterns 12
13 14
15 Travelers Centers Remote Commercial Information Traffic Emergency Toll Traveler Vehicle Service Management Management Administration Support Administration Provider Personal Fleet and Emissions Transit Information Freight Planning Management Management Access Management Vehicle to Vehicle Communications Wide Area Wireless Wireline (Fixed-Point to Fixed-Point) Communications (Mobile) Communications Dedicated Short Range Vehicle Roadway Transit Communications Toll Collection Vehicle Commercial Parking Vehicle Management Commercial Emergency Vehicle Vehicle Vehicles Roadside Check 16
Local Local Regional CT CT CT SEEDS Serial I/O Fielded Ops Kernels TMC’s FEP’s Field Devices Center FEP’s Showcase Network Network Firewalls TMC LA/Ventura Firewalls IMAJINE Network WAN LAN 170 D7 7 Hub 7 7 Sonet CCTV CMS Orange 170 12 D12 CCTV Sonet 12 12 CMS San Bernardino/ Riverside 170 D8 8 T1 Ring 8 CMS 8 CCTV San Diego 170 mnt. D11 yd. 11 CCTV Telco 11 11 CMS Other Corridor Ext. USM Term Server EXTERNAL USERS Seed M. Link Corridor Initiatives Intercity Bus Deployment 17 Firewall Subscribing Publishing Showcase Transportation Transportation Kernel Center(s) Center(s) Publishes Object 1 Publishes Object Update 2 Subscribes to Object 3 Filters flow of objects based on values of object parameters and subscription criteria Objects Meeting Subscription Criteria 4 18
ConsumerAdmin_impl (from Notification Service Admin P k ) EventChannel_impl (from Notification Service Admin creates P k ) creates SCConsumerAdmin 1 1 <<Interface>> SCNotifyFilter::SCBaseFilter create, evaluate message SupplierAdmin_impl (from Notification Service Admin P k ) BaseFilter_impl (from Notification Service Admin P k ) subscribe and unsubscribe 0..* 0..* SCProxyPushSupplier SCSupplierAdmin creates 1 1 1 1 evaluate criteria deliver message connect BaseFilterFactory_impl 1 1 SCBaseFIlter_impl (from Notification Service Admin P k ) 1 1 PushConsumer_impl create (from Notification Service P k ) creates PushSupplier SCFilterFactory evaluate message deliver message SCProxyPushConsumer 19 Customer Sale Sales Line Item Item 20
1 Customer Sale 1..* 0..1 Sales Line Item 1 Item 1 Customer Sale 1..* 0..* Sales Line Item 1 Item 21 Model Transformation • 2 dimensions of model transformation – Domain specialization – Platform specialization • Several forms of model transformation – Manual transformation – Automatic transformation Domain specificity 22 Platform specificity
Technologies for Model Transformations • UML profiles – for EJB – for CORBA – for Realtime scheduling • Action semantics – allows modelers to embed actions (behaviors) into model elements. 23 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 24
UML Profile for EJB • http://jcp.org/jsr/detail/26.jsp 《JavaInterface》 Java interface 《EJBHomeInterface》 Home interface 《EJBRemoteInterface Remote interface 》 《EJBImplementation》 Implementation class of a bean 《EJBSessionBean》 Session bean 《EJBEntityBean》 Entity bean 25 import.javax.ejb.*; EJBObject import java.rmi.Remote; import java.rmi.RemoteException; 《import》 《extends》 Javax.ejb.EnterpriseBean CustomerServer 《extends》 +getCustomer (name :String):Customer Javax.ejb.SessionBean Remote import java.rmi.Remote; EJBHome import java.rmi.RemoteException; 《implements》 《import》 《extends》 《extends》 《Interface》 《Interface》 CustomerServerBean CustomerServerHome Customer +ejbPassivate():Void +ejbActivate():void +getCustomerEntry(name :String):String +create():Customer +ejbCreate():void +setCustomerEntry(name :String):void +ejbRemove():void +setSessionContext(context:SesseionContext):void +getCustomer (name :String):void 26
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. 27 • 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. 28
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. 29 SDO Resource Data Model 1 1 +deviceProfile DeviceProfile SDO SDOSystemElement 0..1 0..1 1 1 1 1 1..* 1..* +owner +serviceProfile 1 1 1 1 +members 0..n 0..n ServiceProfile 0..* 0..* +organizations 0..* 0..* +organizations 0..1 0..1 Organization +configurationProfile 0..1 0..1 +status ConfigurationProfile Status 1 1 0..1 0..1 +properties OrganizationProperty 30
Recommend
More recommend