User Tools

Site Tools


public_namespace:mda_approach

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
public_namespace:mda_approach [2007/01/25 13:21] prudhommepublic_namespace:mda_approach [2007/01/25 13:58] (current) – effacée prudhomme
Line 1: Line 1:
-====== MDA approach ====== 
  
- 
- 
-=====  1 Model-driven development ===== 
- 
- 
-Development of Web software is still an inefficient and errorprone process. We need integrated techniques and tool support for automated generation of Web systems. The goal of model-driven development (MDD) is to tackle these problems introducing a higher level of abstraction by defining metamodels and model transformations rules. 
-The idea behind MDD is that modeling and transforming is a better foundation for the development and maintenance of systems than programming. 
- 
-To develop software, we need knowledge about two concerns: 
-  * Domain aspects (relevant for the software end-user) 
-  * Software-technology aspects 
- 
- 
- 
-The domain knowledge is distinct from software technology. In software development, domain is multiplied with IT knowledge, rather than added up. The software patterns that come from best practices are not used in an application once, but multiple times, for each aspect of the domain. 
- 
-The Model-Driven Architecture separates the specification of the operation of a system form the details of the way that system uses the capabilities of its platform. MDA is an approach to system development, which increases the power of models in that work.  
-It is model-driven because it provides a means for using models to direct the course of understanding, design, construction, deployment, operation, maintenance and modification. The objective is to postpone in the development process the creation of models that take into account technological aspects of a platform as much as possible. The main advantage is to be able to react efficiently and with low costs to technology changes. 
- 
-MDA provides an approach for, and enables tools to be provided for: 
-  * specifying a system independently of the platform that support it, 
-  * specifying platforms, 
-  * choosing a particular platform for the system, 
-  * transforming the system specification into one for a particular platform 
- 
- 
-Goals of MDA are:   
-  * portability  
-  * interoperability  
-  * reusability 
- 
- 
-MDA specifies 3 viewpoints on a system, each used for a kind of model (CIM, PIM, and PSM): 
-a computation independent viewpoint,used for CIM , 
-a platform independent viewpoints used for PIM, 
-a platform specific viewpoint used for PSM. 
- 
- 
-=====  2 Basic Definitions ===== 
- 
- 
-====  2.1 System ==== 
- 
-A System is an assemblage of entity, comprising a whole with each and every element interacting or related to at least one other element. Any entity which has no relationship with any other element of the system is not an element of that system. A subsystem is then a set of elements which is a system itself and a part of the whole system. 
-Every division or aggregation of real entities into systems is arbitrary, therefore it is a subjective abstract concept. 
-In MDA, a system is described in terms of one or more applications supported by one or more platforms. An application is a functionality being developed. 
- 
- 
-====  2.2 Model ==== 
- 
-A model is a representation of an object or system from a particular viewpoint.  
-A model of a system is a description or specification of that system and its environment for some certain purpose. A model is often presented as a combination of drawings and test. The text may be in a modeling language or in a natural language. 
- 
- 
-====  2.3 Viewpoint ==== 
- 
-A viewpoint on a system is a technique for abstraction using a selected set of architectural concepts and structuring rules, in order to focus on particular concerns within that system. Here “abstraction” is used to mean the process of suppressing selected detail to establish a simplified model. 
-The concepts and rules may be considered to form a viewpoint language. 
-A view of a system is a model which represent that system form the perspective of a chosen viewpoint. 
- 
- 
-====  2.4 Platform ==== 
- 
-A platform is a set of subsystems and technologies that provide a coherent set of functionality through interfaces and specified usage patterns, which any application supported by  that platform can use without concern for the details of how the functionality provided by the platform is implemented. 
-Platform independence is a quality, which a model may exhibit. This is the quality that the model is independent of the features of a platform of any particular type. 
- 
- 
-====  2.5 Quality ==== 
- 
-Quality degree to which a set of inherent characteristic fulfills requirements"  
-Quality can be defined as both the degree to which a delivered application meets the needs of users as well as the degree to which a delivered system has low maintenance costs.  
- 
- 
-====  2.6 Process ==== 
- 
-A process is a set of possible behaviors.  
-Behavior of a system is the evolution of state of system over time, i-e the path the system traces out in some attribute space. Thus any description of a system's behavior is made with respect to some frame of reference for that system.  
- 
- 
-====  2.7 Pervasive Services ==== 
- 
-Pervasive services are services available in a wide range of platforms.  
-MDA will provide common, platform independent models of pervasive services. It will provide mappings for transforming models, which draw on these pervasive service PIMs, to platform specific models using the services as provided by a particular platform. 
- 
- 
- 
-====  2.8 Implementations ==== 
- 
-An implementation is a specification, which provides all the information needed to construct a system and to put it into operation. 
- 
-=====  3 Structure of MDA ===== 
- 
- ==== 3.1 The computation Independent Model (CIM) ==== 
- 
-===  3.1.1  Computation Independent Viewpoint === 
- 
-The computation independent viewpoint focuses on the environment of the system, and requirements for the system; The details of the structure and processing of the system are hidden or as yet undetermined. 
- 
-===  3.1.2 Definition === 
- 
-A computation independent model is a view of a system from the computation independent viewpoint. A CIM does not show details of the structure or implementation of systems. A CIM is a domain model or a business model. Vocabulary of the specification model is familiar to the practitioners of the domain in question. 
-===  3.1.3 Usage === 
- 
-CIM describes the situation in which the system will be used. It may hide much or all information about the use of automated data processing systems.  
-A CIM is a model of a system that shows the system in the environment in which it will operate, and thus it helps in presenting exactly what the system is expected to do. 
-It is useful, not only as an aid to understanding a problem, but also as a source of a shared vocabulary for use in other models. In an MDA specification of a system CIM requirements should be traceable to the PIM and PSM constructs that implement them, and vice versa. 
-A CIM might consist of two UML models, from the ODP enterprise and information viewpoints. It might include several models from these viewpoints, some providing more detail than others, or focusing on particular concerns of a viewpoint. 
- 
-====  3.2 Platform Independent Model ==== 
- 
- === 3.2.1  Platform Independent Viewpoint === 
- 
-The platform independent viewpoint focuses on the operation of a system while hiding the details necessary for a particular platform. A platform independent view shows that part of the complete specification that does not change form one platform to another. 
-A platform independent view may use a general purpose modeling language, or a language specific to the area in which the system will be used. 
- === 3.2.2 Definition === 
- 
-A platform independent model is a view of a system from the platform independent viewpoint. A PIM exhibits a specified degree of platform independence so as to be suitable for use with a number of different platforms of similar type. It describes the system, but does not show details of its use of its platform. 
-A very common technique for achieving platform independence is to target a system model for a technology neutral virtual machine. A virtual machine is defined as a set of parts and services ( communications, scheduling, naming, etc.), which are defined independently of any specific platform and which are realized in platform-specific ways on different platforms. A virtual machine is a platform, and such a model is specific to that platform. But that model is platform independent with respect to the class of different platforms on which that virtual machine has been implemented. This is because such models are unaffected by the underlying platform and, hence, fully conform to the criterion of platform independence. 
- === 3.2.3 Usage === 
- 
-A PIM might consist of enterprise, information and computational ODP viewpoint specifications.  
-the enterprise viewpoint, which is concerned with the purpose, scope and policies governing the activities of the specified system within the organization of which it is a part; 
-the information viewpoint, which is concerned with the kinds of information handled by the system and constraints on the use and interpretation of that information; 
-the computational viewpoint, which is concerned with the functional decomposition of the system into a set of objects that interact at interfaces – enabling system distribution. 
- 
- 
-The structure of this information model might be quite different from the structure of an information viewpoint model in a CIM of the same system. 
-A platform independent model will be suited for a particular architectural style, or several. 
-====  3.3 Platform Model ==== 
- 
-A platform model provides a set of technical concepts, representing the different kinds of parts that make up a platform and the services provided by that platform. It also provides, for use in a platform specific model, concepts representing the different kinds of elements to be used in specifying the use of the platform by an application. 
-A platform model also specifies requirements on the connection and use of the parts of the platform, and the connections of an application to the platform. 
-A generic platform model can amount to a specification of a particular architectural style. 
-Models can be expressed in UML, and OCL or UML, and stored in a MOF compliant repository. 
-====  3.4 Platform Specific Model ==== 
- 
- === 3.4.1 Platform Specific Viewpoint === 
- 
-The platform specific viewpoint combines the platform independent viewpoint with an additional focus on the detail of the use of a specific platform by a system. 
-===  3.4.2 Definition === 
- 
-A platform specific model is a view of a system from the platform specific viewpoint.  
-A PSM combines the specifications in the PIM with the details that specify how that system uses a particular type of platform. 
- === 3.4.3 Usage === 
- 
-A PSM may provide more or less detail, depending on its purpose. A PSM will be an implementation, if it provides all the information needed to construct a system and to put it into operation, or it may act as a PIM that is used for further refinement to a PSM that can be directly implemented. 
-A PSM that is an implementation will provide a variety of different information, which may include program code, the intended CORBA types of the implementation, program linking and loading specifications, deployment descriptors, and other forms of configuration specifications. 
public_namespace/mda_approach.1169731262.txt.gz · Last modified: 2007/01/30 09:49 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Run on Debian Driven by DokuWiki