The Classes category in the Schema section of Project Explorer enables you to view the classes defined in your schema (the metadata for your project). If the project is in schema mode, you can create and modify class definitions. If the project is in database mode, the class information will be displayed in read-only mode allowing you to review the schema. This provides a handy reference to the System Definition Language (SDL) with easy access to all schema descriptions to better understand the intended usage.
The classes pane lists all defined classes in a hierarchical format. Classes follow a classic object model of inheritance - for example, any attributes and relations defined for the DocumentationElement class will be inherited by all of its subclasses that are listed under the class in the Browser pane. The subclasses for the DocumentationElement class include Category, DefinedTerm, Document, ExternalFile, Note, Package, and Text.
NOTE: |
There may be class names shown in the list that you are unfamiliar with. Schema objects can be aliased, allowing your project team to leverage the base metadata definitions while overlaying your specific terminology. For example, if your team or domain favors "Activity" over "Function," you can assign the alias so that all database views, diagrams, and reports use this term without negatively impacting your project in any way.
Also, some of the classes - such as EngineeringElement are marked as abstract in the property sheet. These classes define common attributes or relations in the inheritance model but are conceptual only. You cannot create entities in abstract classes. |
The property sheet shows the properties for the selected class as well as the defined attributes and associated relations. The properties include:
Modified - name of the user, date and time any change was last made to this class.
Abstract - a flag indicating whether or not entities can be created in this class. Abstract classes are defined for schema inheritance purposes only and cannot instantiate entities.
Essential - a flag indicating whether or not this class is required by GENESYS. Essential classes cannot be renamed or deleted.
The attribute pane lists all applicable attribute definitions for the selected class in alphabetical order. To clearly denote which attributes are inherited and which attributes are defined specifically for the selected class, inherited attributes have an asterisk and attributes defined at this class level do not have an asterisk.
Double-clicking on an attribute opens the Properties dialog so that you can define the attribute.
The parameter pane lists all applicable parameter definitions for the selected class in alphabetical order. Parameters are not inherited and therefore require no asterisk to highlight those parameters defined on a superclass.
Double-clicking on a parameter opens the Parameter dialog so that you can define the parameter.
The relations pane lists all applicable relation definitions (with any target definitions indented below them). Like the attribute list, inherited relations and target classes are marked with an asterisk. Relations and target classes defined at this class level do not have an asterisk.
Double-clicking on a relation opens the Target Classes dialog enabling you to edit the associated target classes.
In the Class browser
In the Attributes pane
In the Parameters pane
In the Relations pane
Drag-Drop Relationship Targets
The strength of the systems database is its concrete language in which each term is clearly defined regardless of context. Therefore, it is highly recommended that you extend the schema with care, being sure not to make the SDL context-sensitive.
The names of classes, attributes, parameters, relations, and facilities are used for internal reference and are shown in database mode only if aliases have not been specified. Therefore, if you wish to change the name shown in the database mode, modify the alias. Though the name of a definition marked as essential cannot be changed, an alias can be applied to tailor the GENESYS specification language to your particular project or application.
If you have added numerous aliases to your schema, it may be easier to search by alias than by name.