|
ABSTRACT
Software applications often contain implicit knowledge in addition to functionality which is inherently object-oriented. Many approaches and systems exist that focus on separating rule-based knowledge from object-oriented functionality and representing it explicitly in a logic reasoning system. Support for seamless integration of this knowledge with the object-oriented functionality improves software development and evolution. Our hypothesis is that a linguistic symbiosis is required between the logic reasoning and object-oriented programming paradigms in order to achieve seamless integration.This paper presents a symbiotic extension of SOUL, a system which implements a logic programming language and a production system in Smalltalk. The presence of these two logic reasoning systems in SOUL ensures a comprehensive coverage of rule-based reasoning styles, more specifically forward and backward chaining. Our approach is evaluated by means of two case studies. We summarise a comprehensive survey, which shows that existing systems do not fully support seamless integration.
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
|
Cafe Rete. Web Site of The Haley Enterprise Inc. at http://www.haley.com.
|
| |
2
|
CommonRules. Web Site of IBM Research, http://www.research.ibm.com/rules/commonrules-overview.html.
|
| |
3
|
CLIPS 6.0, 1993. User Guide by Joseph C. Giarratano, NASA.
|
| |
4
|
Kiev 0.9, 1998 Language Specification by Maxim Kizub, http://forestro.com/kiev/kiev.html.
|
| |
5
|
Developing Real-World Java Applications with Blaze Advisor, 1999. Technical White Paper from HNC Software Inc.
|
| |
6
|
Aion 9.0 Rules Guide, 2001. User Guide from Computer Associates.
|
| |
7
|
Lisp Works Knowledge Works and Prolog, 2001. User Guide from Xanalys Inc.
|
| |
8
|
OPSJ 4.1, 2001. Manual by Charles L. Forgy from Production Systems Technologies Inc.
|
| |
9
|
JRules 4.0, 2002. Technical White Paper from ILOG.
|
| |
10
|
Jess 6.1, The Rule Engine for the Java Platform, 2003. User Guide by Ernest J. Friedman-Hill, Sandia National Laboratories.
|
| |
11
|
QuickRules 2.5, 2003. Application Developer Manual from YASU Technologies Inc.
|
| |
12
|
|
| |
13
|
Business Rule Group. Defining Business Rules: What Are They Really?, 2001. http://www.businessrulesgroup.org/.
|
| |
14
|
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.
|
| |
15
|
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.
|
| |
16
|
|
| |
17
|
M. D'Hondt. A survey of systems that integrate logic reasoning and object-oriented programming. Technical report, Vrije Universiteit Brussel, 2003.
|
| |
18
|
|
 |
19
|
Benjamin N. Grosof , Yannis Labrou , Hoi Y. Chan, A declarative approach to business rules in contracts: courteous logic programs in XML, Proceedings of the 1st ACM conference on Electronic commerce, p.68-77, November 03-05, 1999, Denver, Colorado, United States
[doi> 10.1145/336992.337010]
|
| |
20
|
K. Gybels. Soul and smalltalk - just married: Evolution of the interaction between a logic and an object-oriented language towards symbiosis. In Proceedings of the Workshop on Declarative Programming in the Context of Object-Oriented Languages, 2003.
|
| |
21
|
Y. Ichisugi, S. Matsuoka, and A. Yonezawa. A reflective object-oriented concurrent language without a run-time kernel. In Proceedings IMSA: Reflection and Meta-Level Architectures, 1992.
|
| |
22
|
K. Mens, I. Michiels, and R. Wuyts. Supporting software development through declaratively codified programming patterns. In Proceedings of the 13th SEKE Conference, 2001.
|
| |
23
|
|
| |
24
|
W. D. Meuter. The story of the simplest mop in the world, or, the scheme of object-orientation. Prototype-Based Programming (eds: James Noble, Antero Taivalsaari, and Ivan Moore), 1998.
|
| |
25
|
|
| |
26
|
|
| |
27
|
F. Pachet and J.-F. Perrot. Report on the néopus system experience.
|
| |
28
|
|
| |
29
|
|
| |
30
|
P. Steyaert. Open Design of Object Oriented Languages. PhD thesis, Vrije Universiteit Brussel, 1994.
|
| |
31
|
B. von Halle. Business Rules Applied. Wiley, 2001.
|
| |
32
|
|
| |
33
|
R. Wuyts. A Logic Meta-Programming Approach to Support the Co-Evolution of Object-Oriented Design and Implementation. PhD thesis, Vrije Universiteit Brussel, 2001.
|
| |
34
|
|
|