Abstract
We define a type of concern called a decision module. Decision modules can be seen as a specific subset of often changeable business rules, identified in requirements. We present decision modules as protocol machines in protocol models. The proven property of such protocol machines is their unidirectional dependency from other protocol machines. The composition technique used in protocol models allows for such local changes in a protocol machine that the behaviour of unchanged machines in the whole system is preserved.
We analyse different Java implementation techniques in order to find the possibility of building decision modules having the same properties as in protocol models. We implement decision modules using object composition, reflection, the publisher-subscriber design pattern, interceptors and aspects. The results of our experiments are illustrated with an example of a document submission system. We discuss the functionality of a generic library that we build for adopting the new style of locally changeable implementations with separated decision modules.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
von Halle, B.: Business Rules Applied. Wiley, New York (2001)
Bracha, G., Cook, W.: Mixin-based inheritance. In: OOPSLA/ECOOP 1990 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications, pp. 303–311 (1990)
Business Rules Group. Defining Business Rules. What Are They Really? (2000). http://www.businessrulesgroup.org/first_paper/br01c0.htm
Date, C.J.: What not How: The Business Rules Approach to Application Development. Addison-Wesley, Boston (2000)
Eclipse. AspectJ project. http://projects.eclipse.org/projects/tools.aspectj
EJB 3.2 Expert Group. JSR-318 Enterprise JavaBeans, Version 3.2 (2013)
Filman, R., Elrad, T., Clarke, S., AkÅŸit, M.: Aspect-Oriented Software Development. Addison-Wesley, Boston (2004)
Hoare, C.: Communicating Sequential Processes. Prentice-Hall International (1985)
IDC. IDC survey (2007). http://ceiton.com/CMS/EN/workflow/introduction.html/
Taylor, J., Raden, N.: Smart (Enough) Systems. Prentice Hall, Upper Saddle River, NJ, USA (2007)
JSR-000337 Java SE 8 Release (2014)
Jensen, K.: Coloured Petri Nets. Springer, Heidelberg (1997)
Kellens, A., Schutter, K.D., D’Hondt, T., Jonckers, V., Doggen, H.: Experiences in modularizing business rules into aspects. In: ICSM 2008, pp. 448–451 (2008)
Kerflyn’s Blog. Java 8: Now You Have Mixins?. http://kerflyn.wordpress.com/2012/07/09/java-8-now-you-have-mixins/
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Proceedings of the European Conference on Object-Oriented Programming, vol. 1241, pp. 220–242 (1997)
Cibrán, M.A., D’Hondt, M.: Composable and reusable business rules using AspectJ. In: Workshop on Software engineering Properties of Languages for Aspect Technologies (SPLAT) at the International Conference on AOSD. Boston, USA (2003)
Cibrán, M.A., D’Hondt, M., Jonckers, V.: Aspect-oriented programming for connecting business rules. In: 6th Proceedings of International Conference on Business nforamtioon Systems, Colorado Springs, USA (2003)
Flatt, M., Adsul, B., Felleisen, M.: A programmer’s reduction semantics for classes and mixins. In: Alves-Foss, J. (ed.) Formal Syntax and Semantics of Java. LNCS, vol. 1523, pp. 241–269. Springer, Heidelberg (1999)
McNeile, A., Roubtsova, E.: CSP parallel composition of aspect models. In: AOM 2008, pp. 13–18 (2008)
McNeile, A., Roubtsova, E.: Aspect-oriented development using protocol modeling. In: Katz, S., Mezini, M., Kienzle, J. (eds.) Transactions on Aspect-Oriented Software Development VII. LNCS, vol. 6210, pp. 115–150. Springer, Heidelberg (2010)
McNeile, A., Simons, N.: http://www.metamaxim.com/
McNeile, A., Simons, N.: Protocol modelling: a modelling approach that supports reusable behavioural abstractions. Softw. Syst. Modeling 5(1), 91–107 (2006)
OMG. Unified Modeling Language: Superstructure version 2.1.1 formal/2007-02-03 (2003)
OMG. Case Management Model and Notation. Version 1.0, formal/2014-05-05 (2014)
Oracle. JavaEE Compatibility. http://www.oracle.com/technetwork/java/javaee/overview/compatibility-jsp-136984.html
Roubtsova, E., Roubtsov, S.: A test generator for model-based testing. In: Proceedings of the Fourth International Symposium on Business Modeling and Software Design, BMSD 2014, 24–26 June, 2014. Luxembourg (2014)
Spring. Spring Framework. http://projects.spring.io/spring-framework/
Verheul, J., Roubtsova, E.: An executable and changeable reference model for the health insurance industry. In: The 3rd International Workshop on Behavioural Modelling - Foundations and Application, BM-FA 2011, Birmingham, UK, pp. 33–40. ACM DL (2011)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Roubtsov, S., Roubtsova, E. (2015). Decision Modules in Models and Implementations. In: Roubtsova, E., McNeile, A., Kindler, E., Gerth, C. (eds) Behavior Modeling -- Foundations and Applications. Lecture Notes in Computer Science(), vol 6368. Springer, Cham. https://doi.org/10.1007/978-3-319-21912-7_9
Download citation
DOI: https://doi.org/10.1007/978-3-319-21912-7_9
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-21911-0
Online ISBN: 978-3-319-21912-7
eBook Packages: Computer ScienceComputer Science (R0)