PlatformKit root platform ontology.
type: Ontology
version info: $Id: platform.owl 8064 2010-03-11 14:47:28Z dwagelaa $
comment: Platform concepts and definitions.

implementsInterface
type: ObjectProperty
comment: The interfaces implemented by the feature.
domain: Platform feature. Can be implemented in software or hardware.
range: FeatureInterface

providesFeature
type: ObjectProperty
comment: The features (directly) provided or contained by the platform.
range: Platform feature. Can be implemented in software or hardware.
domain: Platform

ABI
type: Class
subclass of: FeatureInterface
subclass of: Restriction
  on property: comprisesInterfacePart
  all values from: ABIPart
disjoint with: API
comment: An Application Binary Interface is a lower level definition concerning details at the assembly language level.

ABIPart
type: Class
subclass of: FeatureInterfacePart
disjoint with: APIPart
comment: Part of an ABI. Allows for partitioning of ABIs for the purpose of defining partial platform dependency constraints.

API
type: Class
subclass of: FeatureInterface
subclass of: Restriction
  on property: comprisesInterfacePart
  all values from: APIPart
comment: An Application Programming Interface provides a programming interface for software. APIs are implemented by software applications, libraries, operating systems, etc.

APIPart
type: Class
subclass of: FeatureInterfacePart
comment: Part of an API. Allows for partitioning of APIs for the purpose of defining partial platform dependency constraints.

Application
type: Class
subclass of: Software
subclass of: Restriction
  on property: implementsInterface
  all values from: API
comment: Software application, program, or executable.

EABI
type: Class
subclass of: Instruction Set Architecture of a machine. Can be implemented in hardware or a software virtual machine.
comment: Embedded Application Binary Interface. Augments an Instruction Set Architecture with standard bus/memory specifications. Examples are ARM and PowerPC.

Platform feature. Can be implemented in software or hardware.
type: Class
disjoint with: FeatureInterface
disjoint with: FeatureInterfacePart

FeatureInterface
type: Class
disjoint with: FeatureInterfacePart
disjoint with: Platform
comment: An interface implemented by a feature, which can be used by other features.

FeatureInterfacePart
type: Class
disjoint with: Platform
comment: Part of a feature interface. Allows for partitioning of feature interfaces for the purpose of defining partial platform dependency constraints.

Framework
type: Class
subclass of: Software
subclass of: Restriction
  on property: implementsInterface
  all values from: API
comment: Software framework. Typically implements an API.

Hardware
type: Class
subclass of: Platform feature. Can be implemented in software or hardware.
disjoint with: Software
comment: Platform feature that is implemented in hardware.

IODevice
type: Class
subclass of: Hardware
subclass of: IOFeature
disjoint with: Resource
comment: Input/output device. Implemented in hardware.

IOFeature
type: Class
subclass of: Platform feature. Can be implemented in software or hardware.
comment: Input/output feature. Can be implemented in hardware or software.

Instruction Set Architecture of a machine. Can be implemented in hardware or a software virtual machine.
type: Class
subclass of: ABI

Installer
type: Class
subclass of: Software
comment: Software package installer.

Library
type: Class
subclass of: Software
subclass of: Restriction
  on property: implementsInterface
  all values from: API
comment: Shared (runtime) software library. Typically implements an API.

OperatingSystem
type: Class
subclass of: Platform
subclass of: Software
comment: Computer operating system.

PackageManager
type: Class
subclass of: Installer
comment: Software package manager. Manages installation and dependencies of software packages.

Platform
type: Class
comment: Combination of hardware and/or software features on top of which new features can be built.

Resource
type: Class
subclass of: Hardware
comment: Quantifiable hardware resource, providing a certain amount of, e.g. processing power, memory, etc.

RuntimeEnvironment
type: Class
subclass of: Platform
subclass of: Software
comment: Software runtime environment.

Software
type: Class
subclass of: Platform feature. Can be implemented in software or hardware.
comment: Platform feature that is implemented in software.

VirtualIODevice
type: Class
subclass of: IOFeature
subclass of: Software
comment: Virtual input/output device that is implemented in software.

VirtualMachine
type: Class
subclass of: Software
subclass of: Restriction
  on property: implementsInterface
  all values from: Instruction Set Architecture of a machine. Can be implemented in hardware or a software virtual machine.
comment: Software virtual machine. Typically implements an instruction set architecture.