Modelling Feature Interaction Patterns in Nokia Mobile Phones.

Uploaded on

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

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

More in: Design
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    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

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 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. 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
  • 3. 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
  • 4. 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
  • 5. 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
  • 6. 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, …
  • 7. 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!
  • 8. Reality of UI Software Development? UI design analysis SW design Integration and testing implementation and testing design docs ? UI specs code
  • 9. 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?
      • Identify patterns of interactions that are specific to Nokia’s mobile phone UI
      • Create CPN models that capture the typical interaction patterns in each category
      • Provide
        • Static documentation that explains the interaction patterns
        • An environment for interactive exploration and simulation of the models for demonstrational or analytical purposes
  • 10. 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
  • 11. 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
  • 12. Overview of the CPN model
    • Hierarchically structured
    • 4 parts
      • Applications
      • Servers
      • UI Controller
      • Communication kernel
  • 13. UI controller I
    • Applications make the features available to the user via an user interface
    1 2
  • 14. UI Controller II
    • Many applications active at the same time
    • Need to share the limited UI resources
    1 2
  • 15. Game Feature GAME(none) GAME(none) GAME(suspended) GAME(saved) GAME(active) GAME(none) GAME(active)
  • 16. Common Send-Receive Pattern
    • Triggered by some action
    • Request for display
    • Wait until display is granted
    • Proceed
  • 17. Incoming Call Feature
  • 18. Incoming Call Feature II
  • 19. General Send-Receive Pattern
    • Triggered by some action
    • Request server/application/UI controller
    • Wait for result
    • Proceed
  • 20. 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
  • 21. CPN model in Feature Development
  • 22. Mimic Library
  • 23. Message Sequence Charts Library
  • 24. 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