* Information Engineering Group Departamento de Inform - PowerPoint PPT Presentation

About This Presentation
Title:

* Information Engineering Group Departamento de Inform

Description:

On Interactions in the RM-ODP. 1. On Interactions in the RM-ODP. Guy Genilloud, Gonzalo G nova ... Departamento de Inform tica. Universidad Carlos III de Madrid ... – PowerPoint PPT presentation

Number of Views:255
Avg rating:3.0/5.0
Slides: 15
Provided by: gti72
Category:

less

Transcript and Presenter's Notes

Title: * Information Engineering Group Departamento de Inform


1
On Interactions in the RM-ODP Guy Genilloud,
Gonzalo Génova WODPEC2005Workshop on ODP for
Enterprise Computing
  • Information Engineering GroupDepartamento
    de Informática
  • Universidad Carlos III de Madridguy.genilloud
    _at_ie.inf.uc3m.es, ggenova_at_inf.uc3m.es
    http//www.ie.inf.uc3m.es/

2
Introduction
  • The RM-ODP foundations are extremely valuable for
    understanding some issues with modelling
    techniques.
  • e.g., Subtyping vs. inheritance
  • e.g., Extends, in Use Case modelling
  • Unfortunately, it is difficult to convey ODPs
    wisdom to people used to other modelling
    frameworks, e.g., UML.
  • fundamental differences in terminology and
    approach
  • lack of explanations and references
  • One essential difference is about actions and
    communications.
  • Many (OO) modelling techniques have only
    localized actions (every action is associated to
    just one entity), and all communications are by
    messages. (e.g., activity diagrams and
    interaction diagrams in UML)
  • ODP has a much more general approach it has
    interactions.

3
Interaction is a poorly explained concept
  • The RM-ODP Foundations document is a difficult
    read, and it is only partially covered by Part 1
  • Some essential concepts are not defined at all
  • e.g., specification, model, relation
  • The concepts of interaction and environment are
    ill-defined and/or poorly explained.
  • interaction is defined on the basis of the
    environment of an object

4
The definition of Environment
  • 8.2 Environment (of an object) the part of the
    model which is not part of that object. NOTE -
    In many specification languages, the environment
    can be considered to include at least one object
    which is able to participate without constraint
    in all possible interactions (see 8.3),
    representing the process of observation.
    ODP-part 2
  • In appearance, a simple definition BUT
  • The concept of model is not defined, and not
    really explained. So, what is the part of the
    model ?
  • why not write instead all the other objects in
    the model ?
  • possibly with an explanation that not all objects
    are specified
  • The note is more puzzling than helpful. Further
    explanations are required, or at least a
    reference

5
The definition of Interaction (1)
  • 8.3 Action Something which happens. An
    internal action always takes place without the
    participation of the environment of the object.
    An interaction takes place with the participation
    of the environment of the object. ODP-part 2.
  • Apparently, the classification is clear BUT
  • It depends on the concept of environment, which
    is poorly defined.
  • And what to think of Note 4?
  • An object may interact with itself, in which
    case it is considered to play at least two roles
    in the interaction, and may be considered, in
    this context, as being a part of its own
    environment. Def. 8.3 Action, Note 4
  • Doesnt it contradict the very definition of
    Environment?

6
The definition of Interaction (2)
  • Peter Linington pointed out to us that Note 4 is
    metaphorical.
  • An object may be considered, in this
    context, as being a part of its own environment.
    Def. 8.3 Action, Note 4
  • OK, but then, an object is never a part of its
    environment.
  • So, either Note 4 is wrong (but we do want it),
    or
  • participation of the environment is NOT the right
    discriminant.
  • No matter how we look at it, we have a
    contradiction
  • the definition of interaction is invalid.

7
An easier concept Joint Action
  • The fact that an object may interact with itself
    complicates explanations immensely.
  • We therefore suggest to first define an auxiliary
    concept, which we may call joint action.
  • Definition A joint action is an action in
    which two or more objects participate, each
    playing one or more roles in the joint action.

