Business Process Library Q Business Process Management

From Q-BPM
Jump to: navigation, search

MDA is a technique to represent the functions of an application as a diagram and thereby enables us to develop software etc. based on the model information. Model Driven Architecture.


Overview of MDA

What is a Platform?

A platform is an OS type, environment, and configuration on which an application is executed. (e.g., Windows, UNIX, MacOS)

MDA is a technique to develop software etc. by focusing on models instead of source codes.

MDA creates platform-independent models in the business analysis and design phase. Because models are not dependent on any specific platform, once the models are created, we do not need to conduct analysis of business processes to create models tailored to each platform even when we develop multiple software products or develop software customized for each platform. After models are defined, by using such models, we also can automatically map them to specific languages or products and achieve system administration and system integration.

The remarkable advantage of MDA is that we can change the business and the system separately by modeling business without depending on OS or languages. By componentizing functions of software etc. that support business process execution, we can develop or modify each individual function.
What is Componentization?
Componentization is to organize a program into components so that we can group specific functions and realize functions by combining them with others.

MDA was proposed by a group of organizations including OMG (Object Management Group), a standards organization, in 2001.

Procedure of MDA

In general, development of software etc. is done by following a cycle comprised of business analysis, design, development, and maintenance phase. However, MDA creates the models listed below to develop software etc..

  • CIM: Models of functions that are to be automated by software etc. Computation-Independent Model.
  • PIM: Business models that are independent of OS or languages. Created in the analysis phase. Platform-Independent Model.

After PIM is created, PSM is sometimes created. We can convert PIM to PSM and PSM to source codes in an automated manner by using tools.

PSM: Models dedicated to a specific platform (OS, language, etc.). Created in the detail design phase. Platform-Specific Model.

The development procedure is shown below.
What is QVT?
QVT is a standard of model conversion defined by OMG and is used to convert a model that complies with one standard into another model that complies with a different standard.
  1. Based on users' requirements and results of business analysis, create CIM.
  2. Based on CIM, create PIM as a business process that utilizes functions of software etc.
  3. Based on PIM, create PSM that is specialized for each platform technology.
  4. Based on the information of PIM or PSM, implement software etc. by converting the models into actual source codes by using tools. To do such conversion, we can rely on the standard called QVT.

MDA enhances the re-usability of models by independently defining models in each phase of the development process.

Tools advocating MDA can be categorized into two types.

  • Tools mainly aiming at creation of framework, including data modeling
  • Tools aiming at automatic generation of source codes, including behavior modeling

Techniques Used in MDA


UML (Unified Modeling Language) is a language that unifies and standardizes the notations for various models used in system development. It is used to represent PIM and PSM. Moreover, UML Profile can be used to exchange models designed for a specific purpose.


MOF (Meta Object Facility) is a model to create models. It defines concepts required in programming languages.


XMI (XML Metadata Interchange) converts model information based on MOF into the XML format. It is the technical specification that enables the model exchange among tools used in each step of the development process.


CWM (Common Warehose MetaModel) is the technical specification to define models for a database (data warehouse).

Outstanding Issues Regarding MDA

Regarding MDA, there is a gap between what is proposed by OMG and how it is generally understood. The characteristic of OMG's MDA is that "visual modeling tools enable information exchange with other design tools, applications, and databases." However, on the other hand, the understanding of many people is that "modeling tools enable the automatic code generation to develop software etc." There is a slight disagreement between the two, and the concept of MDA has not been fully defined yet.

In addition, there are some other issues as shown below.

  • Even though MDA tools, in nature, do not depend on a platform, some tool vendors bundle all of their tools to enclose customers.
  • The standardization concerning MDA has not made enough progress.
  • Development based on MDA requires special skills, and creation of MDA models also requires significant efforts.
  • If we actually create models to develop software etc., it would make the models very complicated.

Relationship of MDA and BPM/BPMN

By developing individual software etc. based on MDA, we can make the continuous process improvement by BPM more effective. By componentizing individual software etc. used in the processes, we can partly modify business processes and also introduce new software etc. Furthermore, it also enables us to develop and introduce software etc. in a process-oriented manner.

In addition, there is BPMN, another modeling notation different from UML. Both UML and BPMN are provided by OMG. However, BPMN is considered as a standard notation to model business processes as workflow. In the future, it is expected that models in MDA phases can be created by using BPMN and those models are exchanged.

Related Articles

What links here
Related changes
Upload file
Special pages
Printable version
Permanent link
Questetra BPM Suite
Workflow Sample:Hints on Defining Workflows for Business Analysts and Managers.

General nouns | Proper nouns | General-purpose business process | Core business process | Business process for support administration
Q-BPM This website was started by Questetra, Inc. for businesspeople all over the world, who are interested in BPM, but spend a great amount of time on the search of a lot of books, documents, and difficult terms. By saving the trouble of looking up a number of related terms or the time of searching documents, Questetra, Inc. hopes to contribute to businesspeople, interested in BPM, all over the world. Questetra Inc. Q-BPM exemplifies various Sample Processes regarding Business Flow in companies, and support Business Flow Diagram making. (* Business Flow Diagram: Business Flow Chart/Business Diagram/Business Process Diagram) This is Cloud-Source type information sending website that invites collaborators all over the world. In principle, contents in this website are public on the basis of the license called “CC-By SA,” which means “possible to copy under specific conditions.”

Powered by MediaWiki CreativeCommons By SA