Abstract
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.
Keywords
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Alexander, C., Ishikawa, S., Silverstein, M.: A Pattern Language: Towns, Buildings, Construction. Oxford University Press, Oxford (1977)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. In: Elements of Reusable Object-Oriented Software. Addison Wesley, Reading (1995)
Fowler, M.: Analysis patterns: reusable objects models. Addison-Wesley Longman Publishing Co., Inc., Boston (1997)
Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley Longman Publishing Co., Inc., Boston (2002)
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)
Reenskaug, T.: Models-views-controllers. Technical note, Xerox PARC (1979)
Jacobson, I., Christerson, M., Jonsson, P., Overgaard, G.: Object-Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley, Reading (1992)
Cockburn, A.: Writing Effective Use Cases. Addison-Wesley, Reading (2000)
Robertson, S.: Requirements patterns via events/use cases. Technical report, Atlantic Systems Guild Ltd. (1996)
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)
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)
Watahiki, K., Saeki, M.: Scenario patterns based on case grammar approach. In: Proceedings of the RE 2001, pp. 300–301 (2001)
Ś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)
Kaindl, H., Śmiałek, M., et al.: Requirements specification language definition. Project Deliverable D2.4.1, ReDSeeDS Project (2007), http://www.redseeds.eu
Graham, I.M.: Task scripts, use cases and scenarios in object-oriented analysis. Object-Oriented Systems 3(3), 123–142 (1996)
Constantine, L.L.: What do users want? Engineering usability into software. Windows Tech Journal (1995, rev. 2000)
Mukasa, K.S., et al.: Requirements specification language validation report. Project Deliverable D2.5.1, ReDSeeDS Project (2007)
Adolph, S., Bramble, P., Cockburn, A., Pols, A.: Patterns for Effective Use Cases. Addison Wesley, Reading (2002)
Overgaard, G., Palmkvist, K.: Use Cases: Patterns and Blueprints. Addison Wesley, Reading (2005)
Langlands, M.: Inside the oval: use case content patterns. Technical report, Planet Project (2010), http://planetproject.wikidot.com/use-case-content-patterns
Object Management Group: Unified Modeling Language: Superstructure, version 2.2, formal/09-02-02 (2009)
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)
Ś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)
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)
Ś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)
Jedlitschka, A., Mukasa, K.S., Weber, S.: Case reuse verification and validation report. Project Deliverable D6.2, ReDSeeDS Project (2009), http://www.redseeds.eu
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)
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)
Issa, A., Odeh, M., Coward, D.: Using use case patterns to estimate reusability in software systems. Information and Software Technology 48, 836–845 (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ambroziewicz, A., Śmiałek, M. (2010). Application Logic Patterns – Reusable Elements of User-System Interaction. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds) Model Driven Engineering Languages and Systems. MODELS 2010. Lecture Notes in Computer Science, vol 6394. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16145-2_17
Download citation
DOI: https://doi.org/10.1007/978-3-642-16145-2_17
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-16144-5
Online ISBN: 978-3-642-16145-2
eBook Packages: Computer ScienceComputer Science (R0)