Use case and task models: formal unification and integrated development methodology

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 this shortcoming, we propose an integrated development methodology for use case and task models. Our methodology serves as a blueprint for practitioners to derive an iterative and incremental development process according to which the two artifacts are successively enhanced in a stepwise and integrated manner. With each step, it is verified that the resulting model is a valid refinement of its source model. For this purpose we define a suite of refinement relations for use case and/or task models and provide automated tool support. The integrated development methodology is based on a formal framework, which defines a two-step mapping from a particular use case or task model notation to a common semantic domain. This two-step mapping results in a semantic framework that can be more easily validated, reused and extended. The intermediate semantic domains have been carefully chosen by taking into consideration the intrinsic characteristics of use case and task models. We selected sets of partially ordered sets (posets) and nondeterministic finite state machines (nFSMs) as semantic domains, supporting a true concurrent and interleaving model of concurrency, respectively. During the course of our research, we also defined DSRG-style use case models and Extended CIT task models as improvements to their respective state-of-the-art counterparts. Each improvement has been carefully selected to ensure that the intent and nature of each model is preserved. In order to show that the set of posets semantics and the nFSM semantics coincide, we established a formal correspondence between the two semantics and prove that they are trace equivalent.

[1]  Fabio Paternò,et al.  Supporting Interactions with Multiple Platforms Through User and Task Models , 2005 .

[2]  K. Kuutti Activity theory as a potential framework for human-computer interaction research , 1995 .

[3]  Birgit Bomsdorf The WebTaskModel Approach to Web Process Modelling , 2007, TAMODIA.

[4]  Fabio Paternò The ConcurTaskTrees Notation , 2000 .

[5]  Björn Regnell,et al.  A hierarchical use case model with graphical representation , 1996, Proceedings IEEE Symposium and Workshop on Engineering of Computer-Based Systems.

[6]  Jonathan Grudin,et al.  Personas: practice and theory , 2003, DUX '03.

[7]  Jussi Kangasharju,et al.  Executable task models , 2005, TAMODIA '05.

[8]  J. C. Martin,et al.  Introduction to Languages and the Theory of Computation" 3rd Ed , 1991 .

[9]  Michael J. Butler A CSP approach to action systems , 1992 .

[10]  Ferhat Khendek,et al.  Towards a Common Semantic Foundation for Use Cases and Task Models , 2007, FMIS@ICFEM.

[11]  Wlodzimierz M. Zuberek,et al.  Timed Petri nets and preliminary performance evaluation , 1980, ISCA '80.

[12]  Deborah J. Mayhew,et al.  The usability engineering lifecycle , 1998, CHI Conference Summary.

[13]  Margus Veanes,et al.  Validating use-cases with the AsmL test tool , 2003, Third International Conference on Quality Software, 2003. Proceedings..

[14]  Ferhat Khendek,et al.  Practical Extensions for Task Models , 2007, TAMODIA.

[15]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[16]  Glynn Winskel,et al.  Events in computation , 1980 .

[17]  Liwu Li,et al.  Translating use cases to sequence diagrams , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[18]  Ferhat Khendek,et al.  Common Semantics for Use Cases and Task Models , 2007, IFM.

[19]  Rocco De Nicola,et al.  Extensional equivalences for transition systems , 1987, Acta Informatica.

[20]  James Noble,et al.  Usage-Centered Design and Software Engineering: Models for Integration , 2003, ICSE Workshop on SE-HCI.

[21]  Peter Linz,et al.  An Introduction to Formal Languages and Automata , 1997 .

[22]  Craig Larman,et al.  Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition) , 1997 .

[23]  Ed Brinksma ISO 8807, LOTOS - A Formal Description Technique Based on the Temporal Ordering of Observational Be , 1988 .

[24]  Peter Fröhlich,et al.  Automated Test Case Generation from Dynamic Models , 2000, ECOOP.

[25]  Michael Sipser,et al.  Introduction to the Theory of Computation , 1996, SIGA.

[26]  Rabeb Mizouni Formal composition of partial system behaviors , 2008 .

[27]  Hassan Gomaa,et al.  Designing Software Product Lines with UML , 2005, 29th Annual IEEE/NASA Software Engineering Workshop - Tutorial Notes (SEW'05).

[28]  Jeff Magee,et al.  Concurrency - state models and Java programs , 2006 .

[29]  Christie Marr Capturing Conflict and Confusion in CSP , 2007, IFM.

[30]  Robert M. Keller,et al.  Formal verification of parallel programs , 1976, CACM.

[31]  Fabio Paternò Model-Based Design and Evaluation of Interactive Applications , 2000 .

[32]  Philippe A. Palanque,et al.  Design, specification, and verification of interactive systems , 2001, SOEN.

[33]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[34]  Christie Marrne Bolton,et al.  Capturing conflict and confusion in CSP , 2007 .

[35]  Kendall Scott The Unified Process Explained , 2001 .

[36]  Kexing Rui Refactoring use case models , 2007 .

[37]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[38]  Tong Zheng Validation and refinement of timed MSC specifications , 2004 .

[39]  D. Rosenberg,et al.  Use Case Driven Object Modeling With UML , 1999 .

[40]  Alistair Cockburn,et al.  Writing Effective Use Cases , 2000 .

[41]  C. A. Petri Fundamentals of a Theory of Asynchronous Information Flow , 1962, IFIP Congress.

[42]  Ferhat Khendek,et al.  Stepwise Design with Message Sequence Charts , 2001, FORTE.

[43]  Jean Vanderdonckt,et al.  Task Modelling in Multiple Contexts of Use , 2002, DSV-IS.

[44]  Sari Kujala Linking User Needs and Use Case-Driven Requirements Engineering , 2005 .

[45]  Peter Linz,et al.  An Introduction to Formal Languages and Automata , 2011 .

[46]  Leonard J. Bass,et al.  Bridging the gaps II: bridging the gaps between software engineering and human-computer interaction , 2004, Proceedings. 26th International Conference on Software Engineering.

[47]  C. Williams,et al.  On Generating EFSM Models from Use Cases , 2007, Sixth International Workshop on Scenarios and State Machines (SCESM'07: ICSE Workshops 2007).

[48]  Peter Forbrig,et al.  Task-Based Development Methodology for Collaborative Environments , 2008, TAMODIA/HCSE.

[49]  Rik Eshuis,et al.  Requirements Level Semantics for UML Statecharts , 2000, FMOODS.

[50]  S. Somé,et al.  Petri Nets Based Formalization of Textual Use Cases , 2007 .

[51]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .

[52]  T. S. Blyth Set theory and abstract algebra , 1975 .

[53]  A. W. Roscoe A classical mind: essays in honour of C. A. R. Hoare , 1994 .

[54]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[55]  Nikolai Tillmann,et al.  Testable use cases in the Abstract State Machine Language , 2001, Proceedings Second Asia-Pacific Conference on Quality Software.

[56]  Sandra Basnyat,et al.  Error Patterns: Systematic Investigation of Deviations in Task Models , 2006, TAMODIA.

[57]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[58]  Ferhat Khendek,et al.  Consistency between Task Models and Use Cases , 2007, EHCI/DS-VIS.

[59]  W. W. Royce,et al.  Managing the development of large software systems , 1970 .

[60]  Joost-Pieter Katoen,et al.  Pomsets for message sequence charts , 1998 .

[61]  Antoni W. Mazurkiewicz,et al.  Introduction to Trace Theory , 1995, The Book of Traces.

[62]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.