The Architecture and Design of a Malleable Object-Oriented Prolog Engine

被引:0
作者
Piancastelli, Giulio [1 ]
Benini, Alex [1 ]
Omicini, Andrea [1 ]
Ricci, Alessandro [1 ]
机构
[1] Univ Bologna, DEIS, I-47037 Cesena, FC, Italy
来源
APPLIED COMPUTING 2008, VOLS 1-3 | 2008年
关键词
Prolog; Finite State Machine; object-oriented design;
D O I
暂无
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
The implementation of Prolog systems has a long history, from the first, interpreter written in 1972 to de facto standard model of the Warren Abstract Machine. Although many architectural variations have been proposed, object-oriented design was left mostly unexplored, favoring other factors such as execution time and memory storage optimizations. However, today complex software systems are typically built as aggregates of heterogeneous components, where logic programming may effectively help facing key issues such as intelligence of components and management of interaction. In this scenario, implementation of logic languages could just aim at reasonable - rather than maximum - efficiency, requiring instead configurable and flexible architectures to allow for extensions and tailoring for different application domains. tuProlog is an object-oriented Prolog engine which has been designed to feature a malleable architecture at its core, and to exhibit the typical properties of basic components for complex dynamic systems and intelligent infrastructures-such as easy deployability, lightness, and configurability. In this paper, we first describe tuProlog's malleable architecture, composed by a set of managers controlling sensible parts of the system, and operating around a minimal interpreter shaped as a Finite State Machine. Then, we support the malleability claim by discussing two possible architectural extension of the engine.
引用
收藏
页码:191 / 197
页数:7
相关论文
共 16 条
[1]  
Bryant D, 2006, FRONT ARTIF INTEL AP, V144, P27
[2]  
COLMERAUER A, 1993, 2 ACM SIGPLAN HIST P, P37
[3]   Multi-paradigm Java']Java-Prolog integration in tuProlog [J].
Denti, E ;
Omicini, A ;
Ricci, A .
SCIENCE OF COMPUTER PROGRAMMING, 2005, 57 (02) :217-250
[4]  
DENTI E, 2001, LNCS, P184
[5]  
DENTI E, 1999, ICLP 99 INT WORKSH M
[6]  
Deransart P., 1996, PROLOG STANDARD
[7]  
Fielding R.T., 2000, REST ARCHITECTURAL S
[8]  
Gamma E., 1994, DESIGN PATTERNS
[9]  
Krall Andreas., 1994, WLP, P1
[10]   AN OBJECT-ORIENTED INFERENCE ENGINE FOR PROLOG [J].
LANOVAZ, D ;
SZAFRON, D .
JOURNAL OF SYSTEMS AND SOFTWARE, 1992, 19 (01) :13-25