A Software Interface Ontology.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Sofiont is the Software Interface Ontology, a controlled vocabulary of software interfaces. It is intended to help describe the types of user and program interfaces offered by a software system.

Authors: Michael Hucka and Matthew J. Graham
Repository: https://github.com/casics/sofiont
License: Unless otherwise noted, this content is licensed under the GPLv3 license.

☀ Introduction

One of the goals of the CASICS project is to describe software systems using controlled vocabularies, so that users can more easily find exactly the kind of software they are looking for. One of the dimensions along which we wanted to categorize software is the kind of interfaces offered for (human) users as well as other software. For example, does a given software tool provide a graphical user interface meant to be used on a desktop computer, or a command-line interface, or is it a programming toolkit offering only an API? We began by using the Software Ontology (SWO), which was the only ontology we could find that provided the kind of terms we needed, but we ultimately found we needed a bit more depth than SWO offered. This led us to begin developing our own ontology of interface types.

Sofiont provides terms for both human interface types and programmatic (API) interface types. The terms can be used to describe the types of interfaces provided to users of a software system, where "user" is taken broadly to mean both human users and software programs. A given software tool may provide more than one type of interface, of course, and it is perfectly reasonable to use as many Sofiont terms as applicable to describe the software tool.

☛ Ontology format

The ontology is available in OWL format from this repository; it is also available online via WebProtégé. Here is a snapshot of Sofiont in WebProtégé to give an idea of the composition and content:

⁇ Getting help and support

If you find an issue, please submit it in the GitHub issue tracker for this repository.

♬ Contributing — info for developers

A lot remains to be done on CASICS in many areas. We would be happy to receive your help and participation if you are interested. Please feel free to contact the developers either via GitHub or the mailing list casics-team@googlegroups.com.

Everyone is asked to read and respect the code of conduct when participating in this project.

❤️ Acknowledgments

This material is based upon work supported by the National Science Foundation under Grant Number 1533792 (Principal Investigator: Michael Hucka). Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

The icon for Sofiont is "API" by mikicon – icon #719164 in the Noun Project. It is used under the terms of a Creative Commons license.