《ontheroleofabstractplatforminmodeldrivendevelopment-trese在模型驱动的开发-口抽象平台的作用》由会员分享,可在线阅读,更多相关《ontheroleofabstractplatforminmodeldrivendevelopment-trese在模型驱动的开发-口抽象平台的作用(38页珍藏版)》请在金锄头文库上搜索。
1、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,2,Setting the co
2、ntext,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 Middlewar
3、e is an important platform type,3,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 o
4、f abstraction A lot of confusion especially because of issues associated with MDA Language engineering / metamodelling Transformation language engineering UML: Constrain the designer Obscure semantics,4,Setting the context,Lack of methodological support for separation of platform-independent and pla
5、tform-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 dis
6、tribution Reuse of middleware,5,Related models in MDA development,. . .,design,design alternatives,6,Related models in MDA development,asynchronous messaging,JMS,Any other MOM,CORBA,JavaRMI,design,design alternatives,request/response,. . .,group communication,DSL,7,Platform-independence,Platform-ind
7、ependence 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
8、,8,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,9,Abstract platform,A platform-independent design relies on an abstract platform
9、 in an analogous way as a platform-specific design relies on a platform,10,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
10、 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?,11,Abstract Platform Definition,How to define an abstract platform? i.e., how
11、to choose assumptions (on platform characteristics) relevant at a platform-independent level? and then how to represent it? language issues,12,Abstract Platform Definition,Some abstract platform characteristics become relevant when identifying application parts and their interactions e.g., character
12、istics 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,13,Platform characteristics may play a role in (platform-independent) designs,reliable,14,Platform characteristics may p
13、lay a role in (platform-independent) designs,15,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
14、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,16,Abstract Platform
15、 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) prov
16、ide input for platform specific realization (requirements),17,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,18,Abstract platform and design languages,PIMs are described in a design language Design language characteristics and