Lilac Pre-Alpha 0.2

The second pre-alpha release for Lilac (jlilac) is ready.

Lilac is a Java™ (JDK1.5) application intended to assist users in managing an extensive linguistic database.

Lilac has been tested relying on some Java API features, but it is going to be ported to Kaffe as soon as possible, to rely solely on open source material.

Apart from the main practical purpose, i.e. the linguistic one, Lilac aims to be a proof of concept to picture a lightweight application framework.

Prerequisites and configuration

Lilac has been developed on Linux operative systems, yet it can work on several other platforms, and also in hybrid networks. Command starting with # are intended as runnable on Linux, while thos starting with ">" are intended to be run on Windows, and >> will refer to Lilac shell.

Integration relies on some cross platform solutions, such as those based on XML and HTTP.

To run Lilac you must have:

The minimal configuration to start using Lilac consists of:


There are different ways lilac can be used:

Use as shell

Interactive shell

  1. Lilac can be run directly this way:

    # -c verb "argument"

    for instance:

    # -c findLanguage <Languages><Language><SILCode>TKI</SILCode></Language></Languages>

  2. Argument parameter can be piped from standard input:

    # -c verb

    for instance:

    > type query.xml | lilac.bat -c readLanguage


    # -c readLanguage << query.xml

  3. Argument parameter can also be entered directly by means of standard input (Ctrl-D or equivalend EOT marker must terminate the input):

    The result will be directed to the standard output, and will be an XML document, for instance:

    <Languages> <Language> <SILCode> ITL </SILCode> <EnglishName> Italian </EnglishName> </Language> </Languages>

Runnable shell

When called with no argument, -c opens a shell where the user can enter complete XML commands of the form:

>> verb argument

For example:

>> readLanguage <Languages><Language><SILCode>TKI</SILCode></Language></Languages>

Lilac interactive shell provides a set of instruction to repeat commands, redirect to files and so on.

Use as library

The j-archive can be imported into Java applications, and through the class LilacFacade stateless methods can be accessed from clients.

The application library will run as an in-process segment.

Use as server

Lilac can work as an XML Service (not exactly a Web Service, but conceptually quite similar to that).

To run Lilac server, the easier way is running:

# -s

This means that it can be called by any XML/HTTP client (such as Lilac shell itself, or Lilac COM interface, and others).

The application server will obviously run as an out-of-process segment.

Handover report

The implemented features are:

General functionalities

Overall framework (see doc. 1) [to move to standalone library in the future]

Interactive/runnable prompt XML-based shell

XML-based façade

XML-based web server

Library functioning

Core functionalities

Languages (CRUD functions)

Concepts (only tree browsing)

Application sectioning


The framework consists of several libraries.

An extensive javadoc documentation will be provided.

Generic utilities

A set of all-purpose utilities to help the developer in performing simple common tasks.

Pattern framework

A set of interfaces and simple classes on which the user can build fully customised applications.

Core functionalities

The core functionalities comprehend:

Paolo Olmino - Genoa (Italy), 2005-03-13T16:50