Skip to content

smtifahim/EFBO-Project

Repository files navigation

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages