Upon installation GENESYS is immediately able to support our customers’ typical model-based systems engineering (MBSE) activities. However, there are customers who are working in industry sectors that have specific needs. These needs can be driven by particular technologies that are being used in the solution but more typically these needs are driven by organizational and/or process needs. In these cases, customers sometimes need to adapt GENESYS to meet these needs.
GENESYS (like CORE) offers a number of features that enable customers to adapt the product to their particular situation. These features fall into two groups:
1. Those that do not require changes to the GENESYS schema;
2. Those that do require changes to the GENESYS schema. [more]
Customers who are thinking of adapting GENESYS to meet their project needs should approach the adaption with the same rigor that they deal with any other engineering decisions. The adaptions that get made to GENESYS will remain for the life of the project and the system. We suggest that customers do not immediately start adapting GENESYS but extensively evaluate the entities, attributes, and relationships available in GENESYS before embarking on any adaption. The Architecture Definition Guide and the System Definition Guide provide detailed commentary on the use of GENESYS’ entities, attributes, and relationships through the project lifecycle. Look for patterns between the entities in the schema that could meet the needs.
Once the customer has reviewed the capabilities GENESYS provides and decided that GENESYS should be adapted then the features available for adaption include:
1. Alter an entity class name through aliasing;
2. Use of the Category entity;
3. Adding attributes to existing entities;
4. Adding new relationships and additional attributes to the schema;
5. Adding a new entity, with its attributes and new relationships to the schema.
Features 1 and 2 do not require any changes to the schema whereas Features 3, 4 and 5 do.
Altering an Entity Class Name Through Aliasing
Customers may find that an existing entity may met their needs but perhaps is not named identically to something needed by their processes. If compromising on a name of a class cannot be achieved, then it is possible to rename a class of entities using the Alias attribute for the entity’s class via the schema editor. Altering the Alias of an entity class results in the name being altered where it displayed within GENESYS.
The Concern Entity Class is created by Aliasing the Issue Entity Class
Adaption with Category Entities
The GENESYS schema contains a simple entity named Category, which has the relationship Categorizes (Categorized By) with a large number of other entities including Requirements, Functions and Components. Customers can make as many Category entities as needed to adapt GENESYS to their project.
This is best demonstrated with an example. For this article GENESYS is adapted to support an agile management process and its related requirements, user stories, acceptance criteria, releases, iterations, tasks, and planning needs. Category entities can be created representing the categories Acceptance Criteria, Capability, Release, Release Planning, Requirement, User Story, etc.
Category entities created for an agile process
The Categories are used to categorize the Requirements entities into Requirements and User Stories. Customized hierarchy diagrams and icons can then be used to view the appropriate information. Icon templates are created to display the Category within the node.
Customized Icon Template
The customized hierarchy diagrams display specific relationships.
Hierarch Diagram with Customized Icons
In addition to creating custom diagrams and icon templates, users can create customized Facility in order to display entities relevant to the task they are undertaking. In this example a custom Facility named “Agile” has been created to just show those entities associated with the agile management process in the GENESYS Project Explorer pane.
Customized Facility named “Agile”
Adaption By Adding Attributes to Existing Entities
The GENESYS schema editor can be used to add additional attributes to an existing class of entities. There are a number of different types of attributes available including Boolean, Enumeration, Integer, String, etc. The new attributes can be used as the basis of specific Filters or SortBlocks allowing the user to select entities according to some appropriate criteria. Again customized icon templates can be created to display the information on diagrams. In the example, existing GENESYS entities such as Requirements, ProgramElements have been modified to have a new attribute called “AgileStereotype”.
Schema Editor showing Properties for Attribute “Agile Stereotype”
This attribute is then displayed on a hierarchy diagram through the use of a customized icon template named “Number/Name/AgileType”.
Hierarchy Diagram displaying ProgramElement Entities
Adaption by Adding a New Relationships
If the addition of new attributes is not sufficient then new relationships and additional attributes can be added to select classes of entities within the GENESYS schema. In the example, the relation Supplied By (Supplies) is modified so that it can exist between the entities Requirements and ProgramElements, so a Requirement is Supplied By a ProgramElement.
Hierarchy Diagram using the Refined By and Supplied By relationships
Adaption by Adding a New Entity
The final option available is to use the GENESYS schema editor to create a new entity class with its attributes and associated relationships to represent the information that that needs to be captured within the model. In the example, a new entity class named “User Story” has been created to capture the information associated with the agile process’s user stories.
User Story Entity Class with Entities
Viewing The Model
When planning any adaption of GENESYS, customers need to consider not only what information they want to capture in the model but also how that information is going to be viewed. Diagram views will need to be customized to present the information captured by the modifications. Reports will have to be adapted to show the new information.
There are a number of flexible features available within GENESYS to allow customers to adapt GENESYS to the specific needs of a particular project. Before undertaking any changes to the standard GENESYS project, customers should thoroughly evaluate their needs and treat the changes as an engineering activity in their own right. Adapting GENESYS can provide a powerful means of supporting the use of model-base systems engineering in a domain that has not traditionally thought to use these techniques.