System
type: Class
comment: A home-cage monitoring system comprising an enclosure, hardware, software, and I/O.
subclass of: Restriction
  on property: has enclosure
  qualified cardinality: 1
  on class: Enclosure
subclass of: Restriction
  on property: has sensor
  min qualified cardinality: 1
  on class: Sensor

Animal
type: Class
comment: An experimental animal housed in an enclosure.

Enclosure
type: Class
subclass of: Physical Space
comment: A physical enclosure where animals live and behaviors are displayed.

Physical Space
type: Class
comment: A physical spatial region or container relevant to HCM.

Behavior and Physiology
type: Class
comment: Observed behavioral/physiological process displayed by an animal.

Circadian Rhythm
type: Class
comment: A circadian rhythm associated with a behavior/physiology process.

Sensor
type: Class
comment: A device that captures signals related to behavior/physiology.
disjoint with: Actuator
disjoint with: Animal

Actuator
type: Class
comment: A device that elicits or perturbs behavior/physiology.

Hardware
type: Class
comment: Physical computing hardware component(s) of a system.
disjoint with: Software

Software
type: Class
comment: Software component(s) of a system.

Supplier
type: Class
comment: Commercial supplier or laboratory providing the system.

Needs Sequence
type: Class
comment: Provisioning covering food, water, social contacts, safety, enrichment.

Time Interval
type: Class
comment: An observation time window for behavior capture (≥ 24h recommended).

Limited Interaction With Humans
type: Class
comment: A condition indicating minimal human interference during observation.

Dimensions
type: Class
comment: Geometric dimensions (width, length, height) of a physical space.

Collection Of Sensors
type: Class
comment: A collection or set of sensors.

Collection Of Actuators
type: Class
comment: A collection or set of actuators.

has enclosure
type: ObjectProperty
domain: System
range: Enclosure
comment: Links a System to its Enclosure.

has hardware
type: ObjectProperty
domain: System
range: Hardware
comment: Links a System to its Hardware component.

has software
type: ObjectProperty
domain: System
range: Software
comment: Links a System to its Software component.

produced by
type: ObjectProperty
domain: System
range: Supplier
comment: The supplier/lab that produced the System.

collects info on
type: ObjectProperty
domain: System
range: Animal
comment: The animal(s) for which the System collects information.

lives in
type: ObjectProperty
domain: Animal
range: Enclosure
comment: Animal lives in (is housed in) an Enclosure.

requires to thrive
type: ObjectProperty
domain: Animal
range: Needs Sequence
comment: Needs provisioning required by an Animal.

provides
type: ObjectProperty
domain: Enclosure
range: Needs Sequence
comment: Needs provisioning provided by an Enclosure.

displays
type: ObjectProperty
domain: Animal
range: Behavior and Physiology
comment: An Animal displays a behavior/physiological process.

is displayed inside
type: ObjectProperty
domain: Behavior and Physiology
range: Enclosure
comment: Behavior/physiology occurs inside an Enclosure.

has circadian rhythm
type: ObjectProperty
domain: Behavior and Physiology
range: Circadian Rhythm
comment: Associates a behavior/physiology with a circadian rhythm.

extends enough to capture
type: ObjectProperty
domain: Behavior and Physiology
range: Time Interval
comment: Time interval that sufficiently captures the behavior/physiology.

has property
type: ObjectProperty
domain: Time Interval
range: Limited Interaction With Humans
comment: Property/condition applying to the TimeInterval (e.g., limited human interaction).

captures
type: ObjectProperty
domain: Sensor
range: Behavior and Physiology
comment: Sensor captures signals of a behavior/physiology.

elicits
type: ObjectProperty
domain: Actuator
range: Behavior and Physiology
comment: Actuator elicits or perturbs a behavior/physiology.

has sensor
type: ObjectProperty
domain: System
range: Sensor
comment: Associates a System with a Sensor.

has actuator
type: ObjectProperty
domain: System
range: Actuator
comment: Associates a System with an Actuator.

communicates with
type: ObjectProperty
domain: Hardware
range: Software
comment: Hardware communicates with software component(s).

has dimensions
type: ObjectProperty
domain: Physical Space
range: Dimensions
comment: Links a PhysicalSpace to its Dimensions record.

width
type: DatatypeProperty
domain: Dimensions
range: decimal
comment: Width magnitude for Dimensions (units specified in unit).

length
type: DatatypeProperty
domain: Dimensions
range: decimal
comment: Length magnitude for Dimensions (units specified in unit).

height
type: DatatypeProperty
domain: Dimensions
range: decimal
comment: Height magnitude for Dimensions (units specified in unit).

unit
type: DatatypeProperty
domain: Dimensions
range: string
comment: Unit label for dimensions (e.g., 'cm').

duration (hours)
type: DatatypeProperty
domain: Time Interval
range: decimal
comment: Duration of the time interval in hours (≥ 24 recommended).

is extendable
type: DatatypeProperty
domain: Time Interval
range: boolean
comment: Whether the time interval is extendable.

has food
type: DatatypeProperty
domain: Needs Sequence
range: boolean

has water
type: DatatypeProperty
domain: Needs Sequence
range: boolean

has social contacts
type: DatatypeProperty
domain: Needs Sequence
range: boolean

has safety from threat
type: DatatypeProperty
domain: Needs Sequence
range: boolean

has environmental enrichment
type: DatatypeProperty
domain: Needs Sequence
range: boolean