Tool Support for Estimating the Memory Usage of Mobile Phone Software

  • Jens Bæk JørgensenEmail author
  • Søren Christensen
  • Antti-Pekka Tuovinen
  • Jianli Xu
Special Section on Leveraging Applications of Formal Methods


We present and discuss a tool that can estimate the worst-case memory usage of interacting software components. The tool applies formal analysis based on Coloured Petri nets (CPN). For a given set of interaction scenarios, the tool calculates a state space of a CPN model and finds a path, which corresponds to a worst-case memory usage interleaving of the events in the scenarios. To hide the formal analysis from the users of the tool, IBM Rational Rose is used as front-end to specify scenarios as annotated UML sequence diagrams, and Microsoft Excel is used as back-end to present the analysis results.


UML Coloured Petri nets Formal methods in practice Embedded systems Industrial case study 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Astesiano, E., Reggio, G.: Towards a well-founded UML-based development method. In: Proceedings of 1st Software Engineering and Formal Methods Conference, pp. 102–115, Brisbane. IEEE, Los Alamitos (2003)Google Scholar
  2. 2.
    Bjørner, D., George, C.W., Haxthausen, A.E., Madsen, C.K., Holmslykke, S., Penicka, M.: “UML-ising” Formal techniques. In: Proceedings of Workshop on SoftSpez Final Report (at ETAPS 2004), vol. 3147 of LNCS, pp. 423–450, Barcelona (2004)Google Scholar
  3. 3.
    Clements P., Kazman R., Klein M. (2002). Evaluating Software Architecture: Methods and Case Studies. Addison-Wesley, ReadingGoogle Scholar
  4. 4.
    Damm W., Harel D. (2001). LSCs: breathing life into message sequence charts. Formal Methods Syst. Des. 19:45–80CrossRefGoogle Scholar
  5. 5.
    de Jonge, M., Muskens, J., Chaudron, M.: Scenario-based prediction of run-time resource consumption in component-based software systems. In: Proceedings of 6th ICSE Workshop on Component-Based Software Engineering: Automated Reasoning and Prediction, Portland, Oregon (2003)Google Scholar
  6. 6.
    Graaf B., Lormans M., Toetenel H. (2003). Embedded software engineering: the state of the practice. IEEE Softw. 20(6): 61–69CrossRefGoogle Scholar
  7. 7.
    Harel D. (1987). Statecharts: A visual formalism for complex systems. Sci. Comput. Program. 8:231–274CrossRefMathSciNetGoogle Scholar
  8. 8.
    Harel D., Marelly R. (2003). Come, Let’s Play: Scenario-based Programming Using LSCs and the Play-Engine. Springer, Berlin Heidelberg New YorkGoogle Scholar
  9. 9.
    Harrison R. (2003). Symbian OS C++ for Mobile Phones. Wiley, New YorkGoogle Scholar
  10. 10.
    Henderson-Sellers B. (2005). UML – the good, the bad or the ugly? Perspectives from a panel of experts. Int. J. Softw. Syst. Model. 4(1):4–13CrossRefGoogle Scholar
  11. 11.
    Hoosier, M., Hatcliff, J., Robby, Dwyer, M.B.: A case study in domain-customized model checking for real-time component software. In: Proceedings of 1st International Symposium on Leveraging Applications of Formal Methods (ISoLA), pp. 261–268, Paphos (2004)Google Scholar
  12. 12.
    Jensen, K.: Coloured Petri nets – basic concepts, analysis methods and practical use. Volume 1, Basic concepts. Monographs in Theoretical Computer Science. An EATCS Series. Springer, Berlin Heidelberg New York (1992)Google Scholar
  13. 13.
    Kazman R., Carriere S., Woods S. (2000). Toward a discipline of scenario-based architectural engineering. Ann. Softw. Eng. 9:5–33CrossRefGoogle Scholar
  14. 14.
    Kristensen L.M., Christensen S., Jensen K. (1998). The practitioner’s guide to coloured Petri nets. Int. J. Softw. Tools Technol. Transf. 2(2):98–132CrossRefGoogle Scholar
  15. 15.
    Krüger, I.H.: Modeling and synthesis with MSC extensions for broadcasting, overlapping, preemptive, and triggered collaborations. In: Proceedings of 2nd International Workshop on Scenarios and State Machines (at ICSE’03), Portland (2003)Google Scholar
  16. 16.
    Lorentsen, L., Tuovinen, A.-P., Xu, J.: Modelling of features and feature interactions in nokia mobile phones using coloured Petri nets. In: Proceedings of 23rd Petri Nets Conference, vol. 2360 of LNCS, pp. 294–313, Adelaide Springer, Berlin Heidelberg New York (2002)Google Scholar
  17. 17.
    Milner R., Tofte M., Harper R., MacQueen D. (1997). The Definition of Standard ML. MIT Press, CambridgeGoogle Scholar
  18. 18.
    Neill C.J., Laplante P.A. (2003). Requirements engineering: the state of the practice. IEEE Softw. 20(6):40–45CrossRefGoogle Scholar
  19. 19.
    Noble J., Weir C., Bibby D. (2000). Small Memory Software: Patterns for Systems with Limited Memory. Addison-Wesley, ReadingGoogle Scholar
  20. 20.
    Paul, R.A., Tsai, W.T., Mikell, J.S.: Rapid simulation evaluation from scenario specifications for command and control systems. In: Proceedings of 2004 CCRT- Command and Control Research and Technology Symposium, San Diego (2004)Google Scholar
  21. 21.
    Reussner, R.H., Küster-Filipe, J., Poernomo, I.H., Shukla, S.: Report on the Workshop on Formal Foundations of Embedded Software and Component-based Software Architectures (FESCA). EASST Newsletter, June (2004). Vol. 8Google Scholar
  22. 22.
    Rumbaugh J., Jacobson I., Booch G. (1999). The Unified Modeling Language Reference Manual. Addison Wesley, ReadingGoogle Scholar
  23. 23.
    Verhoef, M., Wandeler, E., Thiele, L., Lieverse, P.:P System architecture evaluation using modular performance analysis – a case study. In: Proceedings of 1st International Symposium on Leveraging Applications of Formal Methods (ISoLA), pp. 209–220, Paphos (2004)Google Scholar
  24. 24.
    Xu, J.: Evaluating and balancing reliability and performance properties of software architecture using formal modeling techniques. In: Proceedings of the 30th IEEE/NASA Software Engineering Workshop, Columbia, IEEE CS press (2006)Google Scholar
  25. 25.
    Xu J., Kuusela J. (1998). Analyzing the execution architecture of mobile phone software with coloured Petri nets. Int. J. Softw. Tools Technol. Transf. 2(2):133–143CrossRefGoogle Scholar
  26. 26.
    CPN Tools. Scholar
  27. 27.
    IBM Rational Rose. rational/products/roseGoogle Scholar
  28. 28.
    1st International Symposium on Leveraging Applications of Formal Methods. dflt_ns/index.htmlGoogle Scholar
  29. 29.
    Microsoft Office Online. Scholar
  30. 30.
    ITU-T (2001) Recommendation Z.120: Message Sequence Chart (MSC). Geneva. com17/languages/Z.120_1199.pdfGoogle Scholar
  31. 31.
    3rd International Conference on Software Engineering and Formal Methods. Scholar
  32. 32.
    Sixth International Conference on Formal Engineering Methods. Scholar
  33. 33.
    OMG’s UML Resource Page.www.uml.orgGoogle Scholar
  34. 34.
    UML Profile for Schedulability, Performance, and Time Specification. Scholar

Copyright information

© Springer-Verlag 2006

Authors and Affiliations

  • Jens Bæk Jørgensen
    • 1
    Email author
  • Søren Christensen
    • 1
  • Antti-Pekka Tuovinen
    • 2
  • Jianli Xu
    • 2
  1. 1.Department of Computer ScienceUniversity of AarhusAarhus NDenmark
  2. 2.Nokia Technology PlatformsNokia Research CenterHelsinkiFinland

Personalised recommendations