Project/Area Number |
10480053
|
Research Category |
Grant-in-Aid for Scientific Research (B)
|
Allocation Type | Single-year Grants |
Section | 一般 |
Research Field |
計算機科学
|
Research Institution | University of Tsukuba |
Principal Investigator |
IDA Tetsuo Institute of Information Sciences and Electronics University of Tsukuba Professor, 電子・情報工学系, 教授 (70100047)
|
Co-Investigator(Kenkyū-buntansha) |
MINAMIDE Yasuhiko Institute of Information Sciences and Electronics University of Tsukuba Assistant Professor, 電子・情報工学系, 講師 (50252531)
CHAKRAVARTY Manuel Institute of Information Sciences and Electronics University of Tsukuba Assistant Professor, 電子・情報工学系, 講師 (30292535)
MIDDELDORP Aart Institute of Information Sciences and Electronics University of Tsukuba Associate Professor, 電子・情報工学系, 助教授 (30251044)
SUZUKI Taro Scool of Information Science, JAIST Research Associate, 情報科学研究科, 助手 (90272179)
YAMADA Toshiyuki Institute of Information Sciences and Electronics University of Tsukuba Research Associate, 電子・情報工学系, 助手 (60312831)
|
Project Period (FY) |
1998 – 1999
|
Project Status |
Completed (Fiscal Year 1999)
|
Budget Amount *help |
¥10,000,000 (Direct Cost: ¥10,000,000)
Fiscal Year 1999: ¥4,400,000 (Direct Cost: ¥4,400,000)
Fiscal Year 1998: ¥5,600,000 (Direct Cost: ¥5,600,000)
|
Keywords | functional logic languages / constraint solving system / computation model / narrowing calculus / completeness / Mathematica / CFLP / ナローイング |
Research Abstract |
Our contributions are (i) development of computation models for functional logic programming languages with distributed constraint solving systems and (ii) realization of a programming environment based on the computation models. (i) Design of computation models We started the research project with the design of a computation model called Lazy Narrowing Calculus (LNC). LNC forms the basis of our investigation into all our computation models for functional and logic programming. To deal with constraint solving in functional logic programming languages, we extended LNC to the conditional case. The resulting calculus is called Lazy Conditional Narrowing Calculus (LCNC). Moreover, we removed the non-determinism inherent in LCNC. This simplifies the implementation of the calculus on computers and improves the computational efficiency. Furthermore we designed higher-order calculi, i.e. Applicative LNC, which simulates higher-order computation by using (first-order) applicative terms for representing terms, and Higher-Order Lazy Narrowing Calculus (LNff), which can handle lambda terms. We proved that all the above-mentioned calculi have completeness. (ii) Implementation of the programming system We implemented a functional logic programming system in a distributed environment. The system is called Constraint Functional Logic Programming system (CFLP). CFLP consists of three components : an interpreter, a scheduler, and a constraint solving system. We implemented CFLP as a distributed software system using the programming language Mathematica. The computation mechanism of CFLP is based on the narrowing calculi. The interpreter of the functional logic programming language in CFLP system solves given equations by accessing constraint solvers in a distributed environment. The narrowing calculi find solutions over the domain of term algebra. The other domain-specific constants and operations are handled by the constraint solvers which provide the domain-specific solving methods.
|