File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes OO, Patterns, UML and Refactoring and the fly likes To author: MDA issues Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Engineering » OO, Patterns, UML and Refactoring
Bookmark "To author: MDA issues" Watch "To author: MDA issues" New topic
Author

To author: MDA issues

Nicholas Cheung
Ranch Hand

Joined: Nov 07, 2003
Posts: 4982
I am new to Model Driven Architecture. I would like to know what is the difference between MDA and OOAD and other design framework, like water fall model, together with SDLC.
In fact, I wonder, how can a design works with Model Driven. For each system, we have a model. And thus, if we have just 1 system, how can we adopt this approach? Or, in fact, I am misunderstanding this topic?
Thanks.
Nick


SCJP 1.2, OCP 9i DBA, SCWCD 1.3, SCJP 1.4 (SAI), SCJD 1.4, SCWCD 1.4 (Beta), ICED (IBM 287, IBM 484, IBM 486), SCMAD 1.0 (Beta), SCBCD 1.3, ICSD (IBM 288), ICDBA (IBM 700, IBM 701), SCDJWS, ICSD (IBM 348), OCP 10g DBA (Beta), SCJP 5.0 (Beta), SCJA 1.0 (Beta), MCP(70-270), SCBCD 5.0 (Beta), SCJP 6.0, SCEA for JEE5 (in progress)
Jim Arlow
Author
Ranch Hand

Joined: Mar 11, 2004
Posts: 38
Hi Nicolas,
This is what I say in Enterprise Patterns and MDA:
"The essence of MDA is that the creation of an executable software architecture should be driven by the formulation of models rather than by manually writing source code. Source code is generated from the models by a compilation step much as machine code is generated from source code. The MDA initiative aims to move software development to a higher level of abstraction."
In fact, MDA specifies the creation of at least two types of model. The first is the Platform Independent Model (PIM). This is similar to an analysis model in conventional OOAD except that it is much more detailed. It models the functionality of the system from the business perspective independent of any platform such as J2EE or .Net. The second type of model is the Platform Specific Model. This is derived by annotating the PIM with platform specific information. So, for example, you might have a PIM for an order processing system, and two PSMs, one for the J2EE platform and one for .Net. The beauty of this is that the PIM is independent of platform and you can use it as the basis of new PSMs as you need to address new platforms.
It's worth bearing in mind that MDA is a specification for how software can be developed by transforming models. It is not a methodology like RUP, SDLC or the Waterfall method. You could, in principle, apply MDA in the context of any methodology although it is probably most appropriate in an iterative and incremental method.
In terms of applying MDA - this depends on the specific requirements of your particular organization. There are organizations applying MDA effectively today, even though it is a new technology. You can find more details at:
Kennedy Carter iUML
ArcStyler
Nicholas Cheung
Ranch Hand

Joined: Nov 07, 2003
Posts: 4982
Hi Jim,
That is to say, PIM is for the generic system, and PSM is for specified system that interacts with PIM?
Thus, does the case similar to, I have an old system, and then, I provide some interfaces (COBRA or Web Serives) so that .NET or J2EE can connect to the old system using those interfaces?
In adddition, how can I create a PIM system? As any system should be run on at least 1 type of system.
Many thanks.
Nick
Jim Arlow
Author
Ranch Hand

Joined: Mar 11, 2004
Posts: 38
Hi Nick,
It's not that the PSM interacts with the PIM - the PSM is generated from the PIM by adding platform specific information. Thus you might have one PIM and then use that as the basis many PSMs. One PSM might target J2EE, and the other .Net. You can then generate source code from these PSMs for each target platform.
Think of a chain of events - your requirements are transformed into a PIM by a process of OO analysis and design - your PIM is then transformed into one or more PSMs by adding platform specific information - you transform the PSM into source code - you transform the source code into an executable system by compilation and deployment.
Nicholas Cheung
Ranch Hand

Joined: Nov 07, 2003
Posts: 4982
In such sense, are there any ways to make sure that the transformation is correct?
For example, in OOAD, we have some formal methods to make sure that the OO model we design can meet the specification, like OBJ3, FOOPS, etc.
I feel MDA is a bit complicated, and seems to me that PSM is the specification that should be able to adopt by any platforms, like UML diagrams, while we then use Java to implement the system based on those diagrams. However, what are the basis of MDA? can MDA models be visualized by UML or similar things?
Nick
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: To author: MDA issues
 
Similar Threads
MDA or DSM
MDA or DSM
MDA case study
MDA example
Embracing the OMG