Application logic patterns reusable elements of user-system interaction

Patterns of various kind are commonly used to reduce costs and improve quality in software development. This paper introduces the concept of patterns at the level of detailed descriptions of the user-system dialogue. Application Logic Patterns define generalised sequences of interactions performed by the system and its users in the context of an abstract problem domain. The patterns are organised into a library. They are precisely described by a language which is defined through a strict meta-model. It extends the notation and semantics of the UML activities and use cases. Each of the patterns describing the visible system dynamics is linked to an abstract domain model central to all the patterns. The patterns can be easily instantiated by substituting abstract domain notions with the notions specific to a given domain. This ease of use and reduction in effort is validated in a controlled experiment using an open-source tool.

[1]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[2]  Michal Smialek,et al.  Mapping MOF-based Requirements Representations to Ontologies for Software Reuse , 2009, TWOMDE@MoDELS.

[3]  Michal Smialek,et al.  Complementary use case scenario representations based on domain vocabularies , 2007, MODELS'07.

[4]  Anthony J. H. Simons,et al.  Control-flow semantics of use cases in UML , 1999, Inf. Softw. Technol..

[5]  Gunnar Overgaard,et al.  Use Cases: Patterns and Modeling Problems , 2004 .

[6]  Jean-Michel Bruel,et al.  Satellite Events at the MoDELS 2005 Conference , 2006 .

[7]  Jochen Ludewig,et al.  Models in software engineering – an introduction , 2003, Software and Systems Modeling.

[8]  Ian M. Graham,et al.  Task scripts, use cases and scenarios in object oriented analysis , 1996, Object Oriented Syst..

[9]  Martin Fowler,et al.  Patterns of Enterprise Application Architecture , 2002 .

[10]  Max Jacobson,et al.  A Pattern Language: Towns, Buildings, Construction , 1981 .

[11]  Martin Fowler,et al.  Analysis patterns - reusable object models , 1996, Addison-Wesley series in object-oriented software engineering.

[12]  Gunnar Övergaard,et al.  Use Cases: Patterns and Blueprints , 2004 .

[13]  Julio Cesar Sampaio do Prado Leite,et al.  A Scenario Construction Process , 2000, Requirements Engineering.

[14]  Julio Cesar Sampaio do Prado Leite,et al.  Domain independent regularities in scenarios , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[15]  Ivar Jacobson,et al.  Object-Oriented Software Engineering , 1991, TOOLS.

[16]  Mohammed Odeh,et al.  Using use case patterns to estimate reusability in software systems , 2006, Inf. Softw. Technol..

[17]  Mark A. Hillebrand,et al.  Invariants, Modularity, and Rights , 2009, Ershov Memorial Conference.

[18]  Alistair Cockburn,et al.  Patterns for Effective Use Cases , 2002 .

[19]  Michał Śmiałek,et al.  Teaching software modeling in a simulated project environment , 2006, MoDELS'06.

[20]  Motoshi Saeki,et al.  Scenario patterns based on case grammar approach , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[21]  Juan Llorens Morillo,et al.  Use Cases in Model-Driven Software Engineering , 2005, MoDELS.

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

[23]  Dines Bjørner,et al.  Rôle of Domain Engineering in Software Development - Why Current Requirements Engineering Is Flawed ! , 2009, Ershov Memorial Conference.

[24]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[25]  Christopher G. Lasater,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

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

[27]  Elina Kalnina,et al.  Comprehensive System for Systematic Case-Driven Software Reuse , 2010, SOFSEM.