Software Structure - ge-high-assurance/RACK GitHub Wiki

The ontology has been expanded to capture elements of software structure such as functions, variables, and classes. This part of the ontology is designed to be extensible to suit the needs of TA1 and TA3 performers. The central notion is that of a COMPONENT. A SWCOMPONENT has a COMPONENT_TYPE, which is an open enumeration (can be extended by TA1/TA3 performers). By default, COMPONENT_TYPE contains the following variants:

  • BinaryBasicBlock
  • BinaryFunction
  • BinaryGlobalVariable
  • ClassConstructor
  • ClassDefinition
  • ClassMemberVariable
  • ClassMethod
  • Module
  • Namespace
  • SourceFunction
  • SourceGlobalVariable

In addition to having a specified type, SWCOMPONENTs have the following relations:

  • componentType
  • valueType: The type of this value, if applicable (e.g. for functions or variables).
  • instantiates: What logical component (system) does this physical component (code) instantiate or implement?
  • mentions: A component referenced by this one, e.g., a callee or variable being used.
  • subcomponentOf: A structural sub-component, e.g., a function might be a subcomponent of module.