Extending the OSLC Standard for ECA-Based Automation
Abstract
:1. Introduction
2. Related Work
2.1. Event-Condition-Action Automation Tools for DevOps
2.2. Automation with OSLC Standard
3. The Proposed OSLC Extension for ECA-Based Automation
3.1. Design Methodology
3.2. Mappings from External Ontologies in OSLC-ECA
- OSLC Core v3.0 [21]: Following this specification, the data are semantically represented with Resource Description Framework (RDF) and are retrieved via an HTTP API. Therefore, each service must provide a catalog of its oslc:ServiceProviders, which must be understood as “organizing concepts that partition the overall space of artifacts in the tool into smaller containers.” [45]. This definition makes the concept of oslc:ServiceProvider different depending on the type of service that we were handling based on its domain. Potential clients can discover all those providers by discovering all resources and capabilities based on its root resource, the oslc:ServiceProviderCatalog. This resource allows clients to obtain its list of oslc:ServiceProviders responsible for providing the information needed to send any well-formed request to the oslc:Service, allowing clients to interact appropriately. These endpoints can be discovered through the oslc:CreationFactory and oslc:QueryCapabilities services. They may also provide an oslc:ResourceShape that describes the properties a resource from that service is expected to have.
- OSLC Automation v2.1 [23]: Regarding the process automation field, OSLC defines a specific domain called OSLC Automation. This domain aims to model an interface so that an automation provider can interact with other oslc:Services. It defines three different crucial resources that a oslc:ServiceProvider exposes. The first of these resources is the oslc_auto:AutomationPlan which defines a unit of automation available for execution. Next, the oslc_auto:Automation Request resource provides the information required to execute an oslc_auto:AutomationPlan. Finally, the standard defines an oslc_auto:AutomationResult resource to track an oslc_auto:AutomationRequest status.
- LDP [48]: The W3C Linked Data Platform (LDP) supports HTTP operations on web RDF resources to provide a web-based read–write Linked Data architecture. In this case, the concept ldp:Container is used in the same way as that in OSLC Core Specification [21] adapted to the ECA domain: a ldp:Container provides a URL where it can be used to interact with actions of a specific service.
- OWL [49]: In this case, the Web Ontology Language (OWL) ontology allows flexibility in defining the source of events and how the proposed OSLC-ECA model can recover them.
- DC [50]: Dublin Core is used for most of the properties of every class, defined according to DCMI Metadata Terms metadata elements. This is similar to the way it is used in the OSLC Core Specification.
3.3. OSLC-ECA Elements
3.3.1. Event Modelling
3.3.2. Action Modelling
3.3.3. Rule Modelling
3.4. Example of Use of OSLC-ECA
Listing 1. An OSLC Resource oslc_cm: ChangeRequest representing the bug created in Bugzilla. |
1 <http://example.com/ServiceProvider/sp1/bugs/b1> a oslc_cm:ChangeRequest; 2 oslc_cm:severity “enhancement”^^xsd:string; 3 oslc_cm:status “CONFIRMED”^^xsd:string; 4 oslc:serviceProvider <http://example.com/ServiceProvider/sp1>; 5 dcterms:contributor “admin”^^xsd:string; 6 dcterms:created “2022-12-10T07:07:33+00:00”^^xsd:dateTime; 7 dcterms:identifier “1”^^xsd:integer; 8 dcterms:modified “2022-12-10T07:07:33+00:00”^^xsd:dateTime; 9 dcterms:title “Testing bug to issue automation”^^xsd:string; 10 bgz:component “TestComponent”^^xsd:string; 11 bgz:operatingSystem “Linux”^^xsd:string; 12 bgz:platform “PC”^^xsd:string; 13 bgz:priority “---”^^xsd:string; 14 bgz:version “unspecified”^^xsd:string. |
Listing 2. Example of use for oslc_eca:Event and oslc_eca:EventListener. |
1 example:BugzillaEventListener a owl:Class; 2 rdfs:subClassOf oslc_eca:EventListener; 3 oslc_eca:binding [ 4 a kafka:Broker; 5 kafka:topic “new_bugs_bugzilla”^^rdf:XMLLiteral 6 ]. 7 8 example:BugCreationEvent a owl:Class; 9 rdfs:subClassOf oslc_eca:Event; 10 oslc_eca:generatedBy example:BugzillaEventListener. 11 12 <http://example.com/EventListener/el1> a example:BugzillaEventListener; 13 oslc:serviceProvider <http://example.com/ServiceProvider/sp2>; 14 oslc_eca:source <bugzilla.example.com>; 15 dcterms:description “Listener detecting events from Bugzilla”^^rdf:XMLLiteral; 16 oslc_eca:binding [ 17 a kafka:Broker; 18 kafka:providerURL <http://broker.example.com/provider>; 19 kafka:topic “new_bugs_from_bugzilla”^^rdf:XMLLiteral 20 ]. 21 22 <http://example.com/Event/ev1> a example:BugCreationEvent; 23 oslc_eca:generatedBy <http://example.com/EventListener/el1>; 24 oslc_eca:causedBy <http://example.com/ServiceProvider/sp1/bugs/b1>; 25 dcterms:created “2022-07-14T07:07:33+00:00”^^xsd:dateTime; 26 dcterms:title “Event generated by the creation of a bug”^^xsd:string. |
Listing 3. Example of use for oslc_eca:Action and oslc_eca:ActionDispatcher. |
1 example:CreateIssueGitHubActionDispatcher a owl:Class; 2 rdfs:subClassOf oslc_eca:ActionDispatcher; 3 oslc_eca:queryActions [ 4 a ldp:Container, example:GitHubActionQueryContainer. 5 ]; 6 oslc_eca:execution [ 7 a ldp:Container, example:GitHubActionExecutionerContainer. 8 ]. 9 10 example:CreateIssueGitHubAction a owl:Class; 11 rdfs:subClassOf oslc_eca:Action; 12 oslc_eca:executedBy example:CreateIssueGitHubActionDispatcher. 13 14 <http://example.com/ActionDispatcher/ad1> a example:CreateIssueGitHubActionDispatcher; 15 dcterms:description “Action dispatcher that creates issues on GitHub”^^rdf:XMLLiteral; 16 oslc_eca:execution [ 17 a ldp:Container, example:GitHubActionExecutionerContainer; 18 dcterms:description “REST API endpoint to create an issue”; 19 github:executionURL <https://api.github.com/repos/example-repo/action-request-api>. 20 ]. 21 22 <http://example.com/Action/ac1> a example:CreateIssueGitHubAction; 23 dcterms:title “Action to be executed on GitHub”^^xsd:string; 24 oslc:serviceProvider <http://example.com/ServiceProvider/sp3>; 25 oslc_actions:executedBy <http://example.com/ActionDispatcher/ad1>; 26 oslc_auto:status oslc_auto:completed; 27 oslc_auto:veredict oslc_auto:passed; 28 example:originalChangeRequest <http://example.com/ServiceProvider/sp1/bugs/b1>; 29 dcterms:created “2023-04-14T07:07:33+00:00”^^xsd:dateTime. |
Listing 4. Example of use for oslc_eca:Rule and oslc_eca:AssertedContidion. |
1 2 example:BugsReplication a owl:Class; 3 rdfs:subClassOf oslc_eca:Rule; 4 rdfs:subClassOf spin:Rule; 5 oslc_eca:executes example:CreateIssueAction; 6 oslc_eca:triggeredBy example:BugCreationEvent; 7 dcterms:description “Create an issue in GitHub when an issue is created in BugZilla.”^^rdf:XMLLiteral. 8 9 example:NewBugCondition a owl:Class; 10 rdfs:subClassOf oslc_eca:AssertedCondition; 11 rdfs:subClassOf spin:Ask; 12 dcterms:description “Assert if there is any new bug created in BugZilla.”rdf:XMLLiteral. 13 14 <http://example.com/Rule/r1> a example:BugsReplication; 15 oslc_eca:triggeredBy <http://example.com/Event/ev1>; 16 oslc_eca:executes <http://example.com/Action/ac1>; 17 oslc:serviceProvider <http://example.com/ServiceProvider/sp4> 18 dcterms:created “2023-04-14T07:07:33+00:00”^^xsd:dateTime. 19 20 <http://example.com/AssertedCondition/ac1> a example:NewBugCondition; 21 oslc_eca:asserts <http://example.com/Rule/ev1>; 22 oslc_eca:produces <http://example.com/Action/ac1>; 23 oslc_eca:asserted “true”^^xsd:boolean; 24 dcterms:created “2023-04-14T07:07:33+00:00”^^xsd:dateTime. |
3.5. Prototype Architecture
4. Results
4.1. Completeness and Conciseness
Algorithm 1: Feature extraction process. |
4.2. Competency Questions
4.3. Discussion
5. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Ebert, C.; Gallardo, G.; Hernantes, J.; Serrano, N. DevOps. IEEE Softw. 2016, 33, 94–100. [Google Scholar] [CrossRef]
- Jabbari, R.; Ali, N.B.; Petersen, K.; Tanveer, B. What Is DevOps? A Systematic Mapping Study on Definitions and Practices. In Proceedings of the ACM International Conference Proceeding Series, Scotland, UK, 24 May 2016; Association for Computing Machinery: New York, NY, USA, 2016; pp. 1–11. [Google Scholar] [CrossRef]
- Mohammad, S.M. DevOps Automation and Agile Methodology. Int. J. Creat. Res. Thoughts (IJCRT) 2017, 3, 946–949. [Google Scholar]
- Mohammad, S.M. Streamlining DevOps Automation for Cloud Applications. Int. J. Creat. Res. Thoughts (IJCRT) 2018, 6, 955–959. [Google Scholar]
- Hochstein, L.; Moser, R. Ansible: Up and Running: Automating Configuration Management and Deployment the Easy Way; O’Reilly Media, Inc.: Sebastopol, CA, USA, 2017. [Google Scholar]
- Krum, S.; Van Hevelingen, W.; Kero, B.; Turnbull, J.; McCune, J. Pro Puppet; Apress Media LLC: New York, NY, USA, 2014. [Google Scholar]
- Marschall, M. Chef Infrastructure Automation Cookbook; Packt Publishing Ltd.: Birmingham, UK, 2015. [Google Scholar]
- Mysari, S.; Bejgam, V. Continuous Integration and Continuous Deployment Pipeline Automation Using Jenkins Ansible. In Proceedings of the 2020 International Conference on Emerging Trends in Information Technology and Engineering (ic-ETITE), Vellore, India, 24–25 February 2020; pp. 1–4. [Google Scholar]
- Zadka, M. Terraform. In DevOps in Python: Infrastructure as Python; Springer: Berlin/Heidelberg, Germany, 2022; pp. 225–230. [Google Scholar]
- Coronado, M.; Iglesias, C.A. Task Automation Services: Automation for the Masses. IEEE Internet Comput. 2016, 20, 52–58. [Google Scholar] [CrossRef]
- Gehani, N.H.; Jagadish, H.V.; Shmueli, O. Event Specification in an Active Object-Oriented Database. ACM Sigmod Rec. 1992, 21, 81–90. [Google Scholar] [CrossRef]
- IFTTT. Available online: https://ifttt.com/ (accessed on 7 July 2023).
- Zapier Inc. Zapier. Available online: https://zapier.com/ (accessed on 7 July 2023).
- LF Projects. StackStorm. Available online: https://stackstorm.com/ (accessed on 7 July 2023).
- Clarive Software Inc. Clarive. Available online: https://clarive.com/ (accessed on 7 July 2023).
- Kersten, M. A cambrian explosion of DevOps tools. IEEE Softw. 2018, 35, 14–17. [Google Scholar] [CrossRef]
- Evers, A. Evaluating Cloud Automation as a Service. Cyber Secur. Threat. 2015, 3, 33. [Google Scholar]
- Karger, D.R. The Semantic Web and End Users: What’s Wrong and How to Fix It. IEEE Internet Comput. 2014, 18, 64–70. [Google Scholar] [CrossRef]
- Wettinger, J.; Breitenbücher, U.; Leymann, F. Standards-Based DevOps Automation and Integration Using TOSCA. In Proceedings of the 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing, London, UK, 8–11 December 2014; pp. 59–68. [Google Scholar] [CrossRef]
- McIlraith, S.; Son, T.; Zeng, H. Semantic Web Services. IEEE Intell. Syst. 2001, 16, 46–53. [Google Scholar] [CrossRef] [Green Version]
- Amsden, J.; Berezovskyi, A. OSLC Core Version 3.0. Part 1: Overview. Available online: https://docs.oasis-open-projects.org/oslc-op/core/v3.0/os/oslc-core.html (accessed on 16 February 2023).
- Zarour, M.; Alhammad, N.; Alenezi, M.; Alsarayrah, K. A research on DevOps maturity models. Int. J. Recent Technol. Eng. 2019, 8, 4854–4862. [Google Scholar] [CrossRef]
- Amsden, J.; Ribeiro, F. OSLC Automation Version 2.1 Part 1: Specification. Available online: https://archive.open-services.net/wiki/automation/OSLC-Automation-Specification-Version-2.1/index.html (accessed on 16 February 2023).
- GitHub Inc. GitHub Actions. Available online: https://github.com/features/actions (accessed on 7 July 2023).
- Software Freedom Conservancy. GitLab CI/CD. Available online: https://docs.gitlab.com/ee/ci/ (accessed on 7 July 2023).
- Kotliar, A.; Kotliar, V. Event-driven automation and chatops on IHEP computing cluster. In Proceedings of the CEUR Workshop Proceedings, Dubna, Russia, 10–14 September 2018; pp. 558–562. [Google Scholar]
- Netflix to Use StackStorm for IT Automation Under Cassandra. Available online: https://www.datacenterknowledge.com/archives/2015/09/24/netflix-to-use-stackstorm-for-it-automation-under-cassandra (accessed on 7 July 2023).
- openPR Worldwide Public Relations. Application Release Orchestration Software Market to Witness. 2023. Available online: https://www.openpr.com/news/3109534/application-release-orchestration-software-market-to-witness (accessed on 7 July 2023).
- Lardinois, F. Microsoft Says GitHub Now Has a $1B ARR, 90M Active Users; Techcrunch, 2022. Available online: https://techcrunch.com/2022/10/25/microsoft-says-github-now-has-a-1b-arr-90m-active-users/ (accessed on 7 July 2023).
- Goled, S. GitLab To Go Public: Tracing The Company’s Highs & Lows. 2021. Available online: https://analyticsindiamag.com/gitlab-to-go-public-tracing-the-companys-highs-lows/ (accessed on 7 July 2023).
- OASIS Open Project. Open Services for Lifecycle Collaboration|OSLC. Available online: https://open-services.net/ (accessed on 7 July 2023).
- Opara-Martins, J.; Sahandi, R.; Tian, F. Critical Analysis of Vendor Lock-in and Its Impact on Cloud Computing Migration: A Business Perspective. J. Cloud Comput. 2016, 5, 4. [Google Scholar] [CrossRef] [Green Version]
- Basso, F.; Soares Ferreira, B.M.; Torres, R.; Frantz, R.Z.; Kreutz, D.; Bernardino, M.; de Macedo Rodrigues, E. Model-Driven Integration and the OSLC Standard: A Mapping of Applied Studies. In Proceedings of the 38th ACM/SIGAPP Symposium on Applied Computing, Tallinn, Estonia, 27–31 March 2023; pp. 763–770. [Google Scholar]
- Chen, J.; Hu, Z.; Lu, J.; Zhang, H.; Huang, S.; Törngren, M. An Open Source Lifecycle Collaboration Approach Supporting Internet of Things System Development. In Proceedings of the 2019 14th Annual Conference System of Systems Engineering (SoSE), Anchorage, AK, USA, 19–22 May 2019; pp. 63–68. [Google Scholar] [CrossRef]
- ARTEMIS Industry Association. CRYSTAL Project—ARTEMIS-IA. Available online: https://artemis-ia.eu/project/46-crystal.html (accessed on 7 July 2023).
- Leitner, A.; Herbst, B.; Mathijssen, R. Lessons Learned from Tool Integration with OSLC. In Information and Software Technologies; Dregvaite, G., Damasevicius, R., Eds.; Communications in Computer and Information Science; Springer International Publishing: Cham, Switzerland, 2016; pp. 242–254. [Google Scholar] [CrossRef]
- Nardone, R.; Marrone, S.; Gentile, U.; Amato, A.; Barberio, G.; Benerecetti, M.; De Guglielmo, R.; Di Martino, B.; Mazzocca, N.; Peron, A.; et al. An OSLC-based Environment for System-Level Functional Testing of ERTMS/ETCS Controllers. J. Syst. Softw. 2020, 161, 110478. [Google Scholar] [CrossRef]
- Fiedor, J.; Křena, B.; Smrčka, A.; Vašíček, O.; Vojnar, T. Integrating OSLC Services into Eclipse. In Computer Aided Systems Theory—EUROCAST 2022; Moreno-Díaz, R., Pichler, F., Quesada-Arencibia, A., Eds.; Lecture Notes in Computer Science; Springer International Publishing: Cham, Switzerland, 2022; pp. 240–249. [Google Scholar] [CrossRef]
- Lillo, P.; Mainetti, L.; Mighali, V.; Patrono, L.; Rametta, P. An ECA-based Semantic Architecture for IoT Building Automation Systems. J. Commun. Softw. Syst. 2016, 12, 24–33. [Google Scholar] [CrossRef] [Green Version]
- Perumal, T.; Sulaiman, M.N.; Leong, C.Y. ECA-based interoperability framework for intelligent building. Autom. Constr. 2013, 31, 274–280. [Google Scholar] [CrossRef]
- Berezovskyi, A.; El-khoury, J.; Kacimi, O.; Loiret, F. Improving Lifecycle Query in Integrated Toolchains Using Linked Data and MQTT-based Data Warehousing. arXiv 2018, arXiv:1803.03525. [Google Scholar]
- Crossley, N. OSLC Tracked Resource Set Version 3.0. Part 1: Specification. 2021. Available online: https://docs.oasis-open-projects.org/oslc-op/trs/v3.0/ps01/tracked-resource-set.html (accessed on 7 July 2023).
- Banks, A.; Briggs, E.; Borgendale, K.; Gupta, R. MQTT Version 5.0. 2019. Available online: https://www.oasis-open.org/standard/mqtt-v5-0-cs02/ (accessed on 7 July 2023).
- García-Grao, G.; Carrera, Á. OSLC Extension for ECA-Based Automation. Available online: http://gsi.upm.es/ontologies/smartdevops/oslc_eca/ (accessed on 16 February 2023).
- Speicher, S. OSLC Primer. 2019. Available online: https://open-services.net/resources/oslc-primer/ (accessed on 7 July 2023).
- Amsden, J.; Berezovskyi, A. OSLC Change Management Version 3.0—OASIS Open. 2020. Available online: https://www.oasis-open.org/standard/oslc-cm-v3-0-ps01/ (accessed on 7 July 2023).
- Amsden, J.; Berezovskyi, A.; Schulte, M.; El-khoury, J. OSLC Requirements Management Version 2.1. Part 1: Specification. Available online: https://docs.oasis-open-projects.org/oslc-op/rm/v2.1/requirements-management-spec.html (accessed on 7 July 2023).
- The W3C Linked Data Platform (LDP) Vocabulary. Available online: https://www.w3.org/ns/ldp (accessed on 16 February 2023).
- OWL—Semantic Web Standards. Available online: https://www.w3.org/OWL/ (accessed on 16 February 2023).
- DCMI: Dublin Core™. Available online: https://www.dublincore.org/specifications/dublin-core/ (accessed on 23 February 2023).
- Apache Software Foundation. Apache Kafka. Available online: https://kafka.apache.org/ (accessed on 7 July 2023).
- Pain, M.; Padgett, S. OSLC Actions. 2020. Available online: https://oslc-op.github.io/oslc-specs/specs/actions/actions-spec.html (accessed on 7 July 2023).
- Knublauch, H.; Hendler, J.A.; Idehen, K. SPIN-overview and Motivation. W3c Memb. Submiss. 2011, 22, W3C. [Google Scholar]
- Berners-Lee, T. Notation 3 Logic. Status: An Early Draft of a Semi-Formal Semantics of the N3 Logical Properties. 2005. Available online: https://www.w3.org/DesignIssues/Notation3.html (accessed on 7 July 2023).
- Downloading and Starting the Sample Applications. Available online: https://oslc.github.io/developing-oslc-applications/integrating_products_with_oslc/running_the_examples (accessed on 7 July 2023).
- GitHub Inc. GitHub. Available online: https://github.com (accessed on 7 July 2023).
- Bugzilla.org Contributors. Bugzilla. Available online: https://www.bugzilla.org/ (accessed on 7 July 2023).
- Muñoz, S.; Llamas, A.F.; Coronado, M.; Iglesias, C.A. Smart Office Automation Based on Semantic Event-Driven Rules. In Proceedings of the Intelligent Environments (Workshops), London, UK, 14–16 September 2016; pp. 33–42. [Google Scholar]
- Raad, J.; Cruz, C. A Survey on Ontology Evaluation Methods. In Proceedings of the International Conference on Knowledge Engineering and Ontology Development, Part of the 7th International Joint Conference on Knowledge Discovery, Knowledge Engineering and Knowledge Management, Lisbon, Portugal, 12–14 November 2015. [Google Scholar]
- Brank, J.; Grobelnik, M.; Mladenic, D. A Survey of Ontology Evaluation Techniques. In Proceedings of the Conference on Data Mining and Data Warehouses (SiKDD 2005), Newport Beach, CA, USA, 21–23 April 2005; pp. 166–170. [Google Scholar]
- Coronado, M.; Iglesias, C.A.; Serrano, E. Modelling Rules for Automating the Evented WEb by Semantic Technologies. Expert Syst. Appl. 2015, 42, 7979–7990. [Google Scholar] [CrossRef]
- Ruan, J.; Yang, Y. Assess Content Comprehensiveness of Ontologies. In Proceedings of the 2010 Second International Conference on Computer Modeling and Simulation, Sanya, China, 15–16 May 2010; Volume 1, pp. 536–539. [Google Scholar]
- Jaccard, P. Étude comparative de la distribution florale dans une portion des Alpes et des Jura. Bull. Soc. Vaudoise Sci. Nat. 1901, 37, 547–579. [Google Scholar]
- Jaccard, P. The Distribution of the Flora in the Alpine Zone. New Phytol. 1912, 11, 37–50. [Google Scholar] [CrossRef]
- Wiśniewski, D.; Potoniec, J.; Ławrynowicz, A.; Keet, C.M. Analysis of ontology competency questions and their formalizations in SPARQL-OWL. J. Web Semant. 2019, 59, 100534. [Google Scholar] [CrossRef]
- Muñoz, S.; Araque, O.; Sánchez-Rada, J.F.; Iglesias, C.A. An Emotion Aware Task Automation Architecture Based on Semantic Technologies for Smart Offices. Sensors 2018, 18, 1499. [Google Scholar] [CrossRef] [Green Version]
Concept | StackStorm | Clarive | GitHub Actions | GitLab CI/CD |
---|---|---|---|---|
Event | Trigger | Event | Event | Trigger |
Action | Action | Ops | Action | Job |
Rule | Rule | Rule | Workflow | Pipeline |
Feature | Stack Storm | Clarive | GitHub Actions | GitLab CI/CD |
---|---|---|---|---|
Rules with more than one condition | No | No | Yes | Yes |
Rules with more than one action | Yes | Yes | Yes | Yes |
Rule sharing | Yes | Yes | Yes | Yes |
Custom actions | Yes | Yes | Yes | Yes |
Events generated outside own platform | Yes | Yes | No | No |
Rules API | No | Yes | Yes | Yes |
Rule chaining | Yes | Yes | Yes | Yes |
Feature | Type |
---|---|
∃ Rule | Concept |
hasProperty(Rule, name) | Property |
hasProperty(Rule, description) | Property |
hasProperty(Rule, enabled) | Property |
hasRelation(Rule, pack) | Relation |
restriction(Rule, pack, range(Pack)) | Restriction |
hasRelation(Rule, trigger) | Relation |
restriction(Rule, trigger, range(Trigger)) | Restriction |
restriction(Rule, trigger, maxCardinality(1)) | Restriction |
hasRelation(Rule, criteria) | Relation |
restriction(Rule, criteria, range(TriggerParameter)) | Restriction |
hasRelation(Rule, action) | Relation |
restriction(Rule, action, range(Action)) | Restriction |
Feature | StackStorm | Clarive | GitHub Actions | GitLab CI/CD |
---|---|---|---|---|
Concepts | 7 | 8 | 7 | 6 |
Relations | 8 | 8 | 6 | 5 |
Properties | 7 | 20 | 16 | 18 |
Restrictions | 15 | 28 | 21 | 23 |
Tool | OSLC ECA | OSLC Automation | ||
---|---|---|---|---|
Coverage | Similarity | Coverage | Similarity | |
StackStorm | 0.86 | 0.74 | 0.4 | 0.27 |
Clarive | 0.79 | 0.78 | 0.54 | 0.46 |
GitHub Actions | 0.74 | 0.6 | 0.52 | 0.43 |
GitLab CI/CD | 0.65 | 0.53 | 0.46 | 0.38 |
Competency Questions | SPARQL Query | Result |
---|---|---|
Which rules are defined in the OSLC Automation Server? | SELECT ?description WHERE { ?rule rdf:type oslc_eca:Rule; ?rule dcterms:description ?description. } | “If a bug is created in Bugzilla, create an issue in GitHub.”; “If a bug is modified in Bugzilla, update the corresponding issue in GitHub.” |
Which actions are available for execution on GitHub? | BASE <http://example.com/ServiceProvider/> SELECT ?description WHERE { ?ad rdf:type oslc_eca:ActionDispatcher; ?ad oslc:serviceProvider <sp3>; ?ad dcterms:description ?description. } | “Create issue.”; “Edit issue.”; “Delete issue.” |
What event triggered a rule, and what was its result? | BASE <http://example.com/Rule/> SELECT ?description ?result WHERE { <r1> oslc_eca:triggeredBy ?event; ?event dcterms:description ?description; ?ac oslc_eca:asserts <r1>; ?ac rdf:type oslc_eca:AssertedCondition; ?ac oslc_eca:asserted ?result. } | “Bug created in Bugzilla.”, true |
What was the source of a specific event? | BASE <http://example.com/Event/> SELECT ?source WHERE { <ev1> oslc_eca:generatedBy ?el; ?el rdf:type oslc_eca:EventListener; ?el oslc_eca:source ?source. } | <bugzilla.example.com> |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
García-Grao, G.; Carrera, Á. Extending the OSLC Standard for ECA-Based Automation. Electronics 2023, 12, 3043. https://doi.org/10.3390/electronics12143043
García-Grao G, Carrera Á. Extending the OSLC Standard for ECA-Based Automation. Electronics. 2023; 12(14):3043. https://doi.org/10.3390/electronics12143043
Chicago/Turabian StyleGarcía-Grao, Guillermo, and Álvaro Carrera. 2023. "Extending the OSLC Standard for ECA-Based Automation" Electronics 12, no. 14: 3043. https://doi.org/10.3390/electronics12143043
APA StyleGarcía-Grao, G., & Carrera, Á. (2023). Extending the OSLC Standard for ECA-Based Automation. Electronics, 12(14), 3043. https://doi.org/10.3390/electronics12143043