See the download page about obtaining this under licence
The current version of Cress is 4.6, dated 27th October 2010.
Cress is an acronym for Communication Representation Employing Systematic Specification. This page is an extract of the full manual. See the Cress home page for an overview of Cress and some references. Cress allows graphical description of (communications) services, translates them into formal languages for rigorous analysi, and translates them into implementation languages for deployment. It supports:
From the user point of view, Cress simplifies service creation to the point of drawing diagrams, clicking buttons and issuing simple commands.
From the developer point of view, Cress is a complex but comprehensive toolset. It is roughly equivalent to six compilers rolled into one, as it supports three diagram editors, six target languages, and five application domains. A relevant quote for Cress might be:
The following main tools are provided in the Cress toolset:
| Tool | Purpose |
|---|---|
| cadp_annotate | annotate Lotos for use by CADP |
| cress_bpel | translate Cress diagrams to BPEL |
| cress_check | check Cress diagrams | cress_cpl | translate Cress diagrams to CPL |
| cress_create | create BPEL service archives |
| cress_deploy | deploy BPEL service archives |
| cress_expand | expand macros in Cress diagrams |
| cress_lola | clean up Lola (Lotos) simulation traces |
| cress_lotos | translate Cress diagrams to Lotos |
| cress_realise | specify/implement/deploy Cress diagrams |
| cress_sdl | translate Cress diagrams to SDL |
| cress_sdt | turn a Lola (Lotos) test process into an MSC/PR file for Tau SDT (SDL) |
| cress_test | run JUnit tests on BPEL services |
| cress_tidy | delete temporary Lola (Lotos) and Tau SDT (SDL) files |
| cress_validate | validate Cress diagrams |
| cress_verify | verify Cress diagrams |
| cress_vxml | translate Cress diagrams to VoiceXML |
| sdt_in sdt_sip sdt_vxml |
these are Tau Analyzer filters for IN, SIP and VoiceXML; set them as a filter in the Tau SDT Analyzer dialogue |
These in turn rely on various Perl modules:
| Module | Purpose |
|---|---|
| cress_bpel.pm | Cress diagram to BPEL/WSDL translator; variants apply for each vocabulary |
| cress_common.pm | Cress common definitions |
| cress_cpl.pm | Cress diagram to CPL translator; |
| cress_lexer.pm | Cress lexical analyser (diagram analyser) |
| cress_lotos.pm | Cress diagram to Lotos translator; variant code applies for each vocabulary |
| cress_parser.pm | Cress diagram parser (syntax analyser) |
| cress_sdl.pm | Cress diagram to SDL translator; variant code applies for each vocabulary |
| cress_vxml.pm | Cress diagram to VoiceXML translator |
| cress_vocab.pm | Cress vocabularies |
The relationship among the main scripts is as follows:
To run these tools requires a Unix-like environment and Perl 5. The tools have been run on Unix (Fedora Core 4, NextStep 3.3/OpenStep 4.2, Solaris 7/8) and Windows (XP, under CygWin 1.5/1.7).
The best alternative is to make use of the Chive graphical editor created for Cress. This is Java-based and should run on many platforms. Virtually all Cress diagrams have been provided in Chive XML format.
If Java is supported on your platform, you can use yEd instead. Download this from yWorks. Diagrams need to be saved in GML format for Cress to use them. yEd will read .gml format as well as its own .ygf format.
If you are able to run NextStep/OpenStep, you can edit and create Cress diagrams. You may be able to download Diagram! and a licence key from the Web, though the author has local copies. The file cress.dpalette2 is a palette for this diagram editor.
Diagrams can be checked individually or in groups by running cress_check.
To deploy and run generated Web Services, you will need Apache Tomcat (e.g. version 5.5.12 onwards) and ActiveBPEL (e.g. version 5.0.2). To test web or grid services requires JUnit 4.0 or later and MySQL 5.0 or later. To deploy and run generated Grid Services, you will also need Globus WS Core (e.g. version 4.2).
Beware of some version incompatibilities in these external tools:
To deploy and run generated CPL, you will need a CPL-capable SIP server such as SER (SIP Express Router) or Vocal.
To analyse and execute the generated specifications, you will need Lola/Topo (e.g. version 3.6 onwards). The author has a version of Lola/Topo compiled for CygWin on Windows and Debian Linux. You might also wish to use CADP (e.g. version 7.1 onwards). Cress descriptions can be verified with Clove (Cress Language-Oriented Verification Environment) and can be validated with Mustard (Multiple-Use Scenario Testing and Refusal Description).
To analyse and execute the generated specifications, you will need Telelogic Tau SDL Suite or SDL/MSC (e.g. version 4.6 onwards).
To deploy and run Cress IVR services, you will need V-Builder and associated packages from Nuance Corporation (e.g. version 1.2 onwards). This is a substantial and complex set of downloads that needs registration and approval by Nuance. At least Nuance V-Builder, Nuance Vocalizer and a Nuance language pack will be needed.
This is not open-source software. The authors (Kenneth J. Turner and others, University of Stirling) retain copyright in it. Nonetheless, the authors will normally approve its use by others subject to the following conditions:
Up one level to Graphical Utilities