Appendix B: Glossary

Home - About » Computer Science - Research - Dissertation
Computer Science
Research, Industry Work,
Programming
Community Service
Hillside Group, CHOOSE,
Stanford GSA
The Serious Side
Business School,
Learning Chinese
Humorous Takes
Switzerland, United States,
Software, Fun Photos
Travel Stories
Europe, United States, Asia
  
Living Places
Berlin (+ Gallery), Zürich
Boston, S.F. + Bay Area

Class

A class is the definition of a (possibly infinite) set of objects, called its instances. A class defines a non-empty set of role types, a composition function, and a class type. The composition function, applied to all role types, results in the class type.

See Definition 3-16 and 3-2.

Class, built-on

A built-on class of a framework is the class of a built-on object. It is connected to the framework through one or more role models.

See Definition 4-8.

Class, extension

An extension class of a framework is a subclass of an extension-point class of a framework.

See Definition 4-13.

Class, extension-point

An extension-point class is a framework class that may be subclassed by framework-external classes.

See Definition 4-10.

Class, use-client

A use-client class of a framework is the class of a use-client object. It is connected to the framework through one or more role models.

See Definition 4-3.

Class set, built-on

The built-on class set of a framework is the set of all built-on classes of the framework.

See Definition 4-9.

Class set, extension-point

The extension-point class set of a framework is the set of all extension-point classes of the framework.

See Definition 4-11.

Class model

A class model is a set of classes and a set of role models. The classes relate to each other by inheritance and object relationship descriptions between role types. The class relationship graph must be non-partitioned.

See Definition 3-20 and 3-11.

Composition function

A composition function composes types. It is used as part of a class definition, where it composes the role types of a class to form the class type.

See page 37.

Framework

A framework is a class model, together with a free role type set, a built-on class set, and an extension-point class set.

See Definition 4-1.

Framework extension

A framework extension is a set of classes. Each class is either an extension class of the framework or a class that is transitively connected with at least one extension class through a role model.

See Definition 4-14.

Framework extension, domain-specific

A domain-specific framework extension is a framework extension that is not a framework, but that can be used by different applications in the same domain.

See Definition 4-15.

Framework extension, application-specific

An application-specific framework extension is a framework extension that is not a framework and that can be used by one specific application only.

See Definition 4-16.

Inheritance

An inheritance is a pair of classes (X, Y) such that any instance of class Y can be substituted in a context where an instance of class X is expected.

See Definition 3-9.

Object

An object is an opaque runtime entity of a system that provides state and operations to query and change that state. An object has a lifecycle: It is created, may change over time, and is possibly deleted. Objects can be identified unambiguously; identity is an intrinsic property of every object.

See Definition 3-1.

Object, built-on

A built-on object of a framework is a framework-external object that a framework object makes use of in an object collaboration task.

See Definition 4-7.

Object, use-client

A use-client object of a framework is a framework-external object that makes use of one or more framework objects in an object collaboration task.

See Definition 4-2.

Object aggregation

An object aggregation is a pair of objects (x, y), stating that an object x aggregates an object y as a part of it. To aggregate an object means to control it, not only to make use of it, but to determine its lifetime and accessibility as well.

See Definition 3-7.

Object aggregation description

An object aggregation description is a pair of types (X, Y) that determines possible runtime object aggregations. An aggregation between two objects (x, y) conforms to the aggregation description if x is of type X or a subtype of X, and if y is of type Y or a subtype of Y.

See Definition 3-8.

Object association

An object association is a pair of objects (x, y), stating that an object x holds a reference to another object y of which it may or may not make use.

See Definition 3-5.

Object association description

An object association description is a pair of types (X, Y) that determines possible runtime object associations. An association between two objects (x, y) conforms to the association description if x is of type X or a subtype of X, and if y is of type Y or a subtype of Y.

See Definition 3-6.

Object collaboration

An object collaboration is a set of objects that relate to each other by object relationships. An object collaboration is said to be valid if it conforms to a class model.

See Definition 3-10.

Object collaboration task

An object collaboration task is an object collaboration and a set of roles objects play in the collaboration. The object relationship graph must be non-partitioned.

See Definition 3-17.

Object system.

An object system is an object collaboration.

See page 31.

Role

A role is an observable behavioral aspect of an object.

See Definition 3-12.

Role constraint

A role constraint is a value from the set {role-implied, role-equivalent, role-prohibited, role-dontcare}. For every given pair of role types (R, S) from a role model one such value is defined.

See Definition 3-19.

Role-dontcare constraint

A role-dontcare value for a pair of role types (R, S) defines that an object playing a role r of role type R has no constraints with respect to another role s of role type S within the given collaboration task. The role s may or may not be available together.

See page 38.

Role-equivalent constraint

A role-equivalent value for a pair of role types (R, S) defines that an object playing a role r defined by role type R is always capable of playing a role s defined by role type S, and vice versa. That is, role r and role s imply each other. This relationship is symmetric and transitive.

See page 38.

Role-implied constraint

A role-implied value for a pair of role types (R, S) defines that an object playing a role r defined by role type R is always capable of playing a role s defined by role type S. That is, role r implies role s. This relationship is transitive.

See page 38.

Role-prohibited constraint

A role-prohibited value for a pair of role types (R, S) defines that an object playing role r defined by role type R may not play role s defined by role type S within a given collaboration task. That is, role r prohibits role s for the task. This relationship is symmetric and transitive.

See page 38.

Role model

A role model is a set of role types that relate to each other by object relationship descriptions and role constraints. The role type relationship graph must be non-partitioned.

See Definition 3-18.

Role model, free

A free role model of a framework is a framework-defined role model that has one or more free role types.

See Definition 4-5.

Role type

A role type is a type that defines the behavior of a role an object may play. It defines the operations and the state model of the role, as well as the associated semantics.

See Definition 3-13.

Role type, callback

A callback role type is a free role type of a framework that has a non-empty set of operations. It may be picked up by higher-layer classes. Callback role types are the role modeling equivalent of callback interfaces as used by traditional coupling mechanisms.

See Definition 4-12.

Role type, free

A free role type of a framework is a role type of a framework-defined role model that may be picked up by use-client classes by putting it into their role type sets.

See Definition 4-4.

Role type, no-operation

A no-operation role type is a role type that defines no operations.

See Definition 3-14.

Role type, no-semantics

A no-semantics role type is a no-operation role type that defines neither state nor behavior.

See Definition 3-15.

Role type set, free

The free role type set of a framework is the set of all free role types of a framework.

See Definition 4-6.

Value

A value is an atomic entity from the abstract and invisible universe of values. A value cannot be perceived directly, but only through occurrences of its representations. The representations are interpreted by means of interpretation functions. These interpretation functions return further (occurrences of representations of) values; they do not change the value.

See Definition 3-3.

Value type

A value type is a type that specifies a set of values together with the interpretation functions applicable to representations of members of this set.

See Definition 3-4.

Copyright (©) 2007 Dirk Riehle. Some rights reserved. (Creative Commons License BY-NC-SA.) Original Web Location: http://www.riehle.org