8
Interactions and Roles
  • Interaction generalises Joint action.A single
    object may fulfil all the roles of an
    interaction.
  • Interactions, like joint actions, have roles
  • An object may interact with itself, in which
    case it is considered to play at least two roles
    in the interaction, Def. 8.3 Action, Note 4
  • Is the presence of roles the discriminant of
    interactions (vs. internal actions)?
  • No.
  • The discrimination is not absolute.
  • We need to discriminate actions with respect to a
    given object.
  • An action may be an interaction of some objects,
    but an internal action of another object.

9
Internal Joint Actions
  • Consider JA1, a joint action between two objects,
    O1 and O2
  • Being a joint action, JA1 has roles.
  • Now consider O3, which results from composing O1
    and O2
  • O3 is a composite object O1 and O2 are its
    components.
  • Depending on how the composition is made, JA1 is
    either
  • an internal action of O3
  •  Hide JA1 in Comp(O1, O2) 
  • or an interaction of O3
  • JA1 is not hidden

10
How do we know that an action is an
interaction?It is a Design Decision
  • In his WODPEC04 paper, Peter Linington explains
    that
  • interactions are allocated to interfaces by
    design decisions.
  • A similar explanation goes for classifying
    actions
  • It is a design decision, whether a joint action
    among components is an interaction of their
    composite, or one of its internal actions.
  • Importantly, the design decision is also
    dependent on the specification language in use.
  • A Hide operator applies to the terms for actions
    in the specification, or even to the types of
    actions
  • Actions are hidden in groups, not individually

11
What is an interaction of an object?
  • Involvement of the environment represents
    observability. Thus, interactions are observable
    whereas internal actions are not observable,
    because of object encapsulation. Def. 8.3
    Action, Note 5
  • Observability might be the discriminant we are
    looking for, but it cannot be explained in terms
    of the involvement of the environment.
  • An action may be unobserved by the environment of
    the object (e.g., in CCS, if an object interacts
    with itself, the environment cant)
  • But it may nevertheless be considered as being
    observable, because the objects specification
    says that it is (it is a design decision).
  • What is necessarily true of an interaction of an
    object?
  • It has multiple roles
  • It is observable, in the above sense.

12
The ODP Definition of Behaviour
  • 8.6 Behaviour (of an object) A collection of
    actions with a set of constraints on when they
    may occur. ODP-part 2.
  • There is a problem with this definition
  • Obvious, if one remembers that an interaction has
    multiple roles.
  • One needs to know which role(s) an object
    performs, otherwise he/she does to know its
    behaviour (what it does).
  • It is not the same thing to be the buyer or the
    seller in a sale.
  • Peter Linington made an interesting observation
  • the constraints might be on the roles, rather
    than on the actions directly.

13
The ODP Definition of Interface
  • 8.4 Interface An abstraction of the behaviour of
    an object that consists of a subset of the
    interactions of that object together with a set
    of constraints on when they may occur.Each
    interaction of an object belongs to a unique
    interface. Thus the interfaces of an object form
    a partition of the interactions of that object.
  • There are problems in this definition
  • For knowing an interface, one needs to know which
    roles are in it(the Comp. Lang. has Server and
    Client Interfaces)
  • An ODP interface belongs to a single object, and
    an ODP binding binds two or more interfaces. An
    ODP interaction is associated with two or more
    interfaces.
  • An object may interact with itselfThe interfaces
    of an object partition its interaction roles

14
Conclusions
  • The RM-ODP Foundations is a difficult read
  • Many subtle points in the definitions
  • In fact, some definitions are flawed
    (Interaction, Behaviour, Interface)
  • Explanations, and references are lacking. We had
    to second-guess the authors original intentions
    when writing this paper, which was very
    difficult.
  • Writing the RM-ODP Foundations is much more
    difficult.
  • Easy to get something wrong, or to miss
    something.
  • We invite ISO experts to provide the missing
    explanations (and definitions), rather than to
    just fix the flawed definitions.
  • After all, the new definitions might be defective
    again
  • The RM-ODP Foundations should become much more
    accessible, for them to be known to, and used by,
    more and more people.
Write a Comment
User Comments (0)
About PowerShow.com