Essential OS Buttons
Essential Open Source Buttons
When you're working in the Instance Browser, a set of buttons are available at the top of the panel, which provide the main operations for working with the elements in your model.
These buttons also appear on the forms and perform the following operations:
View an instance
View references to an instance
Create New Instance
We recommend that you avoid the use of the deep copy - which is very rarely safe to use - as many of the relationships created involve 'link classes' or 'reified relations' which should not be copied in the course of a deep copy. The 'deep copy' should only be used with caution for instances of classes that do not have such relationships defined. Additionally, this operation requires a lot of memory and your repository could become corrupt if Protege experiences an "out of memory exception" during a deep copy.
Adding Elements to Your Repository
All work in Essential Architecture Manager is based on creating elements (Instances) and linking these to other elements. For example, if you create an application, you will link it to the Application Service that it provides, which in turn is linked to the Business Process it supports and the Information that it uses. What we've looked at, here, is how the basic types of relationship between elements of the architecture can be defined. The structure of the Essential Meta Model enables you to, with a fairly small amount of information, follow a Business Process right from the Business Capability it provides down through the applications, information and technology used in support of that process.
Information is captured in Essential Architecture Manager Essential using simple forms that guide you through what information the model requires. However, don't feel that you have to complete every field on the form when you first define a new element. If you have the information available, capture it but don't worry if you don't have the information to hand. You can move on and come back to this element when you do have the information. Essential Architecture Manager will ensure that it all 'joins up'. It's better to leave fields that you don't know about empty than to put inaccurate assumptions into the model. It's always good to complete the description field!
A core theme in Essential Architecture Manager and indeed Essential Meta Model is the ability to roll-up or 'black box' elements of the architecture. This enables you to capture that an element exists in the architecture without having to worry at this stage about defining more detail about how it is composed etc. However, you can still define relationships between this black-boxed element and others in the architecture. When you need to capture more detail about it, you can return to the black-boxed element, 'open the box' and capture the details.
Red boxes highlight mandatory fields that should be completed. Essential Architecture Manager will allow you to continue, even if you leave them empty but this element will be tracked in the repository as one that has an invalid definition. For example, if you are re-defining your Business Processes you might at this time define the Application Services you need. When adding an Application Service (see screen above), you will, therefore, be able to specify which Business Processes it supports, but you may not yet understand the Application Functions the Service provides. In this case you simply add the information you have, which will enable you to answer the queries you currently have. The other details can be completed later, when relevant to you.
You can update information in your repository at any time. Be aware that as you update this may have impacts on other elements that are referencing the instance you are updating. It's good practice to use the 'view' and 'view references' buttons before deleting an Instance to ensure you understand what else you may be affecting before you proceed.
Removing and Deleting Elements
Before you attempt to remove or delete any elements in your architecture, you need to ensure that you understand the difference between the two operations and be clear about which operation you intend to do. Removing an element will remove that instance from a relationship only and will still leave the element in the repository. For example, let's say you have an application called 'Production SAP R/3' which is used in a number of places in your architecture that is used to provide the 'Order Management System' Application Service in the 'Online Store' as well as in 'Telephone Sales'.
- If you remove the Instance, 'Production SAP R/3', from the 'Telephone Sales' Instance, it will remain as an application in the repository and as the Application Provider for the 'Online Store'.
- However, if you delete the instance of 'Production SAP R/3' it will be deleted from the repository completely and all relationships defined to it will be broken, including both the relationship with the 'Online Store' and 'Telephone Sales'.
Definitions and Architectures
All elements in the Essential Meta Model are defined in terms of two concepts:
- A Definition - a simply form that describes what the element is and can make relationships to other elements in the repository. This is like the outer face of the 'black-box' and does not describe in detail how that element is composed.
- An Architecture - a more complex, usually graphical form, that describes how an element works or is composed. This is like defining what the inner workings of the 'black-box' are. Business Process definitions also use this concept, although it is called a Defining Process Flow in the Essential Meta Model. In an architecture, other elements from the repository are used in the context of that architecture. These contextual 'usages' are managed separately (but are tracked) from the elements themselves.
Some useful tips for working with your architecture model in Essential Architecture Manager:
- When capturing complex elements, it is often a good idea to sketch out what it is you are going to capture before modelling directly into Essential. This helps to clarify your understanding of what it is that you are capturing and makes the capture process simpler.
- Don't worry if you need to create additional artefacts as you are modelling. Most form fields that require an Instance to be added (to define a relationship) allow you to also create a new one on-the-fly, which can be very useful - but avoid creating duplicates of elements that are already in repository.
- Always follow the your agreed naming conventions for the layer you are in.
- In many of the forms, Essential Architecture Manager will automatically create the name of an Instance. In which case, you do not need to define one and indeed if you do, Essential Architecture Manager will over-write it. The automatic naming is based on the contents of other fields on the form and once you have completed those fields, the name for your new Instance will be defined for you.
- For those elements that have a 'Label' field, e.g. relationship classes, usage classes, this label is used to display a 'short' name for the element. This is particularly useful when the fully-qualified name of the element is managed automatically and is long. If you want to change the name of an artefact, change the LABEL rather than the NAME field.
- You don't have to complete all the fields on the form. They represent everything that may be useful, but are not necessarily all needed by your organisation - either at all or just at the current point in time. You can simply ignore them for now - leaving them empty. If required, unused fields that are causing confusion, can be hidden very easily.
- Make sure you are clear about whether you should be removing or deleting an Instance from the repository.
- In Stand Alone mode, when you save the repository project, Protege will save three files .pprj, .pont and .pins. If you have enabled change-tracking, Protege will also save three 'annotation' files. The annotations project is a log of all the changes that have been made to the repository. In combination with the 'Changes Tab' in Protege, this provides detailed information about who has changed what and also provides collaborative tools such as chat, discussions and voting about each change. More details about the 'Changes Tab' can be found in the Essential Project Documentation.
A feature of Protege 3.3.1 means that you should never uses spaces in your repository project filename or the annotation files will not be saved. Use '_' for spaces, e.g. Business_Model_v1.
Now that you are more familiar with the key operations of Protege and Essential Architecture Manager, move on to the 'Overview' Tutorials for the layer that you are interested in.