IF Computer > IF/Prolog > Licences for Various Purposes > Runtime Licence

Runtime Licence

IF/Prolog by Siemens
MINERVA superseeded IF/Prolog. Please see http://www.ifcomputer.co.jp/MINERVA for details.

We discontinued to sell IF/Prolog Dec 31. 2003. For current customers, we continue to provide professional support for IF/Prolog until Dec 31, 2008.

IF/Prolog Runtime Licence Agreement

Software vendors may wish to deliver their applications written in IF/Prolog packaged together with the IF/Prolog system.

This has some advantages for the software vendor and end user:

- low cost for the IF/Prolog Runtime System - easy processing and delivery for the software vendor - simpler installation and handling for the end user

For these purposes, software built with IF/Prolog (Application) can be licensed to other parties based on a Runtime Licence Agreement according to the following conditions:

No direct access to IF/Prolog

The application may not allow the user to call or break into the IF/Prolog interpreter level.

No support and documentation

IF Computer does not provide support or documentation to the application end user. Support and documentation is provided only to holders of development licences.

In fact, the application end user need not be aware of IF/Prolog being used inside his software.

No development tools

The application vendor may not deliver parts of the IF/Prolog development system to the application end user. For IF/Prolog V4.1 the following files and directories may not be shipped to the application end user:

     directory $PROROOT/bin:
          ifcc
          iflink
          ifopt0
          ifpman
          ifsem
          mifpman
          xifpman
     directory $PROROOT/c: (all files)
     directory $PROROOT/demos: (all files)
     directory $PROROOT/ifprolog: (all files)
     directory $PROROOT/library: (all files)
     directory $PROROOT/man: (all files)
     directory $PROROOT/util: (all files)
     directory $PROROOT/x11r4: (all files)
     directory $PROROOT/motif11: (all files)

Application

As standard case the application is produced with a development system running on a computing system that is binary compatible with the application end user's target computer.

The application is produced with the predicate save_system in the form of an IF/Prolog save state (file extension {*}.pst).

The application can be delivered in the simplest case consisting of two files:

     'ifprolog' and 'xxx.pst'

The application is invoked by the end user with a shell command that calls

     ifprolog -r xxx.pst

Development Licence

In all other cases a standard IF/Prolog licence is required.

Licence Manager

The application can be protected against execution on non licenced target machines or against execution after a pre-set time limit. For details please refer to seperate documentation about the IF/Prolog Licence Manager.

Guide for Creating a Runtime Version of IF/Prolog 4.1

a runtime version is a version in which IF/Prolog is bundled together with an application program and with which it is not possible to create a new PROLOG program. The dynamic features of IF/Prolog may be used within the application but must be hidden from the user to develop new IF/Prolog programs.

The application MUST be created by using the predicates program and save\_system. The host language interface may be used instead of program, but it must use a saved state, too.

The predicate program ensures that the user does not enter the "write ?- prompt, read goal, execute" -loop. The save\_system serves to bundle together all the necessary files.

This means that all necessary {*}.sem files from the directory ifprolog must be specifically loaded; before the save_system is called to create the "saved_state" file. The runtime system will be started with a command in the following way:

   ifprolog -r saved_state

In an application, which uses the host language interface, the above mentioned parameters should be built up internally, before a call to InitProlog() is done.

The runtime system will consist of essentially 2 files:

1) "ifprolog" or "newprolog" if the C-interface has been used (see IF/Prolog Manual, section Advanced Features).

2) the "saved_state" file created using save_system.

plus any other files written by the developer of the application.

The following is a list of the items which may NOT be supplied in the runtime version under any circumstances:

The IF/Prolog Manual

Any files from the directory "c" i.e.

        cpred.h         io.h            libXif.a
        main.c          sboot.o         cpro.h 
        libMif.a        libifprolog.a   main.o

Any files from the directory "library":

        alist.sem       data            lists.sem
        ordset.sem      setutl.sem      applic.sem
        dbarr.sem       logarr.sem      porstr.sem
        struct.sem      arith.sem       flat.sem
        long.sem        projec.sem      trees.sem
        arrays.sem      graphs.sem      map.sem
        queues.sem      writef.sem      ask.sem
        heaps.sem       metutl.sem      random.sem
        bagutl.sem      io              multil.sem
        readin.sem      between.sem     lazy.sem
        order.sem       readsent.sem

The following files from the directory "bin":

        ifcc            iflink          ifopt0
        ifpman          ifsem           mifpman
        xifpman

Any source files from the directories "demos" or "util":

The IF/Prolog Manual pages from the directory "man"

In other words only the kernel of IF/Prolog may be supplied.

IF Computer does not provide support to runtime system licensees. Support is only available to holders of the full IF/Prolog development system license.

To create a runtime version of a program, a development system of IF/Prolog is required for every different operating system or CPU type which should host the application built with IF/Prolog.

      /*  This program  shows how  an application for IF/Prolog 4.1   */
      /*  can be built using only the runtime system                  */

program :- retract(program), /* consult or load your application here */ /* load the required moduls from the IF/Prolog library */ /* e.g. load('/usr/local/ifprolog/library/sort') */ save_system('mystate.pst'), bye.

program :- /* include your application call here */ true.

document: http://www.ifcomputer.co.jp/IFProlog/Licencing/Runtime/print_en.html
published 2008/7/21 update 1996/10/15 (c) 1996-2006 IF Computer Japan
IF Computer 5-28-2 Sendagi, Bunkyo-ku Tel +81-3-5814-3352 info@ifcomputer.com
Customer Support Tokyo 113-0022 Japan   http://www.ifcomputer.com
Back> managed with ubiCMS