Kennedy Carter. White Paper CTN 80, v2. Kiczales, Gregor, et al.
- Concept: Model-Driven Development (MDD) and Model Driven Architecture (MDA).
- Sunday, 26 October!
- Read Convergent Architecture: Building Model-Driven J2EE Systems with UML (OMG) Ebook Free?
- The Little Book of Manchester United.
Aspect Oriented Programming. Meyer, Bertrand. Mellor, Stephen J. Boston: Addison Wesley, Unified Modeling Language Reference Manual.
Convergent Architecture: Building Model Driven J2ee Systems with UML
Real-Time Object-Oriented Modeling. Sun Microsystems. Enterprise JavaBeans Specification, Version 2. JSR, Harlow, U. Warmer, Jos, and Anneke Kleppe. Previous page. Table of content. The platform model is that set of concepts representing parts and services , specifications, interface definitions, constraint definitions and any other requirements that an application needs to use a particular platform. For example, platform models could be built for J2EE or.
NET, among others.
Browse more videos
A PIM is transformed into one or more PSMs by the addition of information that makes it specific to a particular platform or platforms. Note that there is no implication that a transformation step PIM to PSM, or its associated platform is large or small. A transformation involving the application of a small set of patterns refines the model and, in some sense makes it more specific; this emphasizes the relativity of the terms PIM and PSM.
MDA specifies three viewpoints on a system: a computation independent viewpoint, a platform independent viewpoint, and a platform specific viewpoint. From the computation independent viewpoint, you are concerned about the context for the system, the requirements and constraints under which it must operate, and the things in the environment with which it must interact.
From this viewpoint, you do not see details of system structure or behavior. The Computation Independent Model CIM is a view of the system or system-to-be from the computation independent viewpoint.
The CIM, which is couched in the language of the subject-matter or domain experts, is an important link in the identification, during Analysis and Design, of key abstractions in the system-to-be. The platform independent viewpoint is relative to a particular platform. From that viewpoint you can see the structure and behavior of a system without the details of that platform. The PIM is a view of the system from the platform independent viewpoint.
From the platform specific viewpoint, also relative to a specific platform, you can see what was visible from the platform independent viewpoint but now with the platform usage details revealed. The PSM is a view of the system from a platform specific viewpoint. The idea of transformation is fundamental to MDA and model transformation is defined simply as "the process of converting one model to another model of the same system".
MDA also defines a little pattern to visualize the conversion and to illustrate use of some of the terminology we have seen:. The intention of the diagram is to show that the transformation is a first-class thing: the transformation takes the PIM and other information and combines them to produce the PSM.
Convergent Architecture: Building Model Driven J2ee Systems with UML by Richard Hubert
Model transformation can, of course, be done manually. This is little different than the way software design has always proceeded.
Even here, MDA is useful in delineating and formalizing the idea of transformation, the process, and the additional information to be used. Most leverage comes from being able to automate transformations, even if only partially, yielding the same advantages that came from the replacement of assembler programming with high-level languages. MDA does not prescribe a single way to do transformation: a mapping, driven by the choice of a platform, is prepared to give a specification of how to transform a PIM into a PSM for that platform; this mapping results in a transformation definition perhaps expressed as a set of transformation rules , possibly with transformation parameters, written in a transformation definition language.
The MDA Guide describes several approaches to transformation, including:.
However, the MDA pattern is amenable to repeated application: a generated PSM at one level becomes the PIM for the next, that is, for the next, increasingly specialized, platform choice. Note that in MDD, as we describe it in RUP and support it with the IBM Rational toolset, our preference is to minimize the number of refinement steps, that is, to proceed from a representation that is close to the customer's problem statement to an executable form as directly as possible.
The intention of the above diagram is to show three applications of the MDA pattern, with the initial PIM becoming a PSM dependent on platform 1, then transformed again to be dependent on platform 2 as well, then transformed again to be dependent on platforms 1, 2 and 3. The same concepts can be applied to a general transformation, that is, any model to any model. If, for example, there exist two metamodels whose languages are used to express the models, then, in principle, a mapping can be made, yielding a transformation definition.
It is a specification of all the Implementation Elements needed to construct, deploy, install and operate the system. A PSM may itself be an implementation or may require further refinement before it can be turned into code. In this case, the more abstract PIM is able to be turned directly into code by the transformation engine.
A visualization of the code may still be provided to the developer to help understanding, but this can be reverse engineered from the code. MDA offers the hope of controlling the expense and perturbation of technology churn by allowing a relatively stable set of PIMs to be retargeted to whatever new technology is required.
The expectation is that, with increasing acceptance of MDA, the developers of new technology will also deliver mappings so that transformations can be done quickly. Most companies are faced with the reality of developing for heterogeneous environments with a mix of new and old technologies, so this ability to realize interoperability is potentially of great benefit. With a powerful toolset to generate a PSM or code , such an environment should be more productive in much the same way that working in a high-level language is more productive then working in assembler, particularly given that a PIM, or something like it, is often developed anyway, for example, serving as the Design Model in RUP.
The productivity gain depends critically on how much manual intervention is needed in the transformation process. Consequently, with the proviso that the PIM is well-architected, there should be fewer defects in the life of the product because there are fewer opportunities for a human to inject them, and the defects that are discovered should be less costly to fix, through the benefit of automated transformation. The concentration on the PIM is also more closely aligned with domain concerns, so there should be a higher probability of satisfying the users' needs.
Related Elements Architectural Analysis. The Supporting Material: Visual Modeling explores some of the reasons for modeling, including: To aid in the understanding of complex systems To explore and compare design alternatives at a low cost As a foundation for implementation To capture requirements precisely To communicate decisions unambiguously.
Architectural Analysis. The Supporting Material: Visual Modeling explores some of the reasons for modeling, including: To aid in the understanding of complex systems To explore and compare design alternatives at a low cost As a foundation for implementation To capture requirements precisely To communicate decisions unambiguously Models are seen as a way to reason about system behavior both desired and realized and structure, and communicate the results of these deliberations to interested stakeholders.
Viewpoints and Views A viewpoint, as its name implies, is a notional position from which some aspects or concerns about the system or the set of models representing the system are made visible, implying the application of a set of concepts and rules to form a conceptual filter. Elaboration and Translation Transformation These terms are often used informally to distinguish between model changes done by hand elaboration and model changes done by a tool translation.
What is a High Level of Abstraction? How does this relate to RUP? When is the Design Model Complete? RUP offers a number of ways to proceed from design to code, two of which we discuss here to illustrate how decisions about design completeness are made: 1.
Model Driven Architecture MDA Motivation MDA is an initiative of the OMG, an industry consortium of some members with a mission to establish standard guidelines and specifications to provide a common vendor-neutral framework for application development and encourage interoperability across major hardware and software infrastructure platforms.
MDA's Core Ideas MDA introduces some specific concepts and terminology that distinguish it from more general approaches to MDD, and these are defined and discussed in the following sections. Platform Independence An intuitive notion of a Term Definition: platform is that it supports a higher architectural layer through provision of services with a well-defined set of interfaces that hide the implementation details.
ArcStyler: The Architectural IDE for MDA
Platform Independent Model PIM It follows that we can say a model is a PIM with respect to a particular platform when it is not bound to usage of that platform and could be used with any platform of that type. Unable to display preview. Download preview PDF.
- Computer Systems Analysis Design - Best books online.
- US Hegemony and International Organizations.
- Bibliography | Project Leadership (The Project Management Essential Library).
- Computer Systems Analysis Design - Best books online?
- PDF Convergent Architecture: Building Model-Driven J2EE Systems with UML (OMG)!
Skip to main content. Advertisement Hide. International Conference on the Unified Modeling Language. Conference paper First Online: 20 September This process is experimental and the keywords may be updated as the learning algorithm improves. This is a preview of subscription content, log in to check access. August