The goal of this metamodel is expressing the location-aware concepts and characteristics of Context-aware Applications (CAAs) for Ubiquitous Computing Environments (UCEs).

The Universe concept identifies the set of Spaces that represent all system entities.

The Space concept is central to build Space models and it is is specialized into 2 types of spaces: the Virtual and Physical Spaces.

While Physical spaces represent **concrete** spaces that represent entities, such as *rooms, tables, the universe, atoms, people, networks, web sites, a web page, a widget (i.e. button), a point, the Internet, etc.*; the Virtual spaces represent **abstract** spaces, such as *the set of toiletes of an office building (Toilete Zone), the set of spaces that a company emploee is able to access within a building (Complany employee access zone), etc*.

To relate spaces, CAUCE defines 3 relationships: the Composition, the Grouping and the Generalization.

The Composition (♦) is a physical-to-physical space relationship that refers to the inclusion of one Physical Space into another.

For instance, a House is composed by a set of Rooms (House ♦ Kitchen, House ♦ Bedroom, House ♦ Bathroom, etc.).

The Grouping (◊) is a vitual-to-physical-or-virtual space relationship that refers to the union of spaces.

For instance, Complany Employee Access Zone defines the set of spaces that a company employee is able to access within a building. It may include the office the employee belong to, all building toilettes, common halls, stairs, elevator, etc (Employee Zone ◊ Employee Office, Employee Zone ◊ Building Toilettes, Employee Zone ◊ Common Hall, Employee Zone ◊ Building Stairs, Employee Zone ◊ Buyilding Elevators, etc.).

The Generalization (Δ) is a is a vitual-to-physical-or-virtual space relationship that groups spaces by functionality.

For instance, in a 5 floor office building, toilettes belonging to different floors (Toilette1, Toilette2, etc.) are generalized into the Toilete Zone (Toilete Zone Δ Toilette1, Toilete Zone Δ Toilette2, etc.).

The Figure 3 shows the Space metamodel.

Entities are related to Spaces through Events, a basic set of them is: in (↓), out (↑), enter (→) and exit (←).

The relationship between Events and Space Relationships are defined as follows.

- Let x be an Entity, A and B be Physical Spaces and A ♦ B.
- if x ↓ B, then x ↓ A
- if x ↑ A, then x ↑ B

- Let x be an Entity, A be a Virtual Space and B be a Space and A ◊ B.
- if x ↓ B, then x ↓ A
- if x ↑ A, then x ↑ B
- if x ← B, then x ← A
- if x → B, then x → A

- Let x be an Entity, A be a Virtual Space and B be a Space and A Δ B.
- if x ↓ B, then x ↓ A
- if x ↑ A, then x ↑ B
- if x ← B, then x ← A
- if x → B, then x → A
- if x ↑ B, then x ↑ A

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