Formal Aspects of Computing

, Volume 23, Issue 3, pp 307–332 | Cite as

Partial order semantics for use case and task models

Article

Abstract

Use case models are the specification medium of choice for functional requirements, while task models are employed to capture User Interface (UI) requirements and design information. In current practice, both entities are treated independently and are often developed by different teams, which have their own philosophies and lifecycles. This lack of integration is problematic and often results in inconsistent functional and UI design specifications causing duplication of effort while increasing the maintenance overhead. To address these shortcomings, we propose a formal semantic framework for the integrated development of use case and task models. The semantic mapping is defined in a two step manner from a particular use case or task model notation to the common semantic domain of sets of partially ordered sets. This two-step mapping results in a semantic framework that can be more easily reused and extended. The intermediate semantic domains have been carefully chosen by taking into consideration the intrinsic characteristics of use case and task models. As a concrete example, we provide a semantics for our own DSRG use case formalism and an extended version of ConcurTaskTrees, one of the most popular task model notations. Furthermore, we use the common semantic model to formally define a set of refinement relations for use case and task models.

Keywords

Use case models Task models Partially ordered sets Semantics Formal framework 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. ABK05.
    Ait-Ameur Y, Baron M, Kamel N (2005) Encoding a process algebra using the Event B Method. Application to the validation of user interfaces. In: Proceedings of 2nd IEEE international symposium on leveraging applications of formal methods (ISOLA) 2005, Columbia, USAGoogle Scholar
  2. Abr96.
    Abrial JR (1996) Extending B without changing it (for developing distributed systems). In: Proceedings of putting into pratice methods and tools for information system designGoogle Scholar
  3. AHP96.
    Alur R, Holzmann GJ, Peled D (1996) An analyzer for message sequence charts. Softw Concepts Tools 17(2): 70–77Google Scholar
  4. AnD67.
    Annett J, Duncan KD (1967) Task analysis and training design. Occup Psychol 41: 211–221Google Scholar
  5. ArM01.
    Armour F, Miller G (2001) Advanced use case modeling. Addison-Wesley, BostonGoogle Scholar
  6. BaW90.
    Baeten JCM, Weijland WP (1990) Process algebra. Cambridge University Press, New YorkCrossRefGoogle Scholar
  7. BCR00a.
    Börger E, Cavarra A, Riccobene E (2000) Modeling the dynamics of UML. In: Proceedings of ASM’2000, Switzerland, pp 223–241Google Scholar
  8. BCR00b.
    Börger E, Cavarra A, Riccobene E (2004) On formalizing UML state machines using ASMs. Inf Softw Technol 46(5): 287–292CrossRefGoogle Scholar
  9. BCR00c.
    Börger E, Cavarra A, Riccobene E (2000) An ASM Semantics for UML activity diagrams. In: Proceedings of 8th international conference on algebraic methodology and software technology, Iowa City, Iowa, USA, pp 293–308Google Scholar
  10. BeC07.
    van den Bergh J, Coninx K (2007) From task to dialog model in the UML. In: Proceedings of TaMoDia 2007, Toulouse, France, pp 98–111Google Scholar
  11. BGK98.
    Butler G, Grogono P, Khendek F (1998) A Z specification of use cases. In: Proceedings of APSEC 1998, pp 94–101Google Scholar
  12. BGS03.
    Barnett M, Grieskamp W, Schulte W, Tillmann N, Veanes M (2003) Validating use-cases with the AsmL test tool. In: Proceedings of Quality Software 2003, pp 238–246Google Scholar
  13. Bly75.
    Blyth TS (1975) Set theory and abstract algebra. Longman, LondonMATHGoogle Scholar
  14. BoD00.
    Bolton C, Davies J (2000) Activity graphs and processes. In: Proceedings of integrated formal methods, Berlin, Germany, pp 77–96Google Scholar
  15. Bom07.
    Bomsdorf B (2007) The WebTaskModel approach to web process modelling. In: Proceedings of task models and diagrams for user interface design toulouse, France, pp 240–253Google Scholar
  16. BSB02.
    Bowman H, Steen MWA, Boiten EA, Derrick J (2002) A formal framework for viewpoint consistency. In: Proceedings of formal methods in system design, September 2002, pp 111–166Google Scholar
  17. BuB06.
    Burns A, Baxter G (2006) Time bands for systems structure. In: Structure for dependability: computer-based systems from an interdisciplinary perspective. Springer, BerlinGoogle Scholar
  18. But92.
    Butler M (1992) A CSP approach to action systems. PhD Thesis in Computing Laboratory, Oxford University, OxfordGoogle Scholar
  19. CMN83.
    Card S, Moran TP, Newell A (1983) The psychology of human computer interaction. Erlbaum, HillsdaleGoogle Scholar
  20. Coc01.
    Cockburn A (2001) Writing effective use cases. Addison-Wesley, BostonGoogle Scholar
  21. Den87.
    De Nicola R (1987) Extensional equivalences for transition systems. Acta Inf 24: 211–237CrossRefMATHGoogle Scholar
  22. DFS04.
    Dittmar A, Forbrig F, Stoiber S, Stary C (2004) Tool support for task modelling—a constructive exploration. In: Proceedings of design, specification and verification of interactive systems 2004, July 2004Google Scholar
  23. DiF03.
    Dittmar A, Forbrig P (2003) Higher-order task models. In: Proceedings of design, specification and verification of interactive systems 2003, pp 187–202Google Scholar
  24. EHS99.
    Engels G, Hücking R, Sauer S, Wagner A (1999) UML Collaboration Diagrams and Their Transformation to Java in Proceedings of UIML’99, Fort Collins, CO, USAGoogle Scholar
  25. FrL00.
    Fröhlich P, Link J (2000) Automated test case generation from dynamic models. In: Proceedings of ECOOP’00, Sophia Antipolis and Cannes, France, pp 472–492Google Scholar
  26. FTJ07.
    Fernandes J, Tjell S, Jorgensen JB, Ribeiro O (2007) Designing tool support for translating Use Cases and UML 2.0 sequence diagrams into a coloured Petri Net. In: Proceedings of sixth international workshop on scenarios and state machines (SCESM’07), Minneapolis, MN, IEEE Computer SocietyGoogle Scholar
  27. GLS01.
    Grieskamp W, Lepper M, Schulte W, Tillmann N (2001) Testable use cases in the abstract state machine language. In: Proceedings of second Asia-Pacific conference on quality software, IEEE Computer SocietyGoogle Scholar
  28. GMU07.
    Hopcroft JE, Motwani R, Ullman JD (2007) Introduction to automata theory, languages, and computation, 3rd edn. Pearson/Addison Wesley, BostonGoogle Scholar
  29. Gom05.
    Gomaa H (2005) Designing software product lines with UML. Addison-Wesley, BostonGoogle Scholar
  30. GrS05.
    Grosu R, Smolka SA (2005) Safety-liveness semantics for UML 2.0 sequence diagrams. In: Proceedings of fifth international conference on application of concurrency to system design, Los Alamitos, CA, USA, pp 6–14Google Scholar
  31. HHR05.
    Haugen Ø, Husa KE, Runde RK, Stølen K (2005) STAIRS towards formal design with sequence diagrams. Softw Syst Model 4(4): 355–357CrossRefGoogle Scholar
  32. Int97.
    Interactions, I.-I. P. S.-O. S. (1987). ISO 8807: LOTOS—a formal description technique based on the temporal ordering of observational behaviour. Elsevier, AmsterdamGoogle Scholar
  33. Itu99.
    ITU-T (1999) Recommendation Z.120- message sequence charts. GenevaGoogle Scholar
  34. IYK90.
    Ichikawa H, Yamanaka K, Kato J (1990) Incremental specification in LOTOS. In: Proceedings of protocol specification, testing and verification X, Ottawa, Canada, pp 183–196Google Scholar
  35. Jac92.
    Jacobson I (1992) Object-oriented software engineering: a use case driven approach, ACM Press (Addison-Wesley Pub), New YorkGoogle Scholar
  36. KaL98.
    Katoen JP, Lambert L (1998) Pomsets for message sequence charts. In: Proceedings of formale beschreibungstechniken für verteilte systeme, Cottbus, Germany, Shaker Verlag, pp 197–207Google Scholar
  37. KBV01.
    Khendek F, Bourduas S, Vincent D (2001) Stepwise design with message sequence charts. In: Proceedings of formal techniques for networked and distributed systems (FORTE), Cheju Island, Korea, pp 19–34Google Scholar
  38. KlK05.
    Klug T, Kangasharju J (2005) Executable task models. In: Proceedings of 4th international workshop on Task models and diagrams, Gdansk, Poland, pp 119–122Google Scholar
  39. Kuu95.
    Kuutti K (1995) Activity theory as a potential framework for human-computer interaction research. In: Context and consciousness: activity theory and human-computer interaction, Massachusetts Institute of Technology, pp 17–44Google Scholar
  40. Kwo00.
    Kwon G (2000) Rewrite rules and operational semantics for model checking UML Statecharts. In: Proceedings of UML’2000, York, UK, pp 528–540Google Scholar
  41. Li00.
    Li L (2000) Translating use cases to sequence diagrams. In: Proceedings of IEEE ASE 2000 Grenoble, France, pp 293–296Google Scholar
  42. MeB05.
    Merrick P, Barrow P (2005) The rationale for OO associations in use case modelling. J Object Technol 4(9): 123–142CrossRefGoogle Scholar
  43. Miz07.
    Mizouni R (2007) Formal composition of partial system behaviors. PhD Thesis in Department of Electrical and Computer Engineering, Concordia University, MontrealGoogle Scholar
  44. MPW92.
    Milner R, Parrow J, Walker D (1992) A calculus of mobile processes. Inf Comput 100: 1–40CrossRefMATHMathSciNetGoogle Scholar
  45. NPW08.
    Nipkow T, Paulson L, Wenzel M (2008) Isabelle/HOL: a proof assistant for higher-order logic. Springer, BerlinGoogle Scholar
  46. ÖvP98.
    Övergaard G, Palmkvist K (1998) A formal approach to use cases and their relationships. In: Proceedings of UML’98, Mulhouse, FranceGoogle Scholar
  47. PaS01.
    Paternò F, Santoro C (2001) The ConcurTaskTrees notation for task modelling, Technical Report in CNUCE-C.N.RGoogle Scholar
  48. PaS03.
    Paternò F, Santoro C (2003) Support for reasoning about interactive systems through human–computer interaction designers’ representations. Comp J 48(4): 340–357CrossRefGoogle Scholar
  49. Pat00.
    Paternò F (2000) Model-based design and evaluation of interactive applications. Springer, BerlinMATHGoogle Scholar
  50. Pre05.
    Pressman RS (2005) Software engineering: a practitioner’s approach. McGraw-Hill, BostonGoogle Scholar
  51. RAC00.
    Reggio G, Astesiano E, Choppy C, Hußmann H (2000) Analysing UML active classes and associated state machines - a lightweight formal approach. In: Proceedings of third international conference on fundamental approaches to software engineering, Berlin, pp 127–146Google Scholar
  52. Ros05.
    Roscoe AW (2005) The theory and practice of concurrency, Prentice-Hall (Pearson), Upper Saddle RiverGoogle Scholar
  53. Rui07.
    Rui K (2007) Refactoring use case models. PhD thesis in Department of Computer Science and Software Engineering, Concordia University, MontrealGoogle Scholar
  54. SCK07.
    Sinnig D, Chalin P, Khendek F (2007) Common semantics for use cases and task models. In: Proceedings of integrated formal methods. Oxford, England, pp 579–598Google Scholar
  55. SDM05.
    Seffah A, Desmarais MC, Metzger M (2005) Software and usability engineering: prevalent myths, obstacles and integration avenues. In: Human-centered software engineering—integrating usability in the software development lifecycle. Springer, BerlinGoogle Scholar
  56. SiC07.
    Sinnig D, Chalin P, Khendek F (2007) Consistency between task models and use cases. In: Proceedings of DSV-IS 2007, Salamanca, SpainGoogle Scholar
  57. Sin08.
    Sinnig D (2008) Use case and task models: formal unification and integrated development methodology. PhD Thesis in Department of Computer Science and Software Engineering, Concordia University, Montreal, (available at http://users.encs.concordia.ca/~d_sinnig/phd/Sinnig_PhDThesis2009.pdf)
  58. SLV02.
    Souchon N, Limbourg Q, Vanderdonckt J (2002) Task modelling in multiple contexts of use. In: Proceedings of design, specification and verification of interactive systems, Rostock, Germany, pp 59–73Google Scholar
  59. Som07.
    Somé S (2007) Petri nets based formalization of textual use cases. Technical Report in SITE, TR-2007-11, University of OttawaGoogle Scholar
  60. Ste01.
    Stevens P (2001) On use cases and their relationships in the unified modelling language. In: Proceedings of 4th international conference on fundamental approaches to software engineering, pp 140–155Google Scholar
  61. Sto03.
    Storrle H (2003) Semantics of interactions in UML 2.0. In: Proceedings of symposium on human centric computing languages and environments, Los Alamitos, CA, USA, pp 129–136Google Scholar
  62. SWF07.
    Sinnig D, Wurdel M, Forbrig P, Chalin P, Khendek F (2007) Practical extensions for task models. In: Proceedings of TaMoDia ‘07, Toulouse, France. Springer, BerlinGoogle Scholar
  63. Zhe04.
    Zheng T (2004) Validation and refinement of timed MSC specifications. PhD Thesis in Department of Electrical and Computer Engineering, Concordia University, MontrealGoogle Scholar

Copyright information

© British Computer Society 2010

Authors and Affiliations

  1. 1.Institute of Computer ScienceUniversity of RostockRostockGermany
  2. 2.Faculty of Engineering and Computer ScienceConcordia UniversityMontréalCanada

Personalised recommendations