<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); $App = new App(); $Nav = new Nav(); $Menu = new Menu(); include($App->getProjectCommon()); # All on the same line to unclutter the user's desktop' | |
$pageTitle = ""; | |
$pageKeywords = ""; | |
$pageAuthor = "Dann Martens"; | |
ob_start(); | |
?> | |
<div id="maincontent"> | |
<div id="midcolumn"> | |
<?php | |
include_once($_SERVER['DOCUMENT_ROOT'] . "/projects/fragments/proposal-page-header.php"); | |
generate_header("Eclipse Logic Framework"); | |
?> | |
<h1>Eclipse Logic Framework (ELF)</h1> | |
<h2>Introduction</h2> | |
<p>Eclipse Logic Framework (ELF) is a proposed open source project under the | |
Eclipse Technology Project.</p> | |
<p>This proposal is in the Project Proposal Phase (as defined in the Eclipse | |
Development Process document) and is written to declare its intent and scope. | |
This proposal is written to solicit additional participation and input | |
from the Eclipse community. You are invited to comment on and/or | |
join the project. Please send all feedback to | |
the <a href="http://www.eclipse.org/forums/eclipse.elf">ELF forum</a>.</p> | |
<h2>Scope</h2> | |
<p>Prolog (PROgramming LOGic) was developed in 1972 (although sources vary) by | |
Alain Colmerauer and Phillipe Roussel, both of University of Aix-Marseille, | |
France, in collaboration with Robert Kowalski of the University of Edinburgh, | |
United Kingdom. While popular in the Artificial Intelligence community, which | |
used it amongst other things for the development of expert systems and natural | |
language processing, its significance has waxed and waned over time. Even though the | |
language has been ISO standardized in 1995, it has never broken through in | |
the computer industry in the way other languages have, especially when compared | |
to the now ubiquitous Java, developed by James Gosling at Sun Microsystems | |
and released in 1995.</p> | |
<p>In 1996, Bart Demoen of the Katholieke Universiteit Leuven, Belgium, and Paul Tarau, | |
at that time at the Université de Moncton, Canada, outlined a method to run Prolog | |
programs on a Java virtual machine. A limited proof-of-concept implementation was | |
made available under the moniker 'jProlog'. The idea was picked up again soon after | |
by Mutsunori Banbara and Naoyuki Tamura of Kobe University, Japan, and developed | |
into a feature-complete clean-room implementation under the moniker | |
'Prolog Cafe' (http://kaminari.istc.kobe-u.ac.jp/PrologCafe/), of which the | |
last update dates June 24th 2009.</p> | |
<p>In 2002, Tobias Rho created the Prolog Development Tool (PDT), | |
the first Eclipse-based IDE for working with SWI-Prolog, as part of his | |
diploma thesis at the University of Bonn. Since then the PDT project has | |
continuously evolved in its academic environment, led by Dr. Günter Kniesel, | |
with contributions of Tobias Rho, Lukas Degener and Eva Stöwe. The PDT | |
will be subsumed by the ELF, but for now the original project can still be | |
found at http://roots.iai.uni-bonn.de/research/pdt/.</p> | |
<p>With the advent of the Semantic Web, a new spin was put on the A.I. research | |
accomplishments of the last 50 years. While Tim Berners Lee contended in 1998 | |
that a Semantic Web is not Artificial Intelligence, he did call it | |
a 'language of logic'. Logic languages were designed with the specific | |
purpose of making the expression of the solution to problems straightforward. | |
Yet, Semantic Technologies are developed using popular contemporary languages, | |
all of which are notoriously ill-suited for that very same purpose. Equally true, | |
those (early) logic languages have become sidelined because they made many | |
real-world everyday-programming tasks cumbersome.</p> | |
<p>The ELF represents a renewed interest in the pursuit of practical logic | |
programming.</p> | |
<h2>Description</h2> | |
<p>The Eclipse Logic Framework project will provide a complete Prolog | |
development and run-time environment, adding Prolog to the existing Eclipse | |
ecosystem of supported languages: | |
<ul> | |
<li>The IDE will support editing, code navigation and refactoring of Prolog code. | |
It will be configurable to support external native Prolog run-time engines | |
(such as SWI-Prolog) and the project's own internal run-time.</li> | |
<li>The internal run-time will allow running Prolog programs on the Java Virtual | |
Machine, providing the basis for a seamless integration of Prolog and Java in | |
a multi-paradigm approach that lets developers use the best of each language | |
for each particular task.</li> | |
</ul> | |
</p> | |
<p>As a platform, the ELF will provide the means to integrate with results from | |
specific areas of research into the Prolog language. It will invite researchers | |
and tool makers from the logic programming and multi-paradigm programming | |
community to actively contribute to the development and critical evaluation of | |
the project.</p> | |
<h2>Value Proposition</h2> | |
<p><strong>Industrial:</strong> While the ELF project recognizes its | |
academic origins, the emphasis is on the development of an industry-grade, | |
production-ready product. The project is aimed at developers and researchers | |
who can benefit from logic programming solutions in general. Beyond that, it | |
will provide a unique platform for novel families of logic-based applications | |
that can take advantage from running on a Java virtual machine. The project | |
provides complete support for the Equinox OSGi framework and Google App Engine | |
for Java (GAE/J).</p> | |
<p><strong>Educational:</strong> Because it offers an all-in-one Prolog IDE, | |
the ELF has the potential to become the tool-of-choice for educational purposes. | |
It lowers the barrier for entry into the realm of logic programming. By supporting | |
multiple run-times out-of-the-box, teachers and students will be able to focus | |
on the language issues, as opposed to the installation issues.</p> | |
<p><strong>Semantic:</strong> The ELF will increase the presence of | |
the Eclipse community at the Semantic Technologies frontier and will leverage | |
development of Semantic Web applications on the Java platform. It will prove | |
especially relevant in the area of 'Logic Frameworks' in the Semantic Web | |
Technology Stack.</p> | |
<h2>Proposed Components</h2> | |
<p>The project's initial target is the introduction of the following components: | |
<ol> | |
<li>a set of IDE contributions to edit Prolog source files which meet the expected standards of well-known, existing Eclipse IDE projects,</li> | |
<li>a connector framework to interact with native Prolog run-time engines and interpreters,</li> | |
<li>a Java-based Prolog interpreter, which runs without the need of a native Prolog run-time environment,</li> | |
<li>a Prolog-to-Java source-to-source translator system,</li> | |
<li>a high-performance Java-based Prolog run-time,</li> | |
<li>a 'Java Architecture for Prolog Binding' (JAPB) API to facilitate integration with pure Java programs,</li> | |
<li>a set of built-in example projects.</li> | |
</ol> | |
</p> | |
<p>Beyond the scope of the initial target, the following components are under consideration: | |
<ul> | |
<li>support for Common Logic (CL) data formats: the Import Common Logic Interchange Format (CLIF), for the Conceptual Graph Interchange Format (CGIF) and the XML-based notation for Common Logic (XCL),</li> | |
<li>support for Semantic Web data formats: the Resource Description Framework (RDF) and the Ontology Web Language (OWL).</li> | |
</ul> | |
</p> | |
<h2>Relationship with other Eclipse Projects</h2> | |
<p>The Eclipse Logic Framework project will be built on top of the Eclipse IDE. | |
Although the Prolog IDE will stand on its own, the Java-specific hybrid language | |
aspects of the ELF will depend on JDT components in order to function.</p> | |
<p>This project has the potential to leverage the 'Eclipse IDE For Education' (IDE4EDU) project, by providing a Prolog IDE and run-time announced but unavailable at the time of this writing.</p> | |
<h2>Organization</h2> | |
<p>This project requests a place in the Eclipse Tools hierarchy as it facilitates programming in Prolog, and Java in combination with Prolog.</p> | |
<p>While the main driver is a commercial entity, the product shall remain absolutely free and without restrictions. In addition, this project will strive to develop a working relationship with the academic world, and where possible, integrate existing and ongoing development efforts of academic origins.</p> | |
<p>Mentors<br> | |
TBD</p> | |
<p>Proposed initial committers: | |
<ul> | |
<li>TOMOTON N.V., Belgium - Dann Martens (Project Lead)</li> | |
<li>Bonn University, Germany - Günter Kniesel (Project Lead)</li> | |
<li>Bonn University, Germany Tobias Rho</li> | |
<li>Bonn University, Germany Eva Stöwe</li> | |
</ul> | |
</p> | |
<h2>Interested parties</h2> | |
<p>The following academic institutions have expressed interest in this project. Key contacts listed. | |
<ul> | |
<li>Kobe University, Japan - Mutsunori Banbara</li> | |
<li>Kobe University, Japan - Naoyuki Tamura</li> | |
<li>Eclipse IDE for Education</li> | |
<li>Dwight Duego</li> | |
</ul> | |
</p> | |
<h2>Code Contributions</h2> | |
<p>The Kobe University, Japan, has contributed the Prolog-to-Java source-to-source | |
translator system. The individual contributors involved in the development of | |
the original code base were Mutsunori Banbara and Naoyuki Tamura.</p> | |
<p>Bonn University, Germany, has contributed the Prolog IDE and parts, from the | |
externally hosted Prolog Development Tools (PDT) project. The code base was | |
originally licensed under the Eclipse Public License. The individual | |
contributors involved in the development of the original code base were Lukas | |
Degener, Tobias Rho, Eva Stöwe and Frank Mühlschlegel.</p> | |
<p>TOMOTON, NV, Belgium, has requested the Kobe University to dual licence the | |
translator system under the Eclipse License, next to the GNU General | |
Public License as published by the Free Software Foundation (version 2 | |
of the License). In addition, TOMOTON has modified the existing code base to | |
allow the run-time to work both in an OSGi container, as well as in the | |
sandbox of Google App Engine for Java. TOMOTON NV has designed and | |
developed the JAPB API. The individual contributor involved in the | |
modification and separate development was Dann Martens.</p> | |
<?php | |
$html = ob_get_contents(); | |
ob_end_clean(); | |
# Generate the web page | |
$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html); | |
?> |