Agreement Document Analysis Framework which currently support the analysis of documents specified with WS-Agreement recommendation of the OGF working group.

Registered Tool

ADA Framework

From our experience on agreement document analysis (see related publications) we have identified the common features of different analysis proposals. Those features and the different extension points are part of the ADA FW Core. The remaining features are provided as ADA Extensions.

In the Figure above you may see a detailed description of ADA FW architecture that we briefly describe to understand the functionality and the flexibility of the tool:

  • Interfaces: we pursue the goal of putting ADA available for more than a traditional API. Thus, ADA is deployed into an (OSGi) container as a set of java components (OSGi bundles). OSGi is a specification of a Java Framework, with multiple implantations, that provides a SOA architecture. It makes deployment, communication, discovery, and, in general, integration among bundles, easier. Currently ADA has two public interfaces:
    • ADA-Web Service (ADA-WS) offering a facade to use ADA operations from any connected to internet tool.
    • OSGi offering a simple integration with OSGi compliant frameworks or tools (e.g. Eclipse).
    • ADA-Service Engine (ADA-SE) will be soon available.
  • ADA Core: communicates different extensions among them.
  • ADA Extensions: set of modules that allows ADA-FW to adapt to user needs:
    • Agreement models: integrate your own agreement document model or SLAs into ADA-FW. ADA-FW supports the XML language of WS-Agreement, WSAG4People which is our own succinct plain-text language for WS-Agreement documents to avoid verbosity of XML documents.
    • Analysers: add new reasoners or solvers developed by third parties. By default Choco, an open source Constraint Satisfaction Problems (CSP) solver, is provided with the tool.
    • Operations: incorporate new reasoning operations. consistency and compliance checking; and moreover explaining of inconsistency and non-compliance scenarios, are included to date.
    • Selector: select at runtime the analyser to execute an analysis operation among all the available analysers and based on a previously defined criterion (performance, accuracy,…). ADA-FW allows to develop your own smart selectors.

From version 0.2.0 ADA is compatible with OSGi, this makes possible to integrate easy with other applications as each extension is now also an OSGi bundle. And the core consumes this extensions and give the necessary feedback.

ADA Features

Major features of ADA-FW:

  • Multi-paradigm analysis of agreement documents.
  • Flexible arquitecture, supporting plugin for each of the three main elements of the tool: Analysers, analysis Operations and agreement documents Formats.
  • Support for adding other Analysers.
  • Support for adding other analisys Operations.
  • Support for adding other agreement documents Formats.

We summarize the benefits of using ADA FW:

  • Easy to use: ADA-FW has a simple and stable front-end implementing a query-based interaction.
  • Easy to extend: ADA-FW architecture allows to extend or update existing products just by adding or updating its components or features. Third-parties are allowed to develop and integrated their own ADA Extensions.
  • Easy to configure: ADA-FW is configured by means of an unique XML file, easing its maintenance and configuration to adapt the tool to the user needs.

ADA Reference Manual

Manual available for the use of this tool:

Colaboration Projects

Projects used in ADA-FW

Choco is Java library that can be used for:

  • teaching (a user-oriented constraint solver with open-source code)
  • research (state-of-the-art algorithms and techniques, user-defined constraints, domains and variables)
  • real-life applications (many application now embed choco)

ANother Tool for Language Recognition, is a language tool that provides a framework for constructing recognizers, interpreters, compilers, and translators from grammatical descriptions containing actions in a variety of target languages.

We make good use of several tools developed by apache foundation such as:

  • Apache CXF to generate the web service description language for ADA to be shared as a web service. Because Apache CXF is an open source services framework which helps you build and develop services using frontend programming APIs, like JAX-WS and JAX-RS. These services can speak a variety of protocols such as SOAP, XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such as HTTP, JMS or JBI.
  • Apache Axis2 to consume the ADA web service from our developed front end. Because Apache Axis2 is a Web Services / SOAP / WSDL engine, the successor to the widely used Apache Axis SOAP stack.

From the draft W3C specification: SOAP is a lightweight protocol for exchanging structured information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it, a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing remote procedure calls and responses.

Upgrading ADA

To extend ADA with a new analyzer, it is advisable to follow the indications of the next UML class diagram:

The three top elements are interfaces and abstract predefined classes of ADA’s core, and the four bottom elements are concrete implementations for the new analyzer:

  • XYZAnalyzer: extends abstract class Analyzer, and implements analyze method, that delegates on the operation.
  • XYZOperation: it is an abstract class. XYZOperation implements Operation and adds a new abstract method, execute, for all its subinstances
  • XYZConcreteOperation: it implements a concrete operation and its methods, like compliance or consistency, and extends XYZOperation, overriding execute method
  • XYZTranslator: an auxiliar class to translate the documents to a logical paradigm.

Version Control

Version Date of Issue Author(s) Brief Description of Change(s)
ADA-FW v0.1.0
ADA Team
Framework structure supporting: consistency and compliance checking, and inconsistency and non compliance explaining
ADA-FW v0.2.0
ADA Team
Previous features but now: ADA is OSGi-compliant.
ADA-FW v0.3.0
ADA Team
Previous features but now: an improved inconsistency and non compliance explaining by returning every related inconsistency.

ADA-FrontEnd is the web tool developed to try ADA online.

VersionDate of Issue Author(s) Brief Description of Change(s)
ADA-FrontEnd v0.1.0
ADA Team
Open, Edit, and Save documents in XML view.
ADA-FrontEnd v0.1.1
ADA Team
Previous features but now: Open, Edit, and Save documents in XML and WSAg4People view, and non-editing view in Tree. A colouring of syntax is included.
ADA-FrontEnd v0.1.2
ADA Team
Previous features but now: automatic logs windows appears while analysing documents. The Non-Compliance explaining visualization has been improved with a parallel view of documents.
ADA-FrontEnd v0.2.0
ADA Team
Previous features but now: the explaining result is shown by different colors for each related conflict.
SLAxplainer (former stand alone application)
VersionDate of Issue Author(s) Brief Description of Change(s)
SLAExplainer Prototype v0.1
ADA Team
Inconsistency explainer (only for agreement offers in XML view)
SLAExplainer Prototype v1.0
ADA Team
NonCompliance explainer (agreement documents in XML and Tree views)


Carlos Muller

ADA-FW is free software, you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License.