|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|