Open Ontology Questions - ge-high-assurance/RACK GitHub Wiki

Open Ontology Questions

This page is where I'm dumping some of the open questions I have on the ontology that I don't want to forget. Anyone is free to add additional content including new questions, discussion, or answers. Not all of these questions are going to get answers but hopefully thinking about them will help guide the design process.

Assorted properties

  • How do we make it easy to store arbitrary data properties in the ontology?
  • Do we allow arbitrary string key-value pairs?
  • Do we make the keys to be some structured type so it's clear when a new attribute is being defined and when it is being used?
  • Do we make lots of domain-specific data properties?
  • Data properties are good because they have native support from the tools.
  • Open-ended properties are good because TA1/3 can easily add them with out modifying the ontology.

Tracking origin data

How do we keep track of how data got into the database?

  • Who added it?
  • What tool was used to add it?
  • When was it added?
  • How do I remove some data that was added by a tool?
  • How do I rerun a tool and update the data?
  • If I rerun a tool are all the connections to the previous generation of data lost?
  • How do I link data instances from one tool to another?

Concrete System Modeling

  • How do I model properties of the physical system we are verifying?
  • Can I distinguish the hardware architecture from the software architecture?
  • What properties can I capture about the hardware platform?
  • Do we need a more elaborate Hardware ontology as we have Software ontology?
  • How is connectivity of the hardware system defined?
  • How much definition would we need to help with isolation arguments?
  • Can we model where data is stored in the system?
  • Can we model what parts of the software can interact with what parts of the hardware?

Algorithms

  • An assurance argument could rely on a trusted algorithm being used by a software component.
  • Where do we identify algorithms used?
  • Do we track properties that algorithms guarantee? Do we need to?