savannah-register-public
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Savannah-register-public] [task #7101] Submission of Emulated Flat Conc


From: William Silverman
Subject: [Savannah-register-public] [task #7101] Submission of Emulated Flat Concurrent Prolog
Date: Sat, 21 Jul 2007 20:30:02 +0000
User-agent: Opera/9.22 (Windows NT 5.1; U; en)

URL:
  <http://savannah.nongnu.org/task/?7101>

                 Summary: Submission of Emulated Flat Concurrent Prolog
                 Project: Savannah Administration
            Submitted by: zevkaspi
            Submitted on: Saturday 07/21/2007 at 20:30
         Should Start On: Saturday 07/21/2007 at 00:00
   Should be Finished on: Tuesday 07/31/2007 at 00:00
                Category: Project Approval
                Priority: 5 - Normal
                  Status: None
                 Privacy: Public
        Percent Complete: 0%
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
                  Effort: 0.00

    _______________________________________________________

Details:

A new project has been registered at Savannah 
This project account will remain inactive until a site admin approves or
discards the registration.


= Registration Administration =

While this item will be useful to track the registration process, *approving
or discarding the registration must be done using the specific Group
Administration
<https://savannah.nongnu.org/siteadmin/groupedit.php?group_id=9410> page*,
accessible only to site administrators, effectively *logged as site
administrators* (superuser):

* Group Administration
<https://savannah.nongnu.org/siteadmin/groupedit.php?group_id=9410>


= Registration Details =

* Name: *Emulated Flat Concurrent Prolog*
* System Name:  *efcp*
* Type: non-GNU software & documentation
* License: GNU General Public License v2 or later

----

==== Description: ====
The Emulator operates on a virtual machine, originally a Warren Abstract
Machine (see Houri A. and Shapiro E. (1989) A sequential abstract machine for
Flat Concurrent Prolog, J. Logic Programming 7,85?123) .  Currently it
operates on a more complex instruction set(see S. Kliger. Compiling
Concurrent Logic Programming Languages. PhD thesis, The Weizmann Institute of
Science, Rehovot, October 1992).

The Emulator operates on Variables, Constants (integer, real, string, nil),
Compound objects (list, tuple, vector), Modules, Procedures and Instructions
(see http://www.weizmann.ac.il/~biospi/supplement.mss , Terminology,
Appendices). Modules are collections of Procedures. Procedures are referenced
syntactically by extended Horn Clauses. The primary Emulation loop selects a
Procedure which is ready to be reduced.  Each clause of the procedure
consists of a guard and a body.  The guard is a sequential list of
predicates, each of which is represented by a sequential list of
Instructions.  The clauses are examined (sequentially), resulting in success,
suspension or failure.  A clause succeeds if each of its guard predicates
succeed. In case of success, changes due to the guard are committed, and the
the procedure calls are queued for reduction.  A clause suspends if some
guard predicate cannot be reduced due to an as yet uninstantiated variable;
changes due to the guard are rescinded.  A Procedure suspends, if no clause
succeeds, but some clause suspends. A suspended Procedure is held until some
variable on which it depends changes status (e.g. it is instantiated).  A
clause fails if some predicate in the guard fails; changes due to the guard
are rescinded.  A Procedure fails if every clause fails.  In case a Procedure
fails, a message containing the procedure call is queued to a failure list.

The Emulator is extended to include support for non-logical functions (e.g.
file, interface, math, timer, tty) ? see the corresponding C programs. 
Extensions have been added to support instructions whicinvolve complex
operations (e.g. ctl, freeze_term).  Extensions may be added to accelerate
operations which might be performed less efficiently by Procedures or may
require synchronization (e.g. concatenate, spicomm).  The doors extension
supports internet communication.

The Logix system provides a kernel operating system and various support
procedures, such as file access, an interactive shell, parsers, translators,
compilers, debuggers, formatters, etc.  It consists of a hierarchy of
directories containing modules (sets of Procedures) of the system.  A user is
logically attached as a sub hierarchy of the system directory.  The user may
call his own or Logix Procedures in other modules, using the syntax <module
name>#<procedure call> (see http://www.weizmann.ac.il/~biospi supplement.mss,
Services, System Service, Other Utilities).  The user at a console interacts
with his Procedures and with the system via a tty interface, which is
normally served by a shell.

In addition to the basic FCP language, various extensions of the language,
including colon, compound, implicit extend the syntax and simplify notation
(see http://www.weizmann.ac.il/~biospi/supplement.mss , Language).  The
language syntax may be used to define new operators or to redefine existing
operator syntax and/or priority.  The language evaluate may be used to add
syntactic macros to any of the languages.   Another kind of extension extends
any of the languages to include new functionality (e.g. Distributed Flat
Concurrent Prolog, dfcp , Stochastic Pi Calculus, spifcp ) ; these languages
usually employ an emulator extension.  Language extensions are accomplished
by module transformation; multiple transformations may be applied to a module
(e.g. [evaluate, compound, colon] ).





==== Other Software Required: ====
Some perl scripts are used for the spifcp and biospi extensions.
The bin directory, containing the perl scripts (EFCP/Source/bin), along with
a working version of EFCP (EFCP/Logix), which may be configured for any of
six platforms, is included in the tarball.



==== Other Comments: ====
The source of EFCP (EFCP/Source) is in a tarball at:
ftp-dmz.weizmann.ac.il/pub/bill/EFCP.tar.gz .
The tarball includes a working version of the system (EFCP/Logix) which may
be derived from the Source.
Documentation of the Logix system, which is not part of this submission, is
available at:
ftp-dmz.weizmann.ac.il/pub/bill/Documentation.tar.gz .






    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/task/?7101>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]