System Design Ontology (SysDO)
type: Ontology
imports: Core
contributor: Arkopaul Sarkar, University of Technology of Tarbes
contributor: Mohamed Hedi KARRAY, University of Technology of Tarbes
license: http://opensource.org/licenses/MIT
abstract: The System Design(SD) Ontology is designed to encapsulate the essential elements of system design, particularly within aerospace applications. It integrates Basic Formal Ontology (BFO) and IOF-Core to provide a basis for modeling the technical, functional, and operational aspects of complex systems. SD ontology defines terms related to system components, functions, and processes, supporting both decomposition of systems into sub-systems and modeling interactions such as material and control flows. Its amis to ensure a common understanding in system design such that multidisciplinary cooperation could be improved.
creator: Zhengyu Liu, University of Technology of Tarbes
publisher: Laboratoire Genie Production,UNIVERSITÉ DE TECHNOLOGIE TARBES OCCITANIE PYRÉNÉES @fr
comment: This is an ontology developping for system design model, for example activity diagram and component diagram. It follows BFO and IOF. The prefix "SysDO" signifies "system design ontology" for abbreviation.
label: System Design Ontology

handles material
type: ObjectProperty
sub property of: topObjectProperty
domain: port
range: BFO_0000040
definition: x handles material y = there exists process boudary z, port x participates in process boundary z, and material entity y participates in process boundary z.
first order logic axiom: handleMaterial(x,y) ↔ Port(x) ∧ MaterialEntity(y) ∧ ∃z(ProcessBoundary(z) participatesIn(x,z) ∧ participatesIn(y,z)

has function part at all times
type: ObjectProperty
sub property of: has function part at some time
natural language definition: p has function part c at all times =Def for all times t, p exists at t implies (p is a function, c is a function, and c functions to make p functions some way at t)

has function part at some time
type: ObjectProperty
sub property of: BFO_0000178
domain: BFO_0000034
range: BFO_0000034
natural language definition: a has function part b = a, b are both functions, and function b make function a works

has input state
type: ObjectProperty
sub property of: BFO_0000121
domain: PlannedProcess
range: BFO_0000035
natural language definition: process a has input state b, means b is the process boundary at the input of a

has logical subsystem at all times
type: ObjectProperty
sub property of: has logical subsystem as some time

has logical subsystem as some time
type: ObjectProperty
sub property of: BFO_0000178
domain: System
range: Class
  union of: BFO_0000029
  union of: BFO_0000030
definition: a has logical subsystem b = a, b are both logical systems, and logical system b is a part of logical system a that make its logic complet

has output state
type: ObjectProperty
sub property of: BFO_0000121
domain: PlannedProcess
range: BFO_0000035
natural language definition: process a has output state b, means b is the process boundary at the output of a

has subsystem at all times
type: ObjectProperty
sub property of: has subsystem at some time

has subsystem at some time
type: ObjectProperty
sub property of: BFO_0000178
domain: System
range: System
definition: a has subsystem b = a, b are both systems, and system b is a part of system a that make it work

has amount of worker
type: DatatypeProperty
sub property of: topDataProperty
domain: PlannedProcess
range: int
natural language definition: 'has amount of workers' notifies the the amount of workers or labors is required in a specific process

has duration
type: DatatypeProperty
sub property of: hasSimpleExpressionValue
domain: PlannedProcess
range: double
natural language definition: 'has duration' is the temporal duration for a planned process, whereas its unit has to be declared such as second or minute

Connector
type: Class
subclass of: BFO_0000015
subclass of: Class
  intersection of: BFO_0000015
  intersection of: Restriction
    on property: BFO_0000062
    some values from: Class
      intersection of: BFO_0000015
      intersection of: Class
        complement of: Connector
  intersection of: Restriction
    on property: BFO_0000063
    some values from: Class
      intersection of: BFO_0000015
      intersection of: Class
        complement of: Connector
natural language definition: A Connector is a process that represents a directed or undirected linkage between two Process (non-connector process) entities within a design model. It signifies sequential relationships but does not embody any physical transformation, execution, or behavior itself.

control end process
type: Class
equivalent class: Class
  intersection of: control flow
  intersection of: Restriction
    on property: BFO_0000062
    max qualified cardinality: 0
    on class: control flow
subclass of: control flow
example: The control end process e, where the input is a control flow x. Once x reaches e, the process halts, with no further actions or activities in the system beyond this point.
natural language definition: A control flow process that terminates the execution or deactivates ae activity, or sequence within a system

control flow
type: Class
subclass of: information flow
example: Control flow often trigger state changes or actions in the receiving components. sometimes they are represented as special types of information flows, but they are distinguished by their purpose of influencing system behavior rather than just transferring data.
example: signal from central controller to end actuator
natural language definition: A control flow process represents the transfer of control signals or commands that influence the behavior or state of components within a system

control flow decision process
type: Class
subclass of: control flow
example: The control flow decision process d, where the input is a control flow f. If the condition evaluated at d is true, the flow is directed to path p1; if false, it is directed to path p2.
natural language definition: A control flow process that evaluates a condition and directs the control flow to one of several possible paths based on the outcome of the option

control flow fork process
type: Class
subclass of: control flow
example: The fork process f, where the input is a single flow x. At f, the flow x is split into two parallel flows, x1 and x2, which are executed simultaneously.
natural language definition: A control flow process that splits a single control flow into multiple concurrent flows, allowing parallel execution of activities or processes

control flow join process
type: Class
subclass of: control flow
example: The control flow joint process j, where the inputs are two control flows x1 and x2. Once both x1 and x2 complete, they are merged into a single flow y that is the output of j.
explanatory note: typically waiting for all incoming flows to complete before proceeding to the combined flow.
natural language definition: A control flow process that combines multiple control flows into a single flow

control flow merge process
type: Class
subclass of: control flow
example: The merge process m, where the inputs are flows a, b, and c. When any one of these flows is activated, the process continues with a single flow d, not necessarily waiting for all inputs to complete.
natural language definition: A control flow process that combines multiple control flows into a single flow, allowing the process to continue when any one of the incoming flows is activated

control start process
type: Class
equivalent class: Class
  intersection of: control flow
  intersection of: Restriction
    on property: BFO_0000062
    max qualified cardinality: 0
    on class: control flow
subclass of: control flow
example: The start process s, which has no input flow. Once triggered, it generates an output flow x that initiates the execution of the all the subsequent activities in the system.
natural language definition: A control flow process that initiates the execution or activation of activity, or sequence within a system

control transfer process
type: Class
subclass of: control flow
example: The transfer process t, where control flow x is passed from component a to component b. Once a completes its execution, control flow x is handed over to b for further processing.
natural language definition: A control flow process that transfers control from one component or activity to another within a system

flow
type: Class
subclass of: PlannedProcess
example: In a car manufacturing plant design model, the designed movement of car bodies along the assembly line from one workstation to another
explanatory note: Flows describe how different parts of a system interact and how resources or information move through the system. In SysML, flows are often represented using Item Flows on connectors between blocks.
natural language definition: A connector represents the transfer or exchange of elements (such as material, information, or control signals) between components or parts of a system.

flow specification
type: Class
subclass of: PlanSpecification
subclass of: Restriction
  on property: BFO_0000178
  some values from: receiving function specification
subclass of: Restriction
  on property: BFO_0000178
  some values from: sending function specification
subclass of: Restriction
  on property: prescribes
  some values from: flow
example: A manual of drink production line the movement of bottles through the production line, detailing the rate of flow, the routing between stations
natural language definition: a plan specification that prescribes the transfer of materials, information, or energy between different functions or components within a system or process

function flow specification
type: Class
subclass of: flow specification
example: In a function flow specification FS1, flow f1 is designed to start by the sending function A via port p1
natural language definition: a flow specification of function or functions

function precedence specification
type: Class
subclass of: precedence specification
subclass of: Restriction
  on property: prescribes
  some values from: system function
example: function f1 f2 f3 must be triggered respectively, that is f1 precedes f2 that precedes f3
natural language definition: a precedence specification that prescribes the properties and relationships between functions or activities within a function

function specification
type: Class
subclass of: InformationContentEntity
example: A manual in car manufacturing plant on the series of welding operations required to assemble the car body
natural language definition: a plan specification that prescribes a set of functions or activities to be performed within a system or process.

incoming Port
type: Class
equivalent class: Class
  intersection of: port
  intersection of: Restriction
    on property: hasFunction
    some values from: receiving function
subclass of: port
subclass of: Restriction
  on property: hasFunction
  some values from: receiving function
comment: Through incoming port p1, component C receives data
natural language definition: An incoming port is an interaction point through which data, command, material, or energy can enter the owning block.

information flow
type: Class
subclass of: flow
example: The rolling speed of wheels are captured to sensors and presented on screen
natural language definition: An information flow represents the transfer of data, commande, or knowledge between components or actors in a system

material flow decision process
type: Class
subclass of: MaterialLocationChangeProcess
example: In the material flow decision process p1, material M is at location L1. The system evaluates whether the material meets a specific condition, for example weight. If the condition is satisfied, the material is directed to location L2; if not, it is sent to location L3.
natural language definition: A material location change process that evaluates a condition and directs the control flow to one of several possible paths based on the outcome of the option

material flow fork process
type: Class
subclass of: MaterialLocationChangeProcess
example: In the material flow fork process p1, material M at location L1 is split into two concurrent flows. One part of M, m1 is sent to location L2 for processing, while another part m2 is simultaneously sent to location L3. Both flows occur in parallel, enabling multiple operations to be carried out on the material.
natural language definition: A material location change process that splits a single control flow into multiple concurrent flows, allowing parallel execution of activities or processes

material flow join process
type: Class
subclass of: MaterialLocationChangeProcess
example: In the material flow joint process p1, materials M1 from location L1 and M2 from location L2 are combined into a single flow at location L3. The process waits for both M1 and M2 to arrive at L3 before proceeding
natural language definition: A material location change process that combines multiple control flows into a single flow, typically waiting for all incoming flows to complete before proceeding

material flow merge process
type: Class
subclass of: MaterialLocationChangeProcess
example: In the material flow merge process p1, materials M1 from location L1, M2 from location L2, and M3 from location L3 are merged into a single flow at location L4. As soon as any one of M1, M2, or M3 arrives at L4 the process continues without waiting for all materials to arrive.
natural language definition: A material location change process that combines multiple control flows into a single flow, allowing the process to continue when any one of the incoming flows is activated

material sink process
type: Class
equivalent class: Class
  intersection of: MaterialLocationChangeProcess
  intersection of: Restriction
    on property: BFO_0000063
    max qualified cardinality: 0
    on class: MaterialLocationChangeProcess
subclass of: MaterialLocationChangeProcess
example: The material sink process p1, where the input is a material flow x. Once x reaches e, the material location change process halts, with no further actions or activities in the system beyond this point.
natural language definition: A material location change process that receives, consumes, or removes material from a system, acting as the termination point for a material sequence

material source process
type: Class
equivalent class: Class
  intersection of: MaterialLocationChangeProcess
  intersection of: Restriction
    on property: BFO_0000062
    max qualified cardinality: 0
    on class: MaterialLocationChangeProcess
subclass of: MaterialLocationChangeProcess
example: The source process p1, which has no input flow. Once triggered, it generates an output material location change flow x that initiates the execution of the all the subsequent activities in the system.
natural language definition: A material location change process that introduces or generates material into a system, acting as the origin point for a material sequence

material transfer process
type: Class
equivalent class: Class
  intersection of: MaterialLocationChangeProcess
  intersection of: Restriction
    on property: BFO_0000057
    some values from: Class
      intersection of: BFO_0000040
      intersection of: Restriction
        some values from: Class
      intersection of: Restriction
        some values from: Class
subclass of: MaterialLocationChangeProcess
example: In the material transfer process p1, material M is transferred from station S1to station S2.
natural language definition: A material location change process that transfers control from one component or activity to another within a system

outgoing port
type: Class
equivalent class: Class
  intersection of: port
  intersection of: Restriction
    on property: hasFunction
    some values from: sending function
subclass of: port
subclass of: Restriction
  on property: hasFunction
  some values from: sending function
comment: Through outgoing port p1, component C sends data the its next stop
natural language definition: An incoming port is an interaction point through which data, command, material, or energy can enter the owning block.

port
type: Class
subclass of: BFO_0000029
subclass of: Restriction
  on property: BFO_0000171
  some values from: System
subclass of: Restriction
  on property: BFO_0000056
  all values from: BFO_0000035
subclass of: Restriction
  on property: hasFunction
  all values from: PortFunction
example: A component C has two ports, p1 and p2. Through p1, C receives input data . After processing, C sends the output data through p2 to the next component in the system.
natural language definition: A port is a interaction point through which data, command, material, or energy can enter or leave the owning block.

PortFunction
type: Class
equivalent class: Class
  intersection of: BFO_0000034
  intersection of: Restriction
    on property: functionOf
    all values from: port
subclass of: BFO_0000034
comment: port function
example: Basic function of a port can be either sending or receiving data as specified in its subclasses
natural language definition: The function of a port

precedence specification
type: Class
subclass of: PlanSpecification
definition: Restrictions indicating that the installation of the dashboard must occur after the windshield is in place but before the seats are installed
natural language definition: a plan specification that prescribes the sequential or parallel relationships between functions or activities within a process or system, including dependencies and timing constraints

receiving function
type: Class
equivalent class: Class
  intersection of: PortFunction
  intersection of: Restriction
    on property: prescribedBy
    all values from: receiving function specification
subclass of: PortFunction
natural language definition: the function of a port to accept incoming data, signals, or control flows from exterior

receiving function specification
type: Class
equivalent class: Class
  intersection of: function specification
  intersection of: Restriction
    on property: prescribes
    some values from: receiving function
subclass of: function specification
subclass of: Restriction
  on property: prescribes
  some values from: receiving function
example: Receiving function of port p1 accepts only pdf file
natural language definition: A function specification that prescribes one or a set of functions or activities about taking something from the exterior.

sending function
type: Class
equivalent class: Class
  intersection of: PortFunction
  intersection of: Restriction
    on property: prescribedBy
    all values from: sending function specification
subclass of: PortFunction
natural language definition: the function of a port to sending outgouing data, signals, or control flows to exterior

sending function specification
type: Class
equivalent class: Class
  intersection of: function specification
  intersection of: Restriction
    on property: prescribes
    some values from: sending function
subclass of: function specification
subclass of: Restriction
  on property: prescribes
  some values from: sending function
example: sending function of port p1 send only int data
natural language definition: A function specification is an information content entity that prescribes one or a set of functions or activities about giving something to exterior.

system flow specification
type: Class
subclass of: flow specification
example: In a system flow specification SS1, the flow f1 starts at the outgoing port p1 of system X
natural language definition: a flow specification of system or systems

system function
type: Class
equivalent class: Class
  intersection of: BFO_0000034
  intersection of: Restriction
    on property: functionOf
    all values from: System
subclass of: BFO_0000034
subclass of: Restriction
  on property: has function part at some time
  some values from: receiving function
subclass of: Restriction
  on property: has function part at some time
  some values from: sending function
subclass of: Restriction
  on property: has function part at all times
  all values from: sending function
example: the Anti-lock braking system (ABS) of a car's function is to prevent wheel lockup during hard braking
natural language definition: function of a system

system precedence specification
type: Class
subclass of: precedence specification
subclass of: Restriction
  on property: prescribes
  some values from: System
example: In a system precedence specification SS1, system s1 must complete its processing before system s2 can initiate. that is s1 precedes s2
natural language definition: a precedence specification that prescribes the properties and relationships between systems or activities within a system