资源预览内容
第1页 / 共38页
第2页 / 共38页
第3页 / 共38页
第4页 / 共38页
第5页 / 共38页
第6页 / 共38页
第7页 / 共38页
第8页 / 共38页
第9页 / 共38页
第10页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
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 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,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 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,4,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,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-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,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 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 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 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., 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,13,Platform characteristics may play a role in (platform-independent) designs,reliable,14,Platform characteristics may play 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 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 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),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
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号