Partial order semantics for use case and task models

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.

[1]  Gregor Engels,et al.  UML Collaboration Diagrams and their Transformation to Java , 1999, International Conference on the Unified Modeling Language.

[2]  Jim Davies,et al.  Activity Graphs and Processes , 2000, IFM.

[3]  Radu Grosu,et al.  Safety-liveness semantics for UML 2.0 sequence diagrams , 2005, Fifth International Conference on Application of Concurrency to System Design (ACSD'05).

[4]  O. Ribeiro,et al.  Designing Tool Support for Translating Use Cases and UML 2.0 Sequence Diagrams into a Coloured Petri Net , 2007, Sixth International Workshop on Scenarios and State Machines (SCESM'07: ICSE Workshops 2007).

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

[6]  Fabio Paternò,et al.  Support for Reasoning about Interactive Systems through Human-Computer Interaction Designers' Representations , 2003, Comput. J..

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

[8]  Jos C. M. Baeten,et al.  Process Algebra , 2007, Handbook of Dynamic System Modeling.

[9]  Daniel Sinnig,et al.  Use case and task models: formal unification and integrated development methodology , 2008 .

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

[11]  Kenjiroh Yamanaka,et al.  Incremental specification in LOTOS , 1990, PSTV.

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

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

[14]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

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

[16]  Gregory Butler,et al.  A Z specification of use cases: a preliminary report , 1997, Proceedings of Joint 4th International Computer Science Conference and 4th Asia Pacific Software Engineering Conference.

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

[18]  Gihwon Kwon,et al.  Rewrite rules and Operational Semantics for Model Checking UML Statecharts , 2000, UML.

[19]  E. Börger,et al.  On Formalizing UML State Machines Using ASMs , 2003 .

[20]  Elvinia Riccobene,et al.  Modeling the Dynamics of UML State Machines , 2000, Abstract State Machines.

[21]  Rajeev Alur,et al.  An Analyzer for Message Sequence Charts , 1996, Softw. Concepts Tools.

[22]  Perdita Stevens On Use Cases and Their Relationships in the Unified Modelling Language , 2001, FASE.

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

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

[25]  Elvinia Riccobene,et al.  An ASM Semantics for UML Activity Diagrams , 2000, AMAST.

[26]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach (McGraw-Hill Series in Computer Science) , 2004 .

[27]  Alan Burns,et al.  Time bands in systems structure , 2006 .

[28]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[29]  Gunnar Övergaard,et al.  A Formal Approach to Use Cases and Their Relationships , 1998, UML.

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

[31]  Harald Störrle Semantics of interactions in UML 2.0 , 2003, HCC.

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

[33]  Jeffrey D. Ullman,et al.  Introduction to automata theory, languages, and computation, 2nd edition , 2001, SIGA.

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

[35]  J. Baeten Applications of process algebra , 1990 .

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

[37]  Jan Van den Bergh,et al.  From Task to Dialog Model in the UML , 2007, TAMODIA.

[38]  Peter Merrick,et al.  The Rationale for OO Associations in Use Case Modelling , 2005, J. Object Technol..

[39]  Ketil Stølen,et al.  STAIRS towards formal design with sequence diagrams , 2005, Software & Systems Modeling.

[40]  K. D. Duncan,et al.  TASK ANALYSIS AND TRAINING DESIGN. , 1967 .

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

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

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

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

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

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

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

[48]  Howard Bowman,et al.  A Formal Framework for Viewpoint Consistency , 2002, Formal Methods Syst. Des..

[49]  Allen Newell,et al.  The psychology of human-computer interaction , 1983 .

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

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

[52]  Jan Gulliksen,et al.  Human-Centered Software Engineering - Integrating Usability in the Software Development Lifecycle , 2011 .

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

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

[55]  Mickaël Baron,et al.  Encoding a process algebra using the Event B method , 2009, International Journal on Software Tools for Technology Transfer.

[56]  Anke Dittmar,et al.  Higher-Order Task Models , 2003, DSV-IS.

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

[58]  W BoyerKenneth Advanced use case modeling , 2002 .

[59]  Heinrich Hußmann,et al.  Analysing UML Active Classes and Associated State Machines - A Lightweight Formal Approach , 2000, FASE.

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

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

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

[63]  Tobias Nipkow,et al.  A Proof Assistant for Higher-Order Logic , 2002 .

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