Modelling Feature Interaction Patterns in Nokia Mobile Phones.


Published on

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

Published in: Design
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Modelling Feature Interaction Patterns in Nokia Mobile Phones.

  1. 1. 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
  2. 2. MAFIA project Modelling and Analysis of Feature Interactions in mobile phone Architectures <ul><li>Joint project </li></ul><ul><ul><li>CPN group, University of Aarhus, Denmark </li></ul></ul><ul><ul><li>Nokia Research Center, Finland </li></ul></ul><ul><li>15 man months </li></ul><ul><li>Started nov.2000 </li></ul><ul><li>Project group: </li></ul><ul><ul><li>Nokia: 2 part time </li></ul></ul><ul><ul><li>CPN: 3 part time, 1 full time </li></ul></ul>
  3. 3. Design of a mobile phone UI <ul><li>Special purpose device for personal communication and information management </li></ul><ul><li>Constrained device </li></ul><ul><li>The user interface is designed to support the most frequent and important user tasks </li></ul><ul><li>The links that enable this kind of flexibility must be built into the UI software </li></ul>
  4. 4. Features <ul><li>Utility functions (the main purposes of the product) </li></ul><ul><ul><ul><li>voice and data calls, messaging, phonebook, calendar, games, WAP browser, alarm clock, calculator, ... </li></ul></ul></ul><ul><ul><ul><li>user need: communications, time management, contact information management, being entertained, being informed, … </li></ul></ul></ul><ul><li>Settings (mode) </li></ul><ul><ul><ul><li>call forwarding, call barring, call diverting, profiles, caller groups, ringing tones… </li></ul></ul></ul><ul><ul><ul><li>user need: configuration of utility functions according to the changing context of usage, personalization </li></ul></ul></ul><ul><li>Notes </li></ul><ul><ul><ul><li>battery low, charging, missed calls, … </li></ul></ul></ul><ul><ul><ul><li>user need: getting informed about imporant events related to the (mechanical) state of the device and the state of (asynchronous) utility functions </li></ul></ul></ul><ul><li>UI control functions </li></ul><ul><ul><ul><li>any key answer, keyguard, keypad cover, lights, … </li></ul></ul></ul><ul><ul><ul><li>user need: control and configure the user interaction with the device </li></ul></ul></ul>
  5. 5. Feature Interactions <ul><li>A feature may </li></ul><ul><ul><li>invoke other features </li></ul></ul><ul><ul><ul><li>utility functions may need other utilities or their subfunctions </li></ul></ul></ul><ul><ul><ul><li>functions need to issue warnings and info notes </li></ul></ul></ul><ul><ul><ul><li>goal: smooth flow of users tasks </li></ul></ul></ul><ul><ul><li>take over the display and softkeys from other active feature(s) </li></ul></ul><ul><ul><ul><li>sharing limited resources according to the priorities of the usage of the product </li></ul></ul></ul><ul><ul><li>affect the way other features behave </li></ul></ul><ul><ul><ul><li>configuration of utility functions </li></ul></ul></ul><ul><ul><ul><li>controlling user interaction </li></ul></ul></ul>
  6. 6. Other issues <ul><li>Concurrency </li></ul><ul><ul><ul><li>user, network (calls & messaging), power management, alarm clock, calendar alarms, SIM card </li></ul></ul></ul><ul><li>Very complex behavioral view from the SW development viewpoint! </li></ul><ul><li>Many design constraints </li></ul><ul><ul><ul><li>Limited screen, keys, memory, processing power, … </li></ul></ul></ul>
  7. 7. Motivation for MAFIA <ul><li>The types and number of interactions are direct indicators of the cost of developing the feature </li></ul><ul><li>Problems often arise when integrating independently developed featues </li></ul><ul><li>Features are documented (appearance and behavior) </li></ul><ul><li>Feature interactions are not systematically documented </li></ul><ul><li>It’s hard to get the interactions right in the implementation! </li></ul>
  8. 8. Reality of UI Software Development? UI design analysis SW design Integration and testing implementation and testing design docs ? UI specs code
  9. 9. MAFIA Goals <ul><li>Increase the level of understanding of the role that interactions play in the UI software and its development </li></ul><ul><ul><li>Many software developers have experience only in desktop applications </li></ul></ul><ul><li>How? </li></ul><ul><ul><li>Identify patterns of interactions that are specific to Nokia’s mobile phone UI </li></ul></ul><ul><ul><li>Create CPN models that capture the typical interaction patterns in each category </li></ul></ul><ul><ul><li>Provide </li></ul></ul><ul><ul><ul><li>Static documentation that explains the interaction patterns </li></ul></ul></ul><ul><ul><ul><li>An environment for interactive exploration and simulation of the models for demonstrational or analytical purposes </li></ul></ul></ul>
  10. 10. MAFIA Approach <ul><li>Build a CPN model of the UI software system </li></ul><ul><ul><li>The model reflects the existing UI architecture ( Applications, Servers, UI Controller, Communication kernel) </li></ul></ul><ul><ul><li>Features are modelled at a level that captures their essential behavior </li></ul></ul><ul><ul><li>Generic sub-models for features </li></ul></ul><ul><ul><li>Modelling of the UI controller is a central issue – new features can be plugged in </li></ul></ul><ul><li>The model includes a sufficient number of features so that all the identified feature interaction categories are covered </li></ul>
  11. 11. Software Architecture View <ul><li>Applications implement the features of the mobile phone </li></ul><ul><ul><li>Applications make the feature available to the user via a user interface </li></ul></ul><ul><li>User interfaces are handled by the UI Controller </li></ul><ul><li>Servers provide the basic capabilities for the applications </li></ul><ul><ul><li>Servers do not have user interfaces </li></ul></ul><ul><li>Communication by means of asynchronous message passing </li></ul>
  12. 12. Overview of the CPN model <ul><li>Hierarchically structured </li></ul><ul><li>4 parts </li></ul><ul><ul><li>Applications </li></ul></ul><ul><ul><li>Servers </li></ul></ul><ul><ul><li>UI Controller </li></ul></ul><ul><ul><li>Communication kernel </li></ul></ul>
  13. 13. UI controller I <ul><li>Applications make the features available to the user via an user interface </li></ul>1 2
  14. 14. UI Controller II <ul><li>Many applications active at the same time </li></ul><ul><li>Need to share the limited UI resources </li></ul>1 2
  15. 15. Game Feature GAME(none) GAME(none) GAME(suspended) GAME(saved) GAME(active) GAME(none) GAME(active)
  16. 16. Common Send-Receive Pattern <ul><li>Triggered by some action </li></ul><ul><li>Request for display </li></ul><ul><li>Wait until display is granted </li></ul><ul><li>Proceed </li></ul>
  17. 17. Incoming Call Feature
  18. 18. Incoming Call Feature II
  19. 19. General Send-Receive Pattern <ul><li>Triggered by some action </li></ul><ul><li>Request server/application/UI controller </li></ul><ul><li>Wait for result </li></ul><ul><li>Proceed </li></ul>
  20. 20. Feature Modelling <ul><li>User interfaces are handled by the UI controller </li></ul><ul><li>Feature model: </li></ul><ul><ul><li>-&quot;Top-level&quot; model of the feature </li></ul></ul><ul><ul><li>-Description of UI requirements / use of servers or other features </li></ul></ul><ul><li>No assumptions about other features </li></ul><ul><ul><li> Easy to add new features </li></ul></ul>
  21. 21. CPN model in Feature Development
  22. 22. Mimic Library
  23. 23. Message Sequence Charts Library
  24. 24. Status - Future work - Conclusions <ul><li>Status: </li></ul><ul><ul><li>Categorisation of feature interactions </li></ul></ul><ul><ul><li>CPN model has several key features </li></ul></ul><ul><li>MAFIA work has influenced the current development of a new feature (FM Radio) </li></ul><ul><li>MAFIA has generated ideas for the new UI software design </li></ul>