Book a Demo

Author Topic: Modeling an abstract project?  (Read 13382 times)

ChrisF

  • EA Novice
  • *
  • Posts: 11
  • Karma: +0/-0
    • View Profile
Modeling an abstract project?
« on: December 08, 2009, 06:24:51 am »
I want to model a generic project that can then be used by specific projects of the generic project type. For example, I want model the parts and actions to build a car - body, engine, transmission, and wheels for parts, and move forward, move backward, and stop for actions, to make it simple. So I have 4 parts and 3 actions.

Now I want to use this generic model to build a Cadilac. And then use the same generic model to build a Corvette. You can see how the two specific models share a LOT of commonality from the abstract model, but will need their own specific tweaks.

Does EA support this? Do I just create a generic EA model, and then use that as a "template" for the specific models?
« Last Edit: December 08, 2009, 06:59:20 am by ChrisF »

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Modeling an abstract project?
« Reply #1 on: December 08, 2009, 04:52:42 pm »
If you're familiar with the OMG three level model (CIM,PIM, PSM),
then you can extend it to include a DIM (Domain Independent Model) one level above the CIM.  Your model of how to build a car is at DIM level, the Corvette and Cadillac are at CIM (Domain) level.

You should then be able to use EA's transformation processes to link the DIM to the CIM.

Does that help?
Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Modeling an abstract project?
« Reply #2 on: December 08, 2009, 08:10:22 pm »
Paolo,

Do you have experience with these MDA transforms?
I have a feeling this might be a complicated process, and it is maybe a bit of an overhead.
Using the generic model as a template as Chris suggested might be the easiest solution.

Geert

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Modeling an abstract project?
« Reply #3 on: December 08, 2009, 09:21:53 pm »
Quote
Paolo,

Do you have experience with these MDA transforms?
I have a feeling this might be a complicated process, and it is maybe a bit of an overhead.
Using the generic model as a template as Chris suggested might be the easiest solution.

Geert
No, not yet, but soon.  However, many people on the forum appear to have.

The problem as I see it is that as the generic model evolves, you want the domain models to evolve (or not) and that's where I think transforms should come in...

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Oliver F.

  • EA User
  • **
  • Posts: 573
  • Karma: +2/-1
  • ArenĀ“t we all in the model business ?
    • View Profile
    • Karl Storz homepage
Re: Modeling an abstract project?
« Reply #4 on: December 08, 2009, 11:25:37 pm »
Quote

The problem as I see it is that as the generic model evolves, you want the domain models to evolve (or not) and that's where I think transforms should come in...

MDA transformation is not meant to accomplish this. The purpose is to have an abstract data model independent of any platform specific datatype issues which are then transformed into platform specifics.
The PSM therefore is a 1:1 image of your PIM. If you make extensions to the PSM the next run of your transformation will have to sync the changes applied to the PIM with those in the PSM.

In other words: Your abstract PIM element "car" will be transformed to a real element "CAR" in the PSM (can be labelled differently of course). If you change CAR to extend it to "Cadillac" the next transformation run PIM->PSM will have to sync the "car" with the "Cadillac" changes. If you delete "car" from the PIM and replace it by "sportscar" or something else you will have to take care of the transformation relationship yourself so you do not loose the changes to your Cadillac.

Using MDA for this is tricky and has several pitfalls - your mileage may vary.

Oliver
« Last Edit: December 08, 2009, 11:25:57 pm by ofels »

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Modeling an abstract project?
« Reply #5 on: December 09, 2009, 12:33:44 am »
Except I'm NOT talking about PIM & PSM, but DIM (new kind of model) and CIM where there is a DIM 1:n CIM relationship and the DIM is specifically for abstract models and the CIM concrete.

I don't disagree with your analysis, Oliver, for PIM and PSM.  I just don't think it applies at these higher levels.

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!