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.
Similar content being viewed by others
References
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, USA
Abrial JR (1996) Extending B without changing it (for developing distributed systems). In: Proceedings of putting into pratice methods and tools for information system design
Alur R, Holzmann GJ, Peled D (1996) An analyzer for message sequence charts. Softw Concepts Tools 17(2): 70–77
Annett J, Duncan KD (1967) Task analysis and training design. Occup Psychol 41: 211–221
Armour F, Miller G (2001) Advanced use case modeling. Addison-Wesley, Boston
Baeten JCM, Weijland WP (1990) Process algebra. Cambridge University Press, New York
Börger E, Cavarra A, Riccobene E (2000) Modeling the dynamics of UML. In: Proceedings of ASM’2000, Switzerland, pp 223–241
Börger E, Cavarra A, Riccobene E (2004) On formalizing UML state machines using ASMs. Inf Softw Technol 46(5): 287–292
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–308
van den Bergh J, Coninx K (2007) From task to dialog model in the UML. In: Proceedings of TaMoDia 2007, Toulouse, France, pp 98–111
Butler G, Grogono P, Khendek F (1998) A Z specification of use cases. In: Proceedings of APSEC 1998, pp 94–101
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–246
Blyth TS (1975) Set theory and abstract algebra. Longman, London
Bolton C, Davies J (2000) Activity graphs and processes. In: Proceedings of integrated formal methods, Berlin, Germany, pp 77–96
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–253
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–166
Burns A, Baxter G (2006) Time bands for systems structure. In: Structure for dependability: computer-based systems from an interdisciplinary perspective. Springer, Berlin
Butler M (1992) A CSP approach to action systems. PhD Thesis in Computing Laboratory, Oxford University, Oxford
Card S, Moran TP, Newell A (1983) The psychology of human computer interaction. Erlbaum, Hillsdale
Cockburn A (2001) Writing effective use cases. Addison-Wesley, Boston
De Nicola R (1987) Extensional equivalences for transition systems. Acta Inf 24: 211–237
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 2004
Dittmar A, Forbrig P (2003) Higher-order task models. In: Proceedings of design, specification and verification of interactive systems 2003, pp 187–202
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, USA
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–492
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 Society
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 Society
Hopcroft JE, Motwani R, Ullman JD (2007) Introduction to automata theory, languages, and computation, 3rd edn. Pearson/Addison Wesley, Boston
Gomaa H (2005) Designing software product lines with UML. Addison-Wesley, Boston
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–14
Haugen Ø, Husa KE, Runde RK, Stølen K (2005) STAIRS towards formal design with sequence diagrams. Softw Syst Model 4(4): 355–357
Interactions, I.-I. P. S.-O. S. (1987). ISO 8807: LOTOS—a formal description technique based on the temporal ordering of observational behaviour. Elsevier, Amsterdam
ITU-T (1999) Recommendation Z.120- message sequence charts. Geneva
Ichikawa H, Yamanaka K, Kato J (1990) Incremental specification in LOTOS. In: Proceedings of protocol specification, testing and verification X, Ottawa, Canada, pp 183–196
Jacobson I (1992) Object-oriented software engineering: a use case driven approach, ACM Press (Addison-Wesley Pub), New York
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–207
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–34
Klug T, Kangasharju J (2005) Executable task models. In: Proceedings of 4th international workshop on Task models and diagrams, Gdansk, Poland, pp 119–122
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–44
Kwon G (2000) Rewrite rules and operational semantics for model checking UML Statecharts. In: Proceedings of UML’2000, York, UK, pp 528–540
Li L (2000) Translating use cases to sequence diagrams. In: Proceedings of IEEE ASE 2000 Grenoble, France, pp 293–296
Merrick P, Barrow P (2005) The rationale for OO associations in use case modelling. J Object Technol 4(9): 123–142
Mizouni R (2007) Formal composition of partial system behaviors. PhD Thesis in Department of Electrical and Computer Engineering, Concordia University, Montreal
Milner R, Parrow J, Walker D (1992) A calculus of mobile processes. Inf Comput 100: 1–40
Nipkow T, Paulson L, Wenzel M (2008) Isabelle/HOL: a proof assistant for higher-order logic. Springer, Berlin
Övergaard G, Palmkvist K (1998) A formal approach to use cases and their relationships. In: Proceedings of UML’98, Mulhouse, France
Paternò F, Santoro C (2001) The ConcurTaskTrees notation for task modelling, Technical Report in CNUCE-C.N.R
Paternò F, Santoro C (2003) Support for reasoning about interactive systems through human–computer interaction designers’ representations. Comp J 48(4): 340–357
Paternò F (2000) Model-based design and evaluation of interactive applications. Springer, Berlin
Pressman RS (2005) Software engineering: a practitioner’s approach. McGraw-Hill, Boston
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–146
Roscoe AW (2005) The theory and practice of concurrency, Prentice-Hall (Pearson), Upper Saddle River
Rui K (2007) Refactoring use case models. PhD thesis in Department of Computer Science and Software Engineering, Concordia University, Montreal
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–598
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, Berlin
Sinnig D, Chalin P, Khendek F (2007) Consistency between task models and use cases. In: Proceedings of DSV-IS 2007, Salamanca, Spain
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)
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–73
Somé S (2007) Petri nets based formalization of textual use cases. Technical Report in SITE, TR-2007-11, University of Ottawa
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–155
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–136
Sinnig D, Wurdel M, Forbrig P, Chalin P, Khendek F (2007) Practical extensions for task models. In: Proceedings of TaMoDia ‘07, Toulouse, France. Springer, Berlin
Zheng T (2004) Validation and refinement of timed MSC specifications. PhD Thesis in Department of Electrical and Computer Engineering, Concordia University, Montreal
Author information
Authors and Affiliations
Corresponding author
Additional information
J.C.P. Woodcock
Rights and permissions
About this article
Cite this article
Sinnig, D., Khendek, F. & Chalin, P. Partial order semantics for use case and task models. Form Asp Comp 23, 307–332 (2011). https://doi.org/10.1007/s00165-010-0158-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00165-010-0158-z