Application Logic Patterns – Reusable Elements of User-System Interaction

  • Albert Ambroziewicz
  • Michał Śmiałek
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6394)


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.


Problem Domain Activity Diagram Application Logic Abstract Domain Domain Element 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alexander, C., Ishikawa, S., Silverstein, M.: A Pattern Language: Towns, Buildings, Construction. Oxford University Press, Oxford (1977)Google Scholar
  2. 2.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. In: Elements of Reusable Object-Oriented Software. Addison Wesley, Reading (1995)Google Scholar
  3. 3.
    Fowler, M.: Analysis patterns: reusable objects models. Addison-Wesley Longman Publishing Co., Inc., Boston (1997)Google Scholar
  4. 4.
    Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley Longman Publishing Co., Inc., Boston (2002)Google Scholar
  5. 5.
    Bjørner, D.: Role of domain engineering in software development - why current requirements engineering is flawed! In: Pnueli, A., Virbitskaite, I., Voronkov, A. (eds.) Perspectives of Systems Informatics. LNCS, vol. 5947, pp. 2–34. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  6. 6.
    Reenskaug, T.: Models-views-controllers. Technical note, Xerox PARC (1979)Google Scholar
  7. 7.
    Jacobson, I., Christerson, M., Jonsson, P., Overgaard, G.: Object-Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley, Reading (1992)MATHGoogle Scholar
  8. 8.
    Cockburn, A.: Writing Effective Use Cases. Addison-Wesley, Reading (2000)Google Scholar
  9. 9.
    Robertson, S.: Requirements patterns via events/use cases. Technical report, Atlantic Systems Guild Ltd. (1996)Google Scholar
  10. 10.
    Ridao, M., Doorn, J., Leite, J.C.S.d.P.: Domain independent regularities in scenarios. In: Proceedings of the RE 2001, pp. 120–127 (2001)Google Scholar
  11. 11.
    Leite, J.C.S.d.P., Hadad, G.D.S., Doorn, J.H., Kaplan, G.N.: A scenario construction process. Requirements Engineering 5, 38–61 (2000)CrossRefGoogle Scholar
  12. 12.
    Watahiki, K., Saeki, M.: Scenario patterns based on case grammar approach. In: Proceedings of the RE 2001, pp. 300–301 (2001)Google Scholar
  13. 13.
    Śmiałek, M., Ambroziewicz, A., Bojarski, J., Nowakowski, W., Straszak, T.: Introducing a unified requirements specification language. In: Proc. CEE-SET 2007, Software Engineering in Progress, Nakom, pp. 172–183 (2007)Google Scholar
  14. 14.
    Kaindl, H., Śmiałek, M., et al.: Requirements specification language definition. Project Deliverable D2.4.1, ReDSeeDS Project (2007),
  15. 15.
    Graham, I.M.: Task scripts, use cases and scenarios in object-oriented analysis. Object-Oriented Systems 3(3), 123–142 (1996)Google Scholar
  16. 16.
    Constantine, L.L.: What do users want? Engineering usability into software. Windows Tech Journal (1995, rev. 2000)Google Scholar
  17. 17.
    Mukasa, K.S., et al.: Requirements specification language validation report. Project Deliverable D2.5.1, ReDSeeDS Project (2007)Google Scholar
  18. 18.
    Adolph, S., Bramble, P., Cockburn, A., Pols, A.: Patterns for Effective Use Cases. Addison Wesley, Reading (2002)Google Scholar
  19. 19.
    Overgaard, G., Palmkvist, K.: Use Cases: Patterns and Blueprints. Addison Wesley, Reading (2005)Google Scholar
  20. 20.
    Langlands, M.: Inside the oval: use case content patterns. Technical report, Planet Project (2010),
  21. 21.
    Object Management Group: Unified Modeling Language: Superstructure, version 2.2, formal/09-02-02 (2009)Google Scholar
  22. 22.
    van den Berg, K.G., Simons, A.J.H.: Control flow semantics of use cases in UML. Information and Software Technology 41(10), 651–659 (1999)CrossRefGoogle Scholar
  23. 23.
    Śmiałek, M., Kalnins, A., Ambroziewicz, A., Straszak, T., Wolter, K.: Comprehensive system for systematic case-driven software reuse. In: van Leeuwen, J., Muscholl, A., Peleg, D., Pokorný, J., Rumpe, B. (eds.) SOFSEM 2010. LNCS, vol. 5901, pp. 697–708. Springer, Heidelberg (2010)Google Scholar
  24. 24.
    Astudillo, H., Génova, G., Śmiałek, M., et al.: Use cases in model-driven software engineering. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 262–271. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  25. 25.
    Śmiałek, M., Bojarski, J., Nowakowski, W., Ambroziewicz, A., Straszak, T.: Complementary use case scenario representations based on domain vocabularies. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 544–558. Springer, Heidelberg (2007)Google Scholar
  26. 26.
    Jedlitschka, A., Mukasa, K.S., Weber, S.: Case reuse verification and validation report. Project Deliverable D6.2, ReDSeeDS Project (2009),
  27. 27.
    Szmurło, R., Śmiałek, M.: Teaching software modeling in a simulated project environment. In: Kühne, T. (ed.) MoDELS 2006. LNCS, vol. 4364, pp. 301–310. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  28. 28.
    Wolter, K., Śmiałek, M., Hotz, L., Knab, S., Bojarski, J., Nowakowski, W.: Mapping mof-based requirements representations to ontologies for software reuse. In: CEUR Workshop Proceedings (TWOMDE 2009), vol. 531 (2009)Google Scholar
  29. 29.
    Issa, A., Odeh, M., Coward, D.: Using use case patterns to estimate reusability in software systems. Information and Software Technology 48, 836–845 (2006)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Albert Ambroziewicz
    • 1
    • 2
  • Michał Śmiałek
    • 1
  1. 1.Warsaw University of TechnologyWarsawPoland
  2. 2.Infovide-MatrixWarsawPoland

Personalised recommendations