Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/976270.976287acmconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
Article

Hybrid aspects for weaving object-oriented functionality and rule-based knowledge

Published: 22 March 2004 Publication History

Abstract

Software applications often consist of implicit knowledge for making decisions or giving advice in addition to object-oriented functionality. A rule-based system can be employed for representing and reasoning with this knowledge. Although several hybrid systems exist that combine object-oriented programming and rule-based reasoning, a survey we conducted reveals that both paradigms are not well integrated and programs are tightly coupled.We propose hybrid aspects for integrating object-oriented programming and rule-based reasoning. As expected, hybrid aspects specify join points where normal execution is interrupted and advice is executed. However, since two different languages are involved, we need join point models for both and advice that activates both. As such, we complement a simple join point model for object-oriented programming with a join point model for rule-based reasoning. Hybrid advice is independent of the interrupted language and supports sending messages as well as activating rules. It uses values of either language transparently.We present OReA, an implementation of hybrid aspects for weaving Smalltalk and a rule-based system. We discuss and illustrate two applications of hybrid aspects.

References

[1]
AspectC++. Web Site of The AspectC++ Project at http://www.aspectc.org/.]]
[2]
Eclipse. Web Site of The Haley Enterprise Inc. at http://www.haley.com.]]
[3]
Kiev 0.9, 1998. Language Specification by Maxim Kizub, http://forestro.com/kiev/kiev.html.]]
[4]
Developing Real-World Java Applications with Blaze Advisor, 1999. Technical White Paper from HNC Software Inc.]]
[5]
Aion 9.0 Rules Guide, 2001. User Guide from Computer Associates.]]
[6]
Lisp Works Knowledge Works and Prolog, 2001. User Guide from Xanalys Inc.]]
[7]
OPSJ 4.1, 2001. Manual by Charles L. Forgy from Production Systems Technologies Inc.]]
[8]
JRules 4.0, 2002. Technical White Paper from ILOG.]]
[9]
Jess 6.1, The Rule Engine for the Java Platform, 2003. User Guide by Ernest J. Friedman-Hill, Sandia National Laboratories.]]
[10]
QuickRules 2.5, 2003. Application Developer Manual from YASU Technologies Inc.]]
[11]
L. Brownston, R. Farrell, E. Kant, and N. Martin. Programming Expert Systems in OPS5: An Introduction to Rule-Based Programming. Addison-Wesley, 1985.]]
[12]
Business Rule Group. Defining Business Rules: What Are They Really?, 2001. http://www.businessrulesgroup.org/.]]
[13]
M. A. Cibrán, M. D'Hondt, and V. Jonckers. Aspect-oriented programming for connecting business rules. In Proceedings of the 6th International Conference on Business Information Systems, 2003.]]
[14]
M. A. Cibrán, M. D'Hondt, D. Suvée, W. Vanderperren, and V. Jonckers. Jasco for linking business rules to object-oriented software. In Proceedings of International Conference on Computer Science, Software Engineering, Information Technology, e-Business, and Applications (CSITeA '03), 2003.]]
[15]
C. Date. What not How: The Business Rules Approach to Application Development. Addison-Wesley, 2000.]]
[16]
M. D'Hondt. A survey of hybrid systems: Integrating rule-based and object-oriented languages. Technical report, Vrije Universiteit Brussel, 2003.]]
[17]
M. D'Hondt and K. Gybels. Seamless integration of rule-based knowledge and object-oriented functionality with linguistic symbiosis. In Proceedings of the 19th Annual ACM Symposium on Applied Computing (SAC 2004), Special Track on Object-Oriented Programming, Languages and Systems (OOPS). ACM Press, 2004 (to appear).]]
[18]
M. D'Hondt, W. D. Meuter, and R. Wuyts. Using reflective logic programming to describe domain knowledge as an aspect. In First Symposium on Generative and Component-Based Software Engineering, 1999.]]
[19]
C. Forgy. Rete: A fast algorithm for the many pattern/many object pattern match problem. Artificial Intelligence, 19(1):17--37, 1982.]]
[20]
K. Gybels and J. Brichau. Arranging language features for more robust pattern-based crosscuts. In Proceedings of the 2nd international conference on Aspect-oriented software development, pages 60--69. ACM Press, 2003.]]
[21]
R. Hirschfeld. Aspects - Aspect-Oriented Programming with Squeak. In Lecture Notes in Computer Science: Objects, Components, Architectures, Services, and Applications for a Networked World: International Conference NetObjectDays (NODe 2002), Erfurt, Germany, pages 216--232. Springer-Verlag Heidelberg, 2002.]]
[22]
P. Jackson. Introduction to Expert Systems. Addison-Wesley, 1986.]]
[23]
K. Mens, I. Michiels, and R. Wuyts. Supporting software development through declaratively codified programming patterns. In Proceedings of the 13th SEKE Conference, 2001.]]
[24]
T. Mens and T. Tourwe. A declarative evolution framework for object-oriented design patterns. In Proceedings of Int. Conf. on Software Maintenance, 2001.]]
[25]
K. R. Milliken, A. J. Finkel, D. A. Klein, and N. B. Waite. Adding rule-based techniques to procedural languages. In Proceedings of the first international conference on Industrial and engineering applications of artificial intelligence and expert systems, pages 185--194. ACM Press, 1988.]]
[26]
H. Ossher and P. Tarr. Using multidimensional separation of concerns to (re)shape evolving software. Communications of the ACM, 44(10):43--50, 2001.]]
[27]
F. Pachet. On the embeddability of production rules in object-oriented languages. Journal of Object-Oriented Programming, 8(4):19--24, 1995.]]
[28]
R. Pawlak, L. Seinturier, L. Duchien, and G. Florin. Jac: A flexible and efficient solution for aspect-oriented programming in java. In Proceedings of Reflection 2001: Meta-level Architectures and Separation of Crosscutting Concern, 2001.]]
[29]
R. G. Ross. Principles of the Business Rule Approach. Addison-Wesley, 2003.]]
[30]
D. B. Tucker and S. Krishnamurthi. Pointcuts and advice in higher-order languages. In Proceedings of the 2nd international conference on Aspect-oriented software development, pages 158--167. ACM Press, 2003.]]
[31]
B. von Halle. Business Rules Applied. Wiley, 2001.]]
[32]
R. Wuyts. A Logic Meta-Programming Approach to Support the Co-Evolution of Object-Oriented Design and Implementation. PhD thesis, Vrije Universiteit Brussel, 2001.]]
[33]
R. Wuyts and K. Mens. Declaratively codifying software architectures using virtual software classifications. In Proceedings of TOOLS Europe, 1999.]]

Cited By

View all
  • (2014)Implicit BPM: A Business Process Platform for Transparent Workflow WeavingBusiness Process Management10.1007/978-3-319-10172-9_11(168-183)Online publication date: 2014
  • (2011)A sequence of patterns for reusable aspect libraries with easy configurationProceedings of the 10th international conference on Software composition10.5555/2025951.2025958(68-83)Online publication date: 30-Jun-2011
  • (2011)A Sequence of Patterns for Reusable Aspect Libraries with Easy ConfigurationSoftware Composition10.1007/978-3-642-22045-6_5(68-83)Online publication date: 2011
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
AOSD '04: Proceedings of the 3rd international conference on Aspect-oriented software development
March 2004
161 pages
ISBN:1581138423
DOI:10.1145/976270
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 March 2004

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

AOSD04

Acceptance Rates

Overall Acceptance Rate 41 of 139 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 19 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2014)Implicit BPM: A Business Process Platform for Transparent Workflow WeavingBusiness Process Management10.1007/978-3-319-10172-9_11(168-183)Online publication date: 2014
  • (2011)A sequence of patterns for reusable aspect libraries with easy configurationProceedings of the 10th international conference on Software composition10.5555/2025951.2025958(68-83)Online publication date: 30-Jun-2011
  • (2011)A Sequence of Patterns for Reusable Aspect Libraries with Easy ConfigurationSoftware Composition10.1007/978-3-642-22045-6_5(68-83)Online publication date: 2011
  • (2011)COIVA: context-aware and ontology-powered information visualization architectureSoftware—Practice & Experience10.1002/spe.101141:4(403-426)Online publication date: 1-Apr-2011
  • (2009)Context-aware service engineeringJournal of Systems and Software10.1016/j.jss.2009.02.02682:8(1285-1297)Online publication date: 1-Aug-2009
  • (2008)Rule-based business process modelling and enactmentInternational Journal of Business Process Integration and Management10.1504/IJBPIM.2008.0232193:3(194)Online publication date: 2008
  • (2008)Aspect‐Oriented Software Development: an IntroductionWiley Encyclopedia of Computer Science and Engineering10.1002/9780470050118.ecse022(1-10)Online publication date: 13-Jun-2008
  • (2007)Requirements for applying aspect-oriented techniques in web service composition languagesProceedings of the 6th international conference on Software composition10.5555/1785051.1785068(152-159)Online publication date: 24-Mar-2007
  • (2007)A flexible architecture for enforcing and composing policies in a service-oriented environmentProceedings of the 7th IFIP WG 6.1 international conference on Distributed applications and interoperable systems10.5555/1776132.1776159(253-266)Online publication date: 6-Jun-2007
  • (2007)Modularizing crosscuts in an e-commerce application in Lisp using HALOProceedings of the 2007 International Lisp Conference10.1145/1622123.1622136(1-14)Online publication date: 1-Apr-2007
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media