1 / 14

On Interactions in the RM-ODP Guy Genilloud, Gonzalo Génova

* Information Engineering Group Departamento de Informática Universidad Carlos III de Madrid guy.genilloud@ie.inf.uc3m.es, ggenova@inf.uc3m.es http://www.ie.inf.uc3m.es/. On Interactions in the RM-ODP Guy Genilloud, Gonzalo Génova WODPEC’2005 Workshop on ODP for Enterprise Computing.

Download Presentation

On Interactions in the RM-ODP Guy Genilloud, Gonzalo Génova

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. * Information Engineering GroupDepartamento de Informática Universidad Carlos III de Madridguy.genilloud@ie.inf.uc3m.es, ggenova@inf.uc3m.eshttp://www.ie.inf.uc3m.es/ On Interactions in the RM-ODP Guy Genilloud, Gonzalo Génova WODPEC’2005Workshop on ODP for Enterprise Computing On Interactions in the RM-ODP

  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 ODP’s 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. On Interactions in the RM-ODP

  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 On Interactions in the RM-ODP

  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… On Interactions in the RM-ODP

  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] • Doesn’t it contradict the very definition of Environment? On Interactions in the RM-ODP

  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. On Interactions in the RM-ODP

  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. On Interactions in the RM-ODP

  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. On Interactions in the RM-ODP

  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 • « HideJA1 in Comp(O1, O2) » • or an interaction of O3 • JA1 is not hidden On Interactions in the RM-ODP

  10. How do we know that an action is an interaction?It is a Design Decision • In his WODPEC’04 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 hiddenin groups, not individually On Interactions in the RM-ODP

  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 can’t…) • But it may nevertheless be considered as being observable, because the object’s 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. On Interactions in the RM-ODP

  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. On Interactions in the RM-ODP

  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 On Interactions in the RM-ODP

  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 author’s 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. On Interactions in the RM-ODP

More Related