Giter Site home page Giter Site logo

efbo-project's Introduction

The EFBO-Based Consistency Validation System

This repository contains the files relevant to the EFBO-Based Functional Consistency Validation System, which was developed as part of a Software Engineering thesis. This thesis introduces a novel approach to comparing functionality between two systems that utilizes the benefits of an ontology along with its powerful logical reasoning capabilities. This kind of consistency validation can be useful for cross-platform applications that are developed and evolved independently with the same set of functional goals. As a proof-of-concept of the validation process introduced in the thesis, we have developed this end-to-end software system called the EFBO Consistency Validation System. The system is implemented in Java and uses OWL-API 4.3 for its various ontology-related operations and reasoning. The three ontologies used for the system, the EFBO, EFBO-FRC, and EFBO-V, are documented here. Refer to the thesis document to learn more about the project.

The EFBO-Based Validation Process: A General Overview

The first step of the process involves deriving the EFBO-based functionality models for each system. For the systems that are already developed, the EFBO can be used to annotate the source code elements that correspond to the functional entities of the ontology. Once annotated, the source code entities can then be instantiated for their corresponding EFBO entities. Once the instantiation process is complete for both systems, the ontology will then represent a comparable set of functional behavior models for each of the source systems.

efbo-v-process Figure: The EFBO-Based Functional Consistency Validation Process.

Next, the functionality models for each of the sources have to be integrated into a single ontology. We use a utility ontology called the EFBO-V that we have developed to integrate the functionality models into a comparable representation. The merged functionality models of the ontology can then be passed into an automated reasoner. The reasoner can then derive the classification of functional entities based on their sources under different functional reasoning categories. At this point, the reasoner can also generate a mappable list of events for each source system. The actual mappings of events are assumed to be a manual process that involves checking the events classified under the System-I Event and the System-II Event of the EFBO-V ontology. It should be noted that only the event entities of the sources need to be mapped. The mapping of other entities such as the interfaces and agents can be automatically inferred as mappable entities for each mapping event between the source systems.

The EFBO-Based Validation System Architecture

The system is divided into five constituent modules each of which is assigned to managing different tasks within the validation process. These include the EFBO Validation Manager, Annotation Extraction Manager, Knowledgebase Manager, Mapping Events Manager, and Consistency Status Report Manager. Each of these modules corresponds to a Java class with different attributes and properties. The following diagram presents the cross-functional swimming lane diagram of the EFBO validation system architecture. The first lane in the figure illustrates the tasks of the EFBO User Interface Manager. The manager provides a set of user interaction points for the six-step consistency validation process and delegates the corresponding tasks to the rest of the EFBO managers.

Alt text Figure: The EFBO-Based Consistency Validation Architecture.

efbo-project's People

Contributors

smtifahim avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.