24
Modelling Feature Interaction Patterns in Nokia Mobile Phones using Coloured Petri Nets and Design/CPN Louise Lorentsen University of Aarhus Antti-Pekka Tuovinen Jianli Xu Nokia Research Center

Modelling Feature Interaction Patterns in Nokia Mobile Phones

Embed Size (px)

DESCRIPTION

Modelling Feature Interaction Patterns in Nokia Mobile Phones using Coloured Petri Nets and Design/CPN

Citation preview

Page 1: Modelling Feature Interaction Patterns in Nokia Mobile Phones

Modelling Feature Interaction Patterns in Nokia Mobile Phones using

Coloured Petri Nets and Design/CPN

Louise LorentsenUniversity of Aarhus

Antti-Pekka Tuovinen

Jianli XuNokia Research Center

Page 2: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'012

MAFIA project Modelling and Analysis of Feature Interactions in mobile phone Architectures

Joint project– CPN group, University of Aarhus, Denmark– Nokia Research Center, Finland

15 man months Started nov.2000 Project group:

– Nokia: 2 part time– CPN: 3 part time, 1 full time

Page 3: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'013

Design of a mobile phone UI

Special purpose device for personal communication and information management

Constrained device The user interface is designed to

support the most frequent and important user tasks

The links that enable this kind of flexibility must be built into the UI software

Page 4: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'014

Features

Utility functions (the main purposes of the product) voice and data calls, messaging, phonebook, calendar, games, WAP browser, alarm

clock, calculator, ... user need: communications, time management, contact information management,

being entertained, being informed, … Settings (mode)

call forwarding, call barring, call diverting, profiles, caller groups, ringing tones… user need: configuration of utility functions according to the changing context of

usage, personalization

Notes battery low, charging, missed calls, … user need: getting informed about imporant events related to the (mechanical) state

of the device and the state of (asynchronous) utility functions

UI control functions any key answer, keyguard, keypad cover, lights, … user need: control and configure the user interaction with the device

Page 5: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'015

Feature Interactions

A feature may– invoke other features

utility functions may need other utilities or their subfunctions functions need to issue warnings and info notes goal: smooth flow of users tasks

– take over the display and softkeys from other active feature(s) sharing limited resources according to the priorities of the usage

of the product

– affect the way other features behave configuration of utility functions controlling user interaction

Page 6: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'016

Other issues

Concurrency user, network (calls & messaging), power management,

alarm clock, calendar alarms, SIM card

Very complex behavioral view from the SW development viewpoint!

Many design constraints Limited screen, keys, memory, processing power, …

Page 7: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'017

Motivation for MAFIA

The types and number of interactions are direct indicators of the cost of developing the feature

Problems often arise when integrating independently developed featues

Features are documented (appearance and behavior) Feature interactions are not systematically documented It’s hard to get the interactions right in the

implementation!

Page 8: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'018

Reality of UI Software Development?

UI design

analysis

SW design

Integration and

testing

implementation

and testing

design docs

?

UI specs

code

Page 9: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'019

MAFIA Goals

Increase the level of understanding of the role that interactions play in the UI software and its development

– Many software developers have experience only in desktop applications

How?

1. Identify patterns of interactions that are specific to Nokia’s mobile phone UI

2. Create CPN models that capture the typical interaction patterns in each category

3. Provide 1. Static documentation that explains the interaction patterns

2. An environment for interactive exploration and simulation of the models for demonstrational or analytical purposes

Page 10: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'0110

MAFIA Approach

Build a CPN model of the UI software system– The model reflects the existing UI architecture

(Applications, Servers, UI Controller, Communication kernel)– Features are modelled at a level that captures their essential

behavior– Generic sub-models for features– Modelling of the UI controller is a central issue – new features

can be plugged in

The model includes a sufficient number of features so that all the identified feature interaction categories are covered

Page 11: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'0111

Software Architecture View

Applications implement the features of the mobile phone– Applications make the feature available to the user via a user interface

User interfaces are handled by the UI Controller Servers provide the basic capabilities for the applications

– Servers do not have user interfaces Communication by means of asynchronous message passing

Page 12: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'0112

Overview of the CPN model

Hierarchically structured

4 parts– Applications– Servers– UI Controller– Communication

kernel

Page 13: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'0113

UI controller I

Applications make the features available to the user via an user interface

1 2

Page 14: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'0114

UI Controller II

Many applications active at the same time

Need to share the limited UI resources

1 2

Page 15: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'0115

Game Feature

GAME(none)GAME(none)

GAME(none)GAME(none)

GAME(suspended)GAME(suspended)

GAME(saved)GAME(saved)

GAME(active)GAME(active)

GAME(none)GAME(none)

GAME(active)GAME(active)

Page 16: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'0116

Common Send-Receive Pattern

Triggered by some action

Request for display Wait until display is

granted Proceed

Page 17: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'0117

Incoming Call Feature

Page 18: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'0118

Incoming Call Feature II

Page 19: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'0119

General Send-Receive Pattern

Triggered by some action

Request server/application/UI controller

Wait for result Proceed

Page 20: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'0120

Feature Modelling

User interfaces are handled by the UI controller Feature model:

– -"Top-level" model of the feature– -Description of UI requirements / use of servers or

other features

No assumptions about other features

Easy to add new features

Page 21: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'0121

CPN model in Feature Development

Page 22: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'0122

Mimic Library

Page 23: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'0123

Message Sequence Charts Library

Page 24: Modelling Feature Interaction Patterns in Nokia Mobile Phones

29. august 2001CPN'0124

Status - Future work - Conclusions

Status:– Categorisation of feature interactions– CPN model has several key features

MAFIA work has influenced the current development of a new feature (FM Radio)

MAFIA has generated ideas for the new UI software design