
diagram do not specify when the objects are
constructed and destroyed. The use of UML
behaviour diagrams could represent lifecycle
dependency (this dependency can be stored in a list
of lifecycle dependencies and used later). As a third
heuristic we propose to model an association
between classes, whenever one object cannot exist if
another does not exist.
The case described in the last paragraph is only
one of possible cases of relations among the
elements of the group of potential classes and
operations. We have identified 10 other different
cases. Tables 2 to 5 describe the heuristic rules to be
applied for each case and the rationale behind the
rule. These cases are distributed in four groups:
Group A (Table 2). Rules to be applied to
relations between affordances whose names are
“nouns” in the ontology charts. For example, in
Figure 1, we have: society-person, society-
organization, person-employee, organization-
employer, organization-department, organization-
project and project-task;
Table 2: Rules of Group A
Rule Rule Description, Example and Rationale
a.i
If the relation is a “whole-part” in the ontology chart then the
class diagram will have a composition. (e. g. the affordance
department is part of organisation in the ontology chart and in the
class diagram organisation will be composed of department).
A whole-part relationship means that an affordance is not only
part of its antecedent but also that is ontologically dependent on
it. In OO an aggregation represents that one object is part of
another. We propose the use of “composition”, a special kind of
aggregation, which specifies the composite object is responsible
for the creation and destruction of the parts. Therefore the
lifecycle of the “part” is enclosed in the lifecycle of the composite
object.
a.ii
If the relation is “ontological dependency” there is an
association between the corresponding classes. The existential
dependency must be represented in the behaviour diagrams. (e.g.
the affordance problem is ontologically dependent on
organisation; the class diagram will have an association between
problem and organisation; the behaviour diagram of the class
problem is instantiated and destroyed only if it exists an object of
the class organisation).
An “ontological dependency” means that the dependent
affordance is only possible if we have the antecedent. From the
OO perspective we could say that the object derived from the
dependent affordance should be created and destroyed during the
existence of the object derived from the antecedent. This kind of
dependence cannot be represented in the class diagram, because it
does not specify when the objects are constructed or destroyed.
This is the reason why we propose the use of behaviour diagrams
to represent it. We also propose to model an association between
the classes.
a.iii
If the relation is a “role-name”, the class corresponding to the
role name will be a subclass of the antecedent and will have an
association with the dependent (if the dependent can not be
operation of the role name class). (e.g. the role-name employee is
dependent on person and employs; then, in the class diagram the
employee will be a sub-class of person and will have a relation
with the class that contains the operation employs)
A “role-name”, means that an agent has a specific role. From
the OO perspective we could have the object that was derived
from the “role-name” as a specialisation of the antecedent In
some cases another alternative is the use of the OO concept of
“role” .
a.iv
If the relation is a “specialisation”, it can be translated to a
hierarchic relation in the class diagram. (e.g. natural person and
corporate body are specific terms to legal person; in the class
diagram the natural person and corporate body will be sub-
classes of person).
A “specialisation” in the SAM perspective means that we have
one generic affordance and the specialised ones. In the OO
perspective we have an object that is the generic one and another
that is the specialised one, this concept is modelled as a hierarchic
relation in the class diagram.
Group B (Table 3). Rules to be applied to
relations between affordances where the antecedent
name is a “noun” and the dependent name is a
“verb”. For example, in Figure 1, we have:
employee-works, department-works, employee-
works on, task-work on, department-responsible for,
project-responsible for, project-assigned to and
employee-assigned to;
Table 3: Rules of Group B
Rule Rule Description, Example and Rationale
b.i
If the relation is an “ontological dependency” we have two
options: (1) the operation corresponding to the dependent
affordance will be part of the class definition corresponding to
one of its antecedents, or (2) if it is already part of some class, the
class diagram will have an association between this class and the
class corresponding to the antecedent affordance. The choice of
which class will contain the operation is made according to the
OO principles (e.g. walk can be an operation of people). The
existential dependency will be represented in the behaviour
diagrams. (e.g. the affordance walk is dependent of person and
surface; in the class diagram the walk will be operation of person
and an association between person and surface will be modelled
in the behaviour diagram; no execution of the method walk is
possible without an object of the class surface).
If the operation (from the dependent affordance) is part of the
definition of the class (from the antecedent affordance) the
operation is only possible if the class is possible, since there is not
operation without a class in the OO approach. If the operation is
already part of the definition of another class we propose an
association between the classes, because the operation (from the
dependent affordance) is only possible if a certain class (from the
antecedent affordance) is possible. The class diagram does not
specify when the objects are constructed and destroyed; for that
we propose the use of behaviour diagrams to represent it.
b.ii
If the relation is a “specialisation”, the class diagram will have
the specific (in the ontology chart) as operation of the generic.
(e.g. a generic affordance attitude have the specific affordances
desire, want and like; in the class diagram the class attitude will
have the operations desire, want and like)
A “specialisation” means that we have one generic affordance
and other specialised. We have not this kind of hierarchal relation
between a class and an operation in the class diagram. We
propose that the operation could be modelled as an operation of
the generic one because it suggests that they could have common
behaviour
ICEIS 2004 - INFORMATION SYSTEMS ANALYSIS AND SPECIFICATION
392