Perspectives Design Patterns II

In this second part of the Perspectives Design Patterns we deal with Perspectives on and in Contexts.

Perspectives on a Context

Here is a Host User Role that has a Perspective on a Multi Context. In fact the Host will not have a Perspective in the Context itself but instead on the Context Role of the Chats Context:

As you can see there is an extra column called Go. This column contains buttons that, when clicked, will navigate to the Context of the row that is selected. Based on the Model so far nothing will happen. The reason is that the Host User Role does not have a Role within the Chats. To make sure it has we change the Model:

Note that the right diagram is the contents of the Chats Multi Context on the left

Here the Modeler chose the Smartphone UI for the Host and Host In Chats. There is also a Tablet version available. As expected, when we select the (second) Chat (left), we enter the selected Chat (right) and can add a message.

Contexts in Contexts

As noted before, Contexts can be nested. This can be modeled by an IN relation between the embedded Context and the embedding Context as is shown below.

Below, the Context Diagram of the embedding Courses Multi Contexts is shown. Note that the Student can make itself a Student in Courses and Student in Courses can make itself a Student in Sessions:

Being a Student in Sessions it has a Perspectives on the session Presentation.

The resulting Smartphone Prototype starting with the Student Role will look like this:

Entering the first course: Introduction to Perspectives will result in:

And subsequently entering the Context of the first Session results in the next Desktop Prototype:

Here a Image Widget is added to the Model to show one of the slides of the Presentation. Widgets will be explained in this topic.

Aspects

Aspects are Roles that contribute to other Roles without resulting in Instances. They are used to add Aspects that are Properties and Perspectives to the Roles in a Model. Aspects are indicated by outgreyed IN relations. The Model below is paraphrased as follows:

Presenters are Location Users
Sessions are Locations
Location Users have a Perspectives on Locations
Presenters have a Perspective on Sessions

The Location Aspect Role has a Location Property

The Location Aspect Role’s Location Property has a Map Widget

The Session has a Session Title and a Session Date Time

This results in the following Desktop Prototype for the Presenter User. Note that Location is now added to the Properties of Session and the Presenter now has a Perspective on not only Session but also on Location.

This concludes the second part of the Perspective Patterns. A possible next part is about Calculated Properties which you can find here.