Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Modesto Vega

Pages: 1 2 3 [4] 5 6 ... 11

 - Managed by business analysts
 - Models things/concepts in the real world as they are know by the business, regardless of later automation
 - Focusses only only on the definitions, not on any relations or attributes. Only taxonomy (Generalization) is allowed.

I would add Association to Generalisation, at least from a data point of view. If you are building an ontology, you need associations.

In utopia, business analysts should drive this but it is rarely the case. Typically I same seen this driven by a Business Architect or Data Architect or modeller with a business outlook.

Are the two models two different levels of models or two models at the same level that need to be separate, but linked, for reasons other than the level of the model.
I see them as 2 linked views of the same model. Furthermore, I will go as far as arguing that they have to be linked all the way down to physical level to map what I would described as the architectural continuum.

Just to clarify further what we are trying to do. We are trying to put an MDG together that covers the following:

1) Enterprise Data Architecture - covers both Abstract/Conceptual and Logical (can explain the difference if required) it has 3 levels

1.1) Subject Area Model - currently customised stereotype of Activity
[Note: I am still unclear to which part of Core UML Modelling Activity belongs to]

1.2) Domain Model - currently domain, not customised (can also explain why we are doing this if needed)

1.3) Conceptual Data Model - currently customised stereotype of Class

1.4) Logical Data Model (at the enterprise level) - undecided

2) Application Architecture

2.1) Logical data models for each application using Database Engineering

2.2) Physical data models for each application using Database Engineering although we want to customise this to better represent functional partitioning by scheme

In addition, for reference only we might want to something related to Application Architecture using non-customised Component models, and something about Requirements and Actors.
Like Paolo we have an in-flight project and some customisation has been made by manually adding UML stereotypes using Project/Settings/UML Types; hence the question about “reverse engineering” a project, well really repository. 

Thanks for replies.

I think Modesto in his «DataModel» question is (as is often the case) confusing model with diagram.  He's actually asking: "Does that mean a «DataModel» diagram uses the Data Modelling MDG?"
<<DataModel>> is a model stereotype. It does not relate to a diagram, to confuse matters. To reproduce follow these steps:

Using the wizard create a model using Database as the Technology and pick anything under Database Engineering. This will create a model with an stereotype of <<DataModel>>, inside 2 packages are created one called 'Logical Data Model' with no sterortype and another with <<Database>> as the stereotype for the pacakge.

Are you saying this is created using a Data Modelling MDG, presumably Database Engineering and/or Entity Relationship Diagram (see Extensions\MDG Technologies)? I so, is there a way of customising this MDG?

1) Do I have to start the process of creating an MDG file by creating a package profile on an existing model?

No.  I recommend you start with a separate EAP file with nothing in it and use the wizard to create you the basic MDG structure.

Quote from: Modesto Vega
2) If I am using more than one profile in my project/programme and want to customise all, do I need to create a package profile for each
profile I want to use?

Each profile is saved as a separate file, as is the diagram extensions, and each set of toolboxes.
Thanks Glassboy this clearly answers both questions and the answer is really much appreciated. This essentially means that to do what we have in mind I need 4 or 5 profiles, which is more of less what I have being suspecting all the way through this thread.

1) a profile for a customised domain model,
2) a profile for a customised class model,
3) a profile for a customised component model,
4) a profile for a customised data model,
5) possibly a profile for a customised use case model.

4) assumes that any model with a <<DataModel>> stererotype uses the Data Modelling profile. Anybody can confirm this?

Together with any profiles for custom diagrams, and toolboxes, developing the metamodel we have in mind becomes a project in its own.

(The need for multiple profiles as such is rare.)
Have you ever done Enterprise Architecture with just 1 profile? I haven't.

Unless you buy the TOGAF MDG or Zachman Framework MDG you need more than one profile and I will even go futher and argue that you need more than 1 profile even with both of them as physical data modelling is not covered by any of them.

For me, the whole point of using EA is that it can use many profiles within the same root node.

I give up here. wrt your original question I can not see what your issue is. Maybe you should do the same and start over with a new thread and a clear question.

The questions we have arrived to cannot be clearer:

1) Do I have to start the process of creating an MDG file by creating a package profile on an existing model?
2) If I am using more than one profile in my project/programme and want to customise all, do I need to create a package profile for each profile I want to use?

Based on Geert's last contribution I think the answer is Yes to both.

The steps you list do not seem to make any sense in creating a MDG.

Step1 is where you have an issue.

You have to model the metamodel (e.g. stereotypes extending metaclasses)
Start reading here:
So, you are saying that the 1st step is to create profile package needs to be created. Correct?

With all my due respects, I think that some contributors  might have missed a trick with the original question.

If, as I expect, I have to start by creating a Profile Package, thanks to Geert who as usual might have just hit the nail on the head, the only way I can do that is by creating a profile package inside a Model.

