Commit c7059236 authored by Pietro Braghieri's avatar Pietro Braghieri
Browse files

Update OSLC_README.md

parent 2ff79ab4
# OSLC
[OSLC](https://open-services.net/) (Open Services for Lifecycle Collaboration) is a set of specifications that enable integration of software development. It is based on several web standards, like the W3C Resource Description Framework (RDF), Linked Data and REST and enables integration at data level via links between related resources. OSLC resources are defined in terms of RDF properties. Operations on resources are performed using HTTP.
OSLC is organized into individual topics such a change management, test management, requirements management and configuration management.
These topics have [specifications](https://open-services.net/specifications/) called **domains** which leverage the OASIS OSLC lifecycle integration Core Specification and enable interoperation through the specification of standard domain vocabularies, constraints, and services.
For the integration with our tools, we select the [Automation](https://archive.open-services.net/wiki/automation/OSLC-Automation-Specification-Version-2.1/index.html) specifications.
The OSLC Automation domain define resources as `Automation Plan`, `Automation Request` and `Automation Result`; they are in relationship as shown below
[<img src="/docs/AutomationResourcesRelationship.png" width="600">](/docs/AutomationResourcesRelationship.png)
A OSLC Service Provider based on the OSLC Automation domain has been realized.
The figure below shows the interactions between the OSCL Client ([CHESS](https://projects.eclipse.org/projects/polarsys.chess) in this example) and the Service Provider:
[<img src="/docs/OSLC_FBK_Tool_Interactions.png" width="600">](/docs/OSLC_FBK_Tool_Interactions.png)
The integration and implementation of the tool chain through OSLC is realized by a web application server (i.e. [Tomcat](https://tomcat.apache.org/)) that runs the OSCL Registry (that lists the available services) and the OSLC Service Provider that interacts with the analysis tools as shown below:
[<img src="/docs/OSLC_FBK_Tool_WebApplication.png" width="600">](/docs/OSLC_FBK_Tool_WebApplication.png)
The analysis tool functionalities are be available by means of Automation Plans; the title attribute `<dcterms:title>` of the Automation Plan selects the tool functionality.
At the current time, the available Plans for the FBK analysis tools are the following:
| Analysis Tool Functionality | Automation Plan `dcterms:title` |
| ------ | ------ |
| Check Contract Refinement | ocra_check_refinement |
| Check Contract Implementation | ocra_check_implementation |
| Check Contract Composite Implementation | ocra_check_composite_impl |
| Check Contract Validation Property | ocra_check_validation_prop |
| Compute Fault Tree | ocra_compute_fault_tree |
| Print System Implementation | ocra_print_system_implementation |
| Print Implementation Template | ocra_print_implementation_template |
| Instantiate Parametric Architecture | ocra_instantiate_parametric_arch |
| Get Required Architecture Parameters | ocra_get_required_arch_parameters |
| Behavior Model Check | nuxmv_check_model |
| Expand Fault Extensions | xsap_expand_fault_extensions |
| Extend Model | xsap_extend_model |
| Compute Fault Tree | xsap_compute_fault_tree |
| Compute FMEA Table | xsap_compute_fmea_table|
The OSLC Service Provider exposes additional services for listing the service provider catalogue, the list of Automation Plans that are available in the current instance of service provider, the Automation Requests that were submitted and the list of Automation Results.
Each services has an end point that is listed in the following table:
| Service | End Point |
| ---- | ---- |
| OSLC Service Catalogue | `<web_server_address>/oslc4j-registry/catalog` |
| List of available Plans | `<web_server_address>/<context>/services/autoPlans` |
| List of Current Requests | `<web_server_address>/<context>/services/autoRequests` |
| List of Current Results | `<web_server_address>/<context>/services/autoResults` |
For example, to get the list the available Automation Plans, calls the end point `<web_server_address>/<context>/services/autoPlans` and the corresponding answer will be a RDF/XML output that lists all Automation Plans that are supported by the Service Provider.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment