|
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
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked 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
|
|
| |
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
|
|
| |
16
|
M. D'Hondt. A survey of hybrid systems: Integrating rule-based and object-oriented languages. Technical report, Vrije Universiteit Brussel, 2003.
|
 |
17
|
|
| |
18
|
|
| |
19
|
C. Forgy. Rete: A fast algorithm for the many pattern/many object pattern match problem. Artificial Intelligence, 19(1):17--37, 1982.
|
 |
20
|
|
| |
21
|
|
| |
22
|
|
| |
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
|
|
 |
25
|
Keith R. Milliken , Allan J. Finkel , David A. Klein , Norman B. Waite, Adding rule-based techniques to procedural languages, Proceedings of the 1st international conference on Industrial and engineering applications of artificial intelligence and expert systems, p.185-194, June 1988, Tullahoma, Tennessee, United States
[doi> 10.1145/51909.51932]
|
 |
26
|
|
| |
27
|
F. Pachet. On the embeddability of production rules in object-oriented languages. Journal of Object-Oriented Programming, 8(4):19--24, 1995.
|
| |
28
|
|
| |
29
|
|
 |
30
|
|
| |
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
|
|
CITED BY 6
|
|
Mathieu Braem , Niels Joncheere , Wim Vanderperren , Ragnhild Van Der Straeten , Viviane Jonckers, Concern-Specific Languages in a Visual Web Service Creation Environment, Electronic Notes in Theoretical Computer Science (ENTCS), v.163 n.2, p.3-17, April, 2007
|
|
|
Charlotte Herzeel , Kris Gybels , Pascal Costanza , Coen De Roover , Theo D'Hondt, Forward chaining in HALO: An implementation strategy for history-based logic pointcuts, Computer Languages, Systems and Structures, v.35 n.1, p.31-47, April, 2009
|
|
|
María Agustina Cibrán , Bart Verheecke , Wim Vanderperren , Davy Suvée , Viviane Jonckers, Aspect-oriented Programming for Dynamic Web Service Selection, Integration and Management, World Wide Web, v.10 n.3, p.211-242, September 2007
|
|
|
|
|
|
Charlotte Herzeel , Kris Gybels , Pascal Costanza , Coen De Roover , Theo D'Hondt, Forward chaining in HALO: an implementation strategy for history-based logic pointcuts, Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007, August 25-31, 2007, Lugano, Switzerland
|
|
|
|
|