资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,*,On the Role of Abstract Platform in Model Driven Development*,Marten van Sinderen,Centre for Telematics and Information Technology,University of Twente,The Netherlands,AMDA Workshop,Enschede,20 May 2004,*based on EDOC 2005 paper by Almeida,Dijkman,van Sinderen,Ferreira Pires,1,Setting the context,OMG for many years successful with its CORBA middleware standards,Application development centred around CORBA,Situation changed with the advent of many other middleware standards and products,OMG introduced MDA as the new application development paradigm that subsumes any middleware,Middleware is an important,platform,type,2,Setting the context.,Not being able to agree on definition of“platform and“specific or“independent in the OMG should not prevent us from:,finding proper abstraction criteria,for designs that remain stable in face of technology changes,.And raising the level of abstraction,A lot of confusion especially because of issues associated with MDA,Language engineering/metamodelling,Transformation language engineering,UML:,Constrain the designer,Obscure semantics,3,Setting the context,Lack of methodological support for separation of platform-independent and platform-specific concerns(whatever these may be),prevents exploiting separation of concerns beneficially,Zachman:,If you need you have to engineer it,Find appropriate architectural concepts to support this quality property,Focus on design of distributed applications,Cope with distribution,Exploit distribution,Reuse of,middleware,4,Related models in MDA development,.,.,.,design,design alternatives,5,Related models in MDA development,asynchronous messaging,JMS,Any other MOM,CORBA,JavaRMI,design,design alternatives,request/response,.,.,.,group communication,DSL,6,Platform-independence,Platform-independence is not black-or-white,Some abstraction gaps are too large,There are different levels of platform-independence,Platform characteristics considered throughout the development,The levels should be identified and defined,Preferably,platform characteristics assumed in models explicitly defined,7,Related models in MDA development,asynchronous messaging,JMS,Any other MOM,CORBA,JavaRMI,design,design alternatives,request/response,.,.,.,group communication,Abstract platform,Abstract platform,Abstract platform,DSL,8,Abstract platform,A platform-independent design relies on an,abstract platform,in an analogous way as a platform-specific design relies on a platform,A,C,PIM,PSM,9,MDA Guide,some examples of“generic platform types,mentions briefly the need for a“generic platform model which“can amount to a specification of a particular architectural style,there are other relevant abstract platform characteristics besides“architectural style!,e.g.,QoS characteristics,transparencies supported,reusable components,how does this“generic platform model look like?,Is it a meta-model?Is it a profile?Other models?,10,Abstract Platform Definition,How to define an abstract platform?,i.e.,how to choose assumptions(on platform characteristics)relevant at a platform-independent level?,and then how to represent it?,language issues,11,Abstract Platform Definition,Some abstract platform characteristics become relevant when identifying application parts and their interactions,e.g.,characteristics of the support for interactions between system parts(at different levels of decomposition),Some other platform characteristics play a,more subtle,but not negligible,role,12,Platform characteristics may play a role in(platform-independent)designs,reliable,13,Platform characteristics may play a role in(platform-independent)designs,Replication transparency?,14,Platform characteristics may play a role in(platform-independent)designs,How to choose,between alternative designs(i)and(ii)during platform-independent design?,Platform-specific aspects such as supported distribution transparencies(RM-ODP)play role in the selection of an adequate architecture,e.g.,if platform provides support for replication transparency,solution(i)would not introduce a single point of failure,and therefore would be acceptable as an alternative for the implementation of a highly available service,15,Abstract Platform Definition,Apparently,this places the designer in a dilemma:,platform selection affects platform-independent design,Solution:define at platform-independent level,QoS requirements on platform-specific realizations,to:,guide and justify decisions at a platform-independent level(assumptions),provide input for platform specific realization(requirements),16,Abstract Platform Definition,Should it be“very abstract?,One size fits all?,In the example,abstract platform definition depended on design choices required,Generality is required because of reuse of abstract platforms and transformations that depend on it,17,Abstract platform and design languages,PIMs are described in a,design language,Desig
展开阅读全文