This is likely to mean that if I have a complex project containing various models all using different customised profiles within the same root node, I need to create a profile package for each customised profile.

In other words, if I have the following structure

Root node
-----Model 1 - Customised BPMN 2.0
-----Model 2 - Customised UML 2.0
-----Model 3 - Customised Oracle Data Model
-----Model 4 - Customised PostGRES Data Model

I need to create 4 package profiles, one per model and not one package profile. This is, of course, assuming that I can customised the data models.

Once I have done that, I am assuming that I can Generate an MDG Technology file including the 4 customised profiles.

(also notice the learning centre reference)

Step1 is where you have an issue.

You have to model the metamodel (e.g. stereotypes extending metaclasses)
Start reading here:
So, you are saying that the 1st step is to create profile package needs to be created. Correct?


And please don't tell me again to follow the online help because I have and is rubish.

Well I have to disagree. I've found online help very useful when creating an MDG. I've managed to successfully extend ArchiMate MDG. The online help for Sparx EA is head and shoulders above other tools I've used in this space.
Let's start with this and test the process step-by-step with a simple example, the goal of this example is to extend UML:

Step 1) Step one create a project called SimpleUMLTest using Core Modelling/UML 2/Class
Step 2) Leave the project unchanged
Step 3) Whit this project open, from the Tools menu choose MDG technology file
Step 4) On 2nd screen Use an MTS file choose don't use an MTS file at all for the creation of this technology
Step 5)
i - Enter the following; Documentation ID="Sue" Technology ="SimpleUMLExtension" Version="0.5" Notes="Simple UML Extension"
ii - When choosing a file name create a folder called SimpleUMLExtension, and name the file SimpleUMLExtension.xml
Step 6) Under Metamodel just tick Profiles
Step 7) Next screen appears blank, so I leave it blank
Step 8) Choose next and EA starts generating the MDG Technology file
Step 9) Look into SimpleUMLExtension folder, there is only one file there, it is called SimpleUMLExtension.xml and look like

Code: [Select]
  <?xml version="1.0" encoding="windows-1252" ?>
- <MDG.Technology version="1.0">
  <Documentation id="Sue" name="SimpleUMLExtension" version="0.5" notes="Simple UML Extension" />

Have I a miss something? If so, what? Where have I gone wrong?

Once we sort that out, we can try more complicated things; in particular, working around EA self inconsistency, which I presume is playing a factor.

P.S.: I tried that and it works.
P.S. 2: No need for AI at all, hopefully everybody in the forum can do NI

I don't think any of your "conclusions" is correct ???

Geert - generally you are very helfulp except when you choose to use telegraph code or speak Sparkinglish. Which you have been doing in this thread for a while. It will be good if you used more words.

So far I have not managed to produce an MDG containing any profiles used on any of the packages in the project.

It will be a good starting point of if you could provide a step-by-step guide on how to generate an MDG that contains the profiles used in the packages contained within a root node. And please don't tell me again to follow the online help because I have and is rubish.

Just to summarise the contents of this thread so far:

1) Generating an MDG techology file from an existing model will not include the existing profiles associated with the various packages within a project or any customisation to any of the profiles associated with the packages

[Question: If the above is correct, what is the point of Generating an MDG technology file from an existing project]

2) The only profile which can customised is the UML profile

3) The only way to customise the UML profile is by using steretypes and associating them with metaclasses as described in

4) Other profiles, such as database profiles, cannot be customised

5) Once a profile has been customised there is no easy way to apply it to an existing model.

I am not exactly getting stuck, just getting confused.

I have the folllowing structure:

Root Node - ABC
--------------------Package - ABC1
--------------------Package - ABC2
--------------------Package - ABC3

Package ABC1 uses UML2, classes and activities, where I have added custom stereotypes, using Project\Settings\UML Types

Package ABC2 uses UML2, mainly components

Package ABC3 contains mainly database models, currently all Oracle

When I run the MDG creation on the root node and go through all screens, the reuslting MDG profile is essentially empty, except for the name version and description. With empty I mean it does not contain any metaclasses, it does not contain any of the custom stereotypes on ABC1, it also does not contain anything related to the Oracle pattern.

Perhaps, I am missing something but I was empty the MDG Creation to do something similar to reverse engineering my packages and construct something I can use to extend the metamodel. I am probably wrong but have no idea where I missed a step.


Yes Geert, I know about this link and I have followed the steps in Looking at the ouput, the problem must be that the wizard does let me select any Profiles, Patterns or Diagrams.

You can to check the box next to the MDG technology "MDG Technology Builder" to make it active.
That MDG technology contains toolboxes and helpers to create MDG technologies.

It is enabled and active. What next, where can I find the helpers and toolboxes?

Extensions|MDG Technologies and then check the technology called "MDG Technology Builder"

Version 1.

I cam even see the MDG I want to generate, it says location: Model.

Pages: 1 2 3 [4] 5 6 ... 11