System Modeler allows you to create 4GL object-oriented applications. In addition to the inherent benefits of using standard object-oriented elements, System Modeler provides access to a host of stereotyped model entities that possess specific properties and roles within the Agile Business Suite processing cycles.
Namespaces and ownership
Namespaces uniquely identify a set of entities from other entities that might have the same name. Specifically, the distinct name of an entity (or qualifier) consists of its namespace and its local name (or identifier).
The namespace of an entity corresponds directly with the qualifier of its owning entity. As all member entities of a specific owning entity are constrained to have distinct identifiers, this ensures that no ambiguity can occur when referring to entities.
When referring to namespace relationships between entities, the following terms are used:
This – refers to the current entity.
Owner – refers to the owning entity of the current entity. The current entity is referred to as a ‘member’ of the owning entity.
Component – refers to the owning segment of the current entity. This can be defined recursively as the successive owner of each owning entity, until the top-most level of the owner hierarchy is reached.
Super – refers to the super (or base) class of the current class.
Kind
The Kind property of an entity determines the kinds of entities it can own. For example, a method cannot own another method.
The following kinds are available:
Owning Kind |
Valid Member Kinds |
---|---|
Attribute | Class diagrams, folders and variables |
Class | Attributes, classes, class diagrams, externals, folders, methods, profiles, teach screens, and primitive classes. |
Class diagram | Attributes, classes, class diagrams, externals, folders, methods, profiles, teach screens, and primitive classes as determined by the owner of the diagram. |
External | Methods and attributes. |
Folder | Attributes, classes, class diagrams, externals, folders, methods, profiles, teach screens, and primitive classes as determined by the owner of the folder. |
Method | Classes, parameters, types, and variables |
Parameter | Attributes, classes, class diagrams, externals, folders, methods, profiles, teach screens, and primitive classes. |
Profile | (None) |
Teach | (None) |
Variable | Attributes, classes, class diagrams, externals, folders, methods, profiles, teach screens, and primitive classes. |
Visibility
The Visibility property of an entity determines its scope, which is its accessibility to other entities, in relation to inheritance and external to this namespace. For example, a method cannot refer to an attribute that is not within scope.
The following visibilities are available:
Visibility |
Scope |
---|---|
Private | Accessible only to entities within its namespace. |
Protected | Accessible to entities within its namespace, and entities inheriting from its namespace. |
Public | Accessible to all entities. |