Understanding the Model Driven Architecture (MDA)
Pgina 1 de 3
Home
PDF Issues
Text Issues
Subscribe
Articles
Tools
Polls
Jobs
Links
Search
Advertise
Contact
Like
Free Flowchart Diagrams
Create Flowchart Diagrams fast See Examples. Free Download! [Link]
Download Metatrader
Trade the Forex Market With MT4 Download Here [Link]
[Link]
08/01/2012
Understanding the Model Driven Architecture (MDA)
Pgina 2 de 3
implementation information. A platform-specific model is a model of a system that has technology-specific implementation information. For example, a "generic" description of a system is a platform-independent model, and a description of the system using Java or Microsoft .NET technology is a platform-specific model. Transformation techniques convert platformindependent models that specify the operations of systems to produce platform-specific models that specify the details of how those systems use the capabilities of their platforms to provide their operations. By keeping these models separate but related, we can work with the model from the perspective that is most conducive to our understanding of the system. Furthermore, transformations between models can repeatedly occur until a model reaches its targeted platform, whether it is a software or hardware platform. The MDA is an open and vendor-neutral architectural framework that leverages associated OMG standards (and models specifically) within the systems development lifecycle across various domains and technologies. The MDA broadly supports different types of application domains and technology platforms. The MDA enables transforming or converting platformindependent models to produce platform-specific models using mappings. Within the system development lifecycle process, the MDA applies platform-independent models and platform-specific models to sustain and leverage investments in requirements, technologies, and the lifecycle that bridges the gap between them as they independently change. Such an approach generally leads to long-term flexibility of implementations, integration, maintenance, testing and simulation as well as portability, interoperability and reusability. The MDA emerged from the efforts of the OMG and its constituent members to culminate in 2000. Currently, MDA 1.0 is proliferating in the industry. The OMG has various Technology Committees (TCs) for providing standardization guidance and recommendations. Various Domain Technology Committees (DTCs) focus on vertical markets such as Healthcare, Finance, Telecommunications, Manufacturing, Transportation, and so forth to capture standard domain-specific models that form the foundation for platform-independent models. Various Platform Technology Committees (PTCs) focus on horizontal technologies such as Web Services to capture standard technology-specific models that form the foundation for platform-specific models. And the OMG has an Architecture Board (AB) that oversees the standardization in order to ensure coherence and consistency of the standards. Foundation Figure 2 shows the foundational concepts of what generally constitutes the MDA.
Figure 2: Foundational Concepts of the MDA Systems, Models, and Model-Driven Approaches A system (or physical system) is a collection of elements organized together for a specific purpose. A model of a system is a description or specification of the system and its environment for a specific purpose, which may be presented graphically and textually. A model-driven approach focus on models to work with systems, including understating, designing, constructing, deploying, operating, maintaining, and modifying them. Figure 2, relative to Figure 1, shows that the MDAs model-driven approach corresponds to problem solving. Platforms, Applications, and Implementations A platform is a set of technologies, including functionality provided through interfaces and usage patterns. Platforms may be generic (such as object oriented or batch processing), technology specific (such as the Java platform), or vendor specific (such as the Microsoft .NET platform). A platform model describes a platform, including its parts and the services it provides. A pervasive service is a service that is available in a wide range of platforms. For example, file services, security services, and so forth. An application refers to some functionality provided by a system. A system is a collection of applications supported by a collection of platforms. An implementation is a specification that contains all of the information for construing and putting a system into operation. For example, a storefront system may be a collection of Java programs that provide financial transaction applications supported by the Java platform, which is described by the JVM Specification platform model. Figure 2, relative to Figure 1, shows that a platform corresponds to an environment, a system and its applications corresponds to a solution, and an implementation corresponds to an implementation model. Architecture, Viewpoints, Views, and Models The architecture of a system involves what elements make up the system and how they work together to provide the functionality of the system, including what parts and connectors make up the system and how the parts interact using the connectors. A viewpoint on a system involves a perspective focusing on specific concerns regarding the system, which suppresses details to provide a simplified model having only those elements related to the concerns of the viewpoint. A view (or viewpoint model) of a system is a representation of the system from the perspective of a viewpoint. For example, a security viewpoint focuses on security concerns and a security viewpoint model contains those elements that are related to security from a more general model of a system. Figure 2, relative to Figure 1, shows the following viewpoints: A computation independent viewpoint (CIV) focuses on the requirements of a system and its environment. The CIV corresponds to the conceptualization perspective. A platform independent viewpoint (PIV) focuses on the operation of a system independent of any platform and thus does not change from one platform to another. The PIV corresponds to the specification perspectives analysis activities and model. A platform specific viewpoint (PSV) focuses on the operation of system based on a specific platform and thus does change form one platform to another. The PSV corresponds to the specification perspectives design activities and model. Figure 2, relative to Figure 1, shows the following models: A computation independent model (CIM) of a system, from the CIV, describes the domain and requirements of the system. A CIM might consist of a model from the informational viewpoint, which captures information about the data of a system. The CIM corresponds to the conceptualization perspectives requirements model. A platform independent model (PIM) of a system, from the PIV, describes the operation of the system independent of any platform. A PIM might consist of a model from the informational viewpoint, which captures information about the data of a system, and a model from the computational viewpoint, which captures information about the processing of a system, independent of any platform. A platform independent model is one that is independent of the features of any specific platform. To achieve platform independence, a model may target a technology-neutral virtual machine. A virtual machine is a collection of parts and services that are independent of any specific platform and may be realized on multiple specific platforms, but the virtual machine remains independent and unaffected by any underlying platform. The PIM corresponds to the specification perspectives analysis model. A platform specific model (PSM) of a system, from the PSV, describes the operation of the system as it uses one or more specific platforms. A PSM might consist of a model from the informational viewpoint, which captures information about the data of a system, and a model from the computational viewpoint, which captures information about the processing of a system, based on a specific platform. As a PSM targets a specific platform, it uses the features of the specific platform specified by a platform model. The PSM corresponds to the specification perspectives design model Application Figure 3 shows the application concepts of how one generally applies the MDA.
[Link]
08/01/2012
Understanding the Model Driven Architecture (MDA)
Pgina 3 de 3
Figure 3: Application Concepts of the MDA Mappings A mapping is a specification (or transformation specification), including rules and other information, for transforming a PIM to produce a PSM for a specific platform. The MDA defines the following types of mappings: A model type mapping specifies a mapping based on the types of model elements. It specifies mapping rules for how different types of elements in the PIM are transformed to different types of elements in the PSM. For example, if a PIM element is of type entity, it maps to an Enterprise Java Bean (EJB) entity for the Java platform, otherwise it may map to a Java class. A model instance mapping specifies how specific model elements are to be transformed in a particular manner using marks. PIM elements are marked to indicate how they are to be transformed. A mark from a PSM is applied to a PIM element to indicating how that element is to be transformed. A PIM element may also be marked several times with marks from different mappings and is therefore transformed according to each of the mappings. A PIM is marked to form a marked PIM that is then transformed to a PSM. For example, if a PIM element is marked as an entity, it indicates that the element is transformed using some rules, perhaps related to an EJB entity for the Java platform, otherwise it may map to a Java class. A template specifies a particular kind of transformation using parameterized models or patterns of model elements that areused as rules in model type mappings and model instance mappings. Figure 3 shows that marks are used for marking a PIM to produce a marked PIM and that mappingsare used for mapping a PIM or marked PIM to produce a PSM. Transformations A model transformation is a process of converting a PIM, combined with other information, to produce a PSM. The MDA defines the following types of transformations based on the types of mappings: A transformation for a model type mapping is a process of converting a PIM to produce a PSM by following the mapping. A transformation for a model instance mapping is a process of converting a marked PIM to produce a PSM by following the mapping. A practitioner may mark a PIM to produce a marked PIM, and a transformation may ask a practitioner for mapping decisions inthe course of a transformation. A PSM may be an implementation, provide information for manually constructing the system, or may act as a PIM for further transformation to a PSM. For example, a PIM of a storefront system may be marked and transformed to produce a PSM for the Java platform and a PSM for the Microsoft .Net platform. Figure 3 shows how marking and mapping are involved in transformations. A model type mapping is shown using a PIM while a model instance mapping is shown using a marked PIM. Conclusion Unequivocally, people are and will remain the "original ingredient" necessary for success. However, with the UMLs modeling techniques and the MDAs architectural framework, individuals and teams are further empowered not only to simply address change and complexity, but leverage change and complexity for a competitive advantage by capturing and leveraging knowledge encoded in models. Furthermore, it is experience, experimentation, and application of the UML, MDA, and other associated standards and technologies that will enable us to realize their benefits. More Unified Modeling Language UML Knowledge Unified Modeling Language Zone UML Tools UML Blogs Back to the archive list
Load Testing by Web Performance: The easiest and most complete load testing software and services Bug Tracking Software - OnTime is industry leading bug tracking software Receive an online project management degree from a reputable university Open Source Project management Software Directory Project Management Planet - Resources and news for the software project manager
Copyright 1995-2012 Martinig & Associates | Network | Advertise | Contact | Privacy | RSS | Twitter | LinkedIn | Facebook
[Link]
08/01/2012