Enterprise Architect version 13 Beta ~ Time Aware Modelling
Sparx Systems released the first Beta of Enterprise Architect version 13 to registered users on June 3rd 2016. Since then a further build of the Beta was released on July 20th 2016.
Numerous changes have been made in version 13 (a full summary can be found at http://www.sparxsystems.com/products/ea/13/ ). I have not tried them all, but one of the more exciting features is explored in this tutorial, namely, Time Aware Modelling.
Overview
Time Aware Modelling is the ability to create an As-Is model, and to clone this to create a new To-Be version whilst maintaining traceability between all the elements. In previous versions of Enterprise Architect, this has been possible, but is quite a laborious process. In Enterprise Architect version 13, Time Aware Modelling becomes far easier as I hope this tutorial will illustrate.
Creating the As-Is Model
For this tutorial I will create a simple UML Model of a basic power supply, although Time Aware Modelling can be applied to any model.
Using EA version 13 Beta, create a new repository with a name and location of your choice.
Under the Model Root create the following Package structure:
In the Package named Design add a UML Class Diagram named Power Supply Version 1.0.
Create the following UML Class Model which is our As-Is model using Connector relationships between the Ports.
We observe that the Port named Earth-Out on the Class named Switch is not connected to anything (it should be connected to Ground). Also let us assume that for the next design we wish to use two controllers, hence we will need a transformer which has four outputs (or two transformers).
This provides us with an opportunity to create a To-Be model and relate this to our As-Is model.
Creating the To-Be Model
This is a four stage process:
Clone the As-Is package structure, creating a To-Be model.
Clone the Elements on the To-Be model.
Modify the To-Be model.
Create the Migration diagram(s).
Cloning the As-Is Package Structure
Right-click the Package named Design and select Clone Structure as New Version…
You will be prompted for a name and version for the new structure, which you should complete as shown below (any version other than 1.0 can be used):
Click OK.
You will then be prompted for a location for the new structure:
Select Power Supply
Click Add New and create a new Package named Version 2.0
Click OK.
You will see a new Diagram created in the Package named Version 2.0.
Rename this diagram Power Supply (Version 2.0).
This diagram contains links to the original As-Is model elements, but has its Version Property set to 2.0.
Cloning the Elements
Logically, you should only clone the elements where changes are to be made in the To-Be model, however I discovered, that when using the new Diagram Filter to Version Option (see later in this tutorial) potentially miss-leading results can occur, therefore I clone all elements in the To-Be model.
To clone an element:
Select an element (or more than one element).
Right-click on a selected element and select Clone Element(s) as New Version…
Click OK.
New elements (each with their Version Property set to 2.0) have been created and added to the package for the To-Be model.
In addition, the diagram has updated its links to refer to these new Elements.
Although not apparent, these new elements (add their child Ports), all have trace relationships back to their corresponding elements in Version 1.0 (the As-Is model).
Modify the To-Be Model
Now we can make some changes to the To-Be model.
By modifying elements and creating new elements create the following UML Class model:
NOTE
Do not forget to set the Version Property on any new elements (such as the Class named Ground and its Port named Earth-In to match those which have been cloned, that is, in this tutorial 2.0. This includes and child elements such as Ports.
Creating the Migration Diagram(s)
This stage is optional, but is a very useful analysis tool.
Create a Package named Migration in the View named Power Supply.
Ensure that you have saved the diagram named Power Supply (Version 2.0)
Right-click this diagram in the Project Browser and select Copy / Paste -> Copy Diagram
Right-click the Package named Migration and select Copy / Paste -> Paste Diagram…
Select Shallow Copy and rename the diagram to Power Supply Migration
Right-click the Class named Switch and select Insert Related Elements…
Check Switch and uncheck Layout Diagram when complete.
Click OK.
Right-click the newly added Class named Switch and select Structural Elements… and select all Ports.
Click Close.
After a bit of re-arranging you will have a good traceability diagram between the As-Is elements and the To-Be elements.
Repeat the above for the remaining elements and after some tidying up, you should have a diagram similar to that shown below:
NOTE
In the diagram above I have changed the line styles for the trace relationships to Orthogonal Square.
Once you have created this related migration diagram, you can use the new Filter to Version feature to highlight which elements are set to a selected version.
Ensure that this diagram has been saved.
Right-click this diagram in the Project Browser and select Copy / Paste -> Copy Diagram
Right-click the Package named Migration and select Copy / Paste -> Paste Diagram…
Select Shallow Copy and rename the diagram to Power Supply Migration – As-Is (Version 1.0)
Right-click the Package named Migration and select Copy / Paste -> Paste Diagram…
Select Shallow Copy and rename the diagram to Power Supply Migration – To-Be (Version 2.0)
Open the Diagram Properties for the Diagram named Power Supply Migration – As-Is (Version 1.0)
Set the Version to 1.0 and check Filter to Version:
Repeat this process for the Diagram named Power Supply Migration – To-Be (Version 2.0)
Conclusion
In this article I have provided a tutorial to illustrate the new Time Aware Modelling functionality provided in Enterprise Architecture version 13 Beta.
I hope you found this article useful and informative and please keep a lookout for further mini tutorials on the new an exciting features of EA version 13.
Phil Chudley
Principal Consultant
Dunstan Thomas Consulting
@SparxEAGuru