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
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
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
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
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
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, …
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!
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
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
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
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
29. august 2001CPN'0112
Overview of the CPN model
Hierarchically structured
4 parts– Applications– Servers– UI Controller– Communication
kernel
29. august 2001CPN'0113
UI controller I
Applications make the features available to the user via an user interface
1 2
29. august 2001CPN'0114
UI Controller II
Many applications active at the same time
Need to share the limited UI resources
1 2
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)
29. august 2001CPN'0116
Common Send-Receive Pattern
Triggered by some action
Request for display Wait until display is
granted Proceed
29. august 2001CPN'0117
Incoming Call Feature
29. august 2001CPN'0118
Incoming Call Feature II
29. august 2001CPN'0119
General Send-Receive Pattern
Triggered by some action
Request server/application/UI controller
Wait for result Proceed
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
29. august 2001CPN'0121
CPN model in Feature Development
29. august 2001CPN'0122
Mimic Library
29. august 2001CPN'0123
Message Sequence Charts Library
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