Project Tasks
This section lists the subprojects in which parts of the COCoMa environment are being built.
Asset Language
ADL, AQL, AML
Grammar...
Semantics...
ADL Compiler
The ADL compiler creates a COCoMaS from a user's asset definitions.
In contrast to traditional compilers the compiler for asset definitions constitutes a framework. It controls the generation of the various modules of a COCoMaS. Generators are developed using the compiler framwork.
Like a traditional compiler it is divided into frontend and backend. The frontend includes parsing and checking the asset definitions. The backend consists of module generators which generate the modules of a COCoMaS as described in the architecture documentation. Different backend configurations can be maintained to create different COCoMa systems.
There is one API generator which creates the uniform API of all modules. Module generators build implementations of this API.
Compiler Framework
The compiler framework is provided in Java.
Supervisor: |
Hans-Werner Sehring |
Researcher: |
Hans-Werner Sehring |
Ressources: |
|
Compiler Frontend
There are two noteworthy contributions in the frontend:
The ADL Grammar. The grammer describes the syntax of the asset language (definition, query, and manipulation language). It is written for the ANTLR parser generator which is used for the asset compiler.
Supervisor: |
Hans-Werner Sehring |
Researcher: |
Hans-Werner Sehring |
Ressources: |
› Asset definition, query, and manipulation language report
› ANTLR parser generator |
|
Intermediate Asset Model. The parser produces an intermediate model of an asset definition file. This intermediate representation is passed to the generators.
Compiler
Backend
The compiler backend mainly consists of generators. There is one API generator which defines the Java interfaces which all generated modules have to implement. There are generators for the various types of modules: client modules, adaptation modules, coordination modules, distribution modules, and server modules.
Look at the generator skeleton to get started with generator development.
API Generator. All modules follow a uniform API. This is generated by the API generator.
Client Module Generators
So far, there are two generators being under construction:
Proposals for further client module generators are:
Client module generator for relational databases. SQL (JDBC).
Supervisor: |
Hans-Werner Sehring |
Researcher: |
Hans-Werner Sehring |
Ressources: |
- |
Client module generator for XML databases. XML Schema.
Supervisor: |
Sebastian Bossung |
Researcher: |
Sebastian Bossung |
Ressources: |
- |
Client module generator for the CMS of CoreMedia.
The client module generator for the CMS of CoreMedia creates a module which stores assets in the repository of that platform.
Supervisor: |
Hans-Werner Sehring |
Researcher: |
Hans-Werner Sehring |
Ressources: |
- |
Client module generator for the infoAsset Broker. The generator for client modules for the Broker of infoAsset creates a module which maps assets to ones in the notion of assets used in that platform.
Client module generator for email.
POP SMTP IMAP WebDAV.
Supervisor: |
Hans-Werner Sehring |
Researcher: |
- |
Ressources: |
› JavaMail (a mailing API for Java)
› JDAVMail (a JavaMail implementation using WebDAV) |
Client module generator for MS Exchange.
SyncML.
Supervisor: |
Hans-Werner Sehring |
Researcher: |
- |
Ressources: |
› Funambol (SyncML library for Java, formerly called Sync4j) |
Service Interface Generators
Currently, two generators for service interfaces are under development:
Web Services Interface. This generator creates descriptions of the operations of a COCoMas in the Web Services Description Language (WSDL). This includes the standard operations (lookfor , create , modify , delete ) with respect to the current asset class definitions.
GUI Engine. Open dynamic content management requires dynamically adaptable UIs. Like the domain model the presentation of assets has to be user-definable. To achieve this, we use assets to model the UI realm. It consists of two domains: one for (logical) UI components and one for presentation technologies.
Supervisor: |
Hans-Werner Sehring |
Researcher: |
Fenfang Xu, Gerald Mofor |
Ressources: |
› SwiXml (a small GUI generating engine which renders Java applications and applets described in XML documents)
› UIML (a user interface description language in XML)
› XUL (a markup language for describing user interfaces)
› JAXFront (XML rendering) |
Compiler Framework
systems, components, modules, ...
Modeling Tools
Tools which help in creating asset models are under investigation:
An Eclipse Plug-in for the Asset Language
As a development tool to create COCoMaS there is a plug-in for the Eclipse tooling platform. It integrates the asset compiler and uses existing plug-ins which handle the files generated by the asset compiler.
|