Informal Presentation
The Interactive Cooperative Objects
(ICOs) formalism is a formal notation dedicated to the specification of interactive
systems.
ICOs use concepts borrowed from the
object-oriented approach (dynamic instantiation, classification, encapsulation,
inheritance, client/server relationship) to describe the structural or static aspects of
systems, and uses high-level Petri nets to describe their dynamic or behavioural aspects.
ICOs where originally devised for the modelling
and implementation of event-driven interfaces. An ICO model of a system is made up of
several communicating objects, where both behaviour of objects and communication protocol
between objects are described by Petri nets.
In the ICO formalism, an object is an entity
featuring four components: behaviour, services, state and presentation.
- Behaviour : The behaviour of an ICO states how
the object reacts to external stimuli according to its inner state. This behaviour is
described by a high-level Petri net called the Object Control Structure (ObCS) of the
object.
- Services : An ICO offers a set of services that
define the interface (in the programming language meaning) offered by the object to its
environment. In the case of user-driven application, this environment may be either the
user or other objects of the application. The ICO formalism distinguishes between two
kinds of services: ˇ services offered to the user (user services) and services offered to
other objects.
- State : The state of an ICO is the distribution
and the value of the tokens (called the marking) in the places of the ObCS. This allows
defining how the current state influences the availability of services, and conversely how
the performance of a service influences the state of the object.
- Presentation The Presentation of an object states
its external look. This Presentation is a structured set of widgets organised in a set of
windows. The user - system interaction will only take place through those widgets. Each
user action on a widget may trigger one of the ICO's user services. The relation between
user services and widgets is fully stated by the activation function that
associates to each couple (widget, user action) the service to be triggered.
ICO are used to provide a formal description of
the dynamic behaviour of an interactive application. An ICO specification fully describes
the potential interactions that users may have with the application. The specification
encompasses both the "input" aspects of the interaction (i.e. how user actions
impact on the inner state of the application, and which actions are enabled at any given
time) and its "output" aspects (i.e. when and how the application displays
information that is relevant to the user).
An ICO specification is fully executable, which
gives the possibility to prototype and test quickly an application before its is fully
implemented. The specification can also be validated using analysis and prof tools
developped within the Petri nets community.
Formal Definition
Formal definition of
the ICO formalism is available here.
ICOs Environment
An environment is
currently developed at LIHS for the edition, verification and execution of ICO
models. Contact me for further
information.
Related Bibliography
- Palanque, Philippe, and Bastide, Rémi.
"Task Models - System Models: a Formal Bridge Over the Gap." in Critical Issues
in User Interface Systems Engineering. David Benyon, and Philippe Palanque, editors.
Springer (1996) 65-79, Chapter IV.
- Bastide, Rémi, and Palanque, Philippe. "A
Visual and Formal Glue Between Application and Interaction." Journal of Visual
Language and Computing 10, no. 3 (1999)
- Palanque, Philippe, and Bastide, Rémi.
"Synergistic Modelling of Tasks, Users and Systems Using Formal Specification
Techniques." Interacting With Computers 9, no. 2 (1997) 129-53.
- Bastide, Rémi, Palanque, Philippe, Le, Duc-Hoa,
and Muńoz, Jaime. "Integrating Rendering Specifications into a Formalism for the
Design of Interactive Systems." in 5th Eurographics Workshop on Design, Specification
and Verification of Interactive Systems, DSV-IS'98, Abingdon, U. K. June 3-5,1998.
Springer-Verlag (1998)
- Bastide, Rémi, and Palanque, Philippe.
"Implementation Techniques for Petri Net Based Specifications of Human Computer
Dialogues." in 2nd Workshop on Computer Aided Design of User Interfaces, CADUI'96,
Université Notre-Dame de la Paix, Namur (Belgium), 1996. Jean Vanderdonckt, Editor.
Presses Universitaires de Namur (1996) 285-302.
- Bastide, Rémi, and Palanque, Philippe.
"Verification of an Interactive Software by Analysis of Its Formal
Specification." 5th IFIP TC13 International Conference, Interact'95, Lillehamer,
Norway, June 25-29 1995. Chapman et Hall (1995) 191-96.
- Bastide, Rémi, and Palanque, Philippe. "A
Petri-Net Based Environment for the Design of Event-Driven Interfaces." 16th
International Conference on Applications and Theory of Petri Nets, ICATPN'95, Torino,
Italy, June 1995. Giorgio De Michelis, and Michel Diaz, Volume editors. Lecture Notes in
Computer Science, no. 935. Springer (1995) 66-83.
- Bastide, Rémi, and Palanque, Philippe.
"Petri Net Based Design of User-Driven Interfaces Using the Interactive Cooperative
Objects Formalism." in Interactive Systems: Design, Specification, and Verification,
DSV-IS'94. Fabio Paternň, Volume editor. Springer-Verlag (1994) 383-400.
Back to my home page