Linking business rules to object-oriented software using JAsCo

  • Authors:
  • María Agustina Cibrán;Maja D'Hondt;Davy Suvée;Wim Vanderperren;Viviane Jonckers

  • Affiliations:
  • (Corresponding author. E-mails: mcibran@vub.ac.be, vejoncke@info.vub.ac.be) System and Software Engineering Lab, Vrije Universiteit Brussel, Pleinlaan 2, 1050 Brussel, Belgium;System and Software Engineering Lab, Vrije Universiteit Brussel, Pleinlaan 2, 1050 Brussel, Belgium;System and Software Engineering Lab, Vrije Universiteit Brussel, Pleinlaan 2, 1050 Brussel, Belgium;System and Software Engineering Lab, Vrije Universiteit Brussel, Pleinlaan 2, 1050 Brussel, Belgium;System and Software Engineering Lab, Vrije Universiteit Brussel, Pleinlaan 2, 1050 Brussel, Belgium

  • Venue:
  • Journal of Computational Methods in Sciences and Engineering - Selected papers from the International Conference on Computer Science,Software Engineering, Information Technology, e-Business, and Applications, 2003
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Object-oriented software applications that support a particular business or domain consist of substantial core application functionality and business rules. Since business rules tend to evolve frequently, it is important to separate them from the core application. However, current approaches that support business rules at the implementation level only separate the business rules themselves and not the code that links them to the core application. We observe that this code crosscuts the core application. As a result, Aspect-Oriented Programming is required to separate and encapsulate the linking code. In addition to this, we identify several other requirements for obtaining highly flexible and configurable business rules. In previous work we conducted an experiment with AspectJ for separating the business rule links. Although this delivered satisfactory results for some of the requirements, many others were not fulfilled. This paper shows how JAsCo, an aspect-oriented implementation language combining the advantages of AspectJ's expressiveness with the plug-and-play characteristics of components, succeeds in fulfilling the remaining requirements.