Skip to content.
Personal tools
You are here: Home » Membres » Poizat's Home » Adaptor

Adaptor

Document Actions
the Adaptor tool for model-based software adaptation

new: Web Service implementation of Adaptor (WSA)
-- the WSA branch goes from Adaptor 0.2
an alpha version of Adaptor 0.3 is available upon mail request
-- main changes: adaptation contracts can be given as LTS, muCRL reduction tool can be used as an alternative to CADP

current (beta) version: Adaptor 0.2, January 2007
-- main changes: open-systems supported, new reduction technique available, approx. 25000 lines of examples (see change log)

Note on ETS [Poi05]: due to usage of Eclipse/Antlr/Xerces elements in ETS, packaging ETS is pending. Without ETS, synchronous adaptation is not possible in Adaptor. However, the part of Adaptor which relates to reordering-enabled adaptation (see [CPS06b], below) is independent of ETS and therefore fully operational.

Overview

overview picture

Principles

[CPS08]

Carlos Canal, Pascal Poizat and Gwen Salaün. Model-based Adaptation of Behavioural Mismatching Components. in IEEE Transactions on Software Engineering, to appear. 2008

Installation

Software requesites

The following elements are required for the installation of Adaptor:

  • code interpreter
  • XML input/output
  • graphical user interface
    • gtk+ 2 (http://www.gtk.org/)
      gtk+ graphical user interface library
    • pygtk / libglade 2.8 (http://www.pygtk.org/)
      python bindings for the gtk graphical user interface library and glade-based graphical user interfaces
    • graphviz/dot (http://www.graphviz.org/)
      graphical outputs for Petri nets and LTS

      Make sure your graphviz/dot version supports jpg generation (option -Tjpg).
      Note: the version of dot bundled with the Tina 2.8.0 package is compiled with jpg support disabled, so you must find another one.

  • formal tools
    • Tina 2.8.0 (http://www.laas.fr/tina/)
      for Petri net marking/cover graph computation
    • ETS (http://www.ibisc.univ-evry.fr/Members/Poizat/ETS)
      STS/LTS products (not required for reordering adaptation) [NOT DOCUMENTED/NEEDED IN CURRENT VERSION]
    • CADP xxx (http://www.inrialpes.fr/vasy/cadp)
      for Adaptor model reductions (optional but recommended)

Most of these tools are available in packages under various distributions. Try these before trying to install on your own a tarball or a zipfile as this may find out missing dependencies on your computer. Adaptor may run with different versions of these tools but we have not performed tests yet. Packages (ubuntu, etc) will be built as soon as possible.

Adaptor archive

Adaptor is LGPL licenced software. You have to agree on this licence before getting and installing Adaptor. Copyright is retained by IBISC, FRE 2873 CNRS - University of Evry.

You may get Adaptor in the following formats:

Adaptor 0.2 - 01/2007 [change log]
tgz adaptor-0.2-complete.tgz (complete tarball, contains the following three)
tgz adaptor-0.2-src.tgz (source/code tarball)
tgz adaptor-0.2-examples.tgz (examples tarball)
tgz adaptor-0.2-doc.tgz (documentation tarball)
Adaptor 0.1 - 06/2006
tgz adaptor-0.1.tgz (tarball)

Running Adaptor

Uncompress the archive, enter the src directory, and then:

> python mainWindow2.py &

The first time you run Adaptor, you have to configure the paths to tools (Menu Tools->configure), quit Adaptor (to save the configuration) and launch it again (to read the correct configuration). Alternatively (not recommended) you may try to correct by hand the config.dat file.


Adaptor capture #1

  • Java: java environment directory (e.g., /usr means the java command is /usr/bin/java)
  • ETS: path to the jar archives of ETS [NOT DOCUMENTED/NEEDED IN CURRENT VERSION]
  • Dot: path to the dot command (e.g., /usr/local/bin means the dot command is /usr/local/bin/dot)
  • Tina: tina directory (e.g., /usr/local/tina means the tina command is /usr/local/tina/bin/tina)

Documentation

Sorry, no documentation for the moment.

  • basic information in the commented walkthrough (also available in the doc directory).
  • accepted inputs: .aut (Aldebaran) or XML format for component behavioural interfaces, XML format for adaptation mappings
  • provided visualization/outputs: .jpg, .aut (Aldebaran) and XML for generated LTSs
  • XML schema files for XML inputs (bidl.xsd for behavioural component interfaces and mapping.xsd for adaptation mappings) are given in the doc directory.
  • project names should end in ".prj"
  • names (projects, components, adapters, ...) should not contain special characters (space, star, ...) for your OS

Change log / History

Adaptor 0.2

01/2007
extension: open-systems (supports an incremental development of systems and adaptors)
extension: new reduction technique (branching reduction) supported (uses CADP)
examples: approx. 70 examples (25000 XML specification lines)
bug correction: compositional vectors parsing and storing
bug correction: accept transitions now take mappings into account
bug correction: removal of paths to deadlock now mandatory when reducing adaptors
Adaptor 0.1

06/2006
initial version, model-based adaptation, system-wide, closed systems

Walkthrough/Demo/Screenshots

see the walkthrough screen shots. (lots of big pictures, may take some time)

Acknowledgements

  • Adaptor: v0.1 by S. Beauche and P. Poizat, extension v0.2 by G. Salaün
  • Many thanks to B. Berthomieu from LAAS, Toulouse, which helped us in interacting with the Tina tool and to the whole CADP development team from the VASY project, INRIA, for CADP-related support.


Last modified 16/04/2008 04:57 PM