Model Entities

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:

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.