Space Reference Metamodel

The goal of the Space Reference Metamodel is the definition of the relationship of the entities at runtime.

This metamodel relates Entities refined by the Entity Context Model to Information Flows defined by the Information Flow Model. To carry out this task the metamodel defines the Referential Space concept which defines a virtual space where a set of entities (or other Referential Spaces) “live”. It means that all entities in belonging to the same Referantial Space have the same lifetime.

For instance, in a traditional Graphical User Interface (GUI), a set of widgets (i.e. Entities) are contained within a panel. If the panel that contains them (or the Frame that contains the panel) disapears, the widgets dissapair.

To define the relationship between a Referential Space and an Entity (or another Referential Space) we define the Reference Dependency relationship.
The Reference Dependency characterizes the relationship with the cardinality attribute. A One To One relationshp allows a Point To Point Information Flow from all the entities belonging to the same referential space to the entity being related. However, a One To Many relationship allows a Broadcast Informationtion Flow from all the entities belonging to the same referential space to the entity being related because you are not able to distinguish between them.

Therefore, a Information Flow System defines a tree of Referential Spaces and Context Aware Entities. While Referential Spaces act as Nodes of the tree, Context Aware Entities act as tree leaves. The Reference Dependency relationship relates Referential Spaces and Context Aware Entities by the means of the Space To Space Reference Dependency and the Entity to Space Reference Dependency.

The Space Reference Metamodel is depicted in Figure 16.

Space Reference Metamodel
Figure 16: Space Reference Metamodel

The Figure 17 shows an interesting example of a generic level Space Reference Model for a generic Collaborative application.
The Shared Application Space represents the system boundaries where both, application clients and server, exchange information.

An example of an entity that is part of this space is the User Manager application which is common to all Work Sessions that are carried out by the system. Another example of an entity at this level is the Session Manager application which io also part of this level

The Work Session Space represents a work session where Entities (i.e.Users) being part of this session exchange information.

Suppose that you are modilng a shared graphic editor, an example of an Entity under this situation is the Drawing being shared by users in the same work session.

Finally, the Entity Session Space represents the user local information that is not manipulated by other users.

Following the graphic editor scenario, the Editor Interface (perhaps exluding the canvas), is an example of an entity that depends on the Entity Session Space.

Session modeling sample
Figure 17: Session modeling sample

You can reference this work as:
Ricardo Tesoriero, José A. Gallud, María D. Lozano and Víctor M. R. Penichet. CAUCE: Model-driven Development of Context-aware Applications for Ubiquitous Computing Environments
Journal of Universal Computer Science,  Vol. 16,  No. 15, pp. 2111-2138. 2010. Link: http://www.jucs.org/jucs_16_15/cauce_model_driven_development