Functional

alias: func

version: 1.0.3

The Functional schema defines common base classes to be used by discipline-specific functional domains.

The Functional domain schema contains the core classes that define the "Functional" Modeling Perspective.

The "Functional" perspective sees an Object not as a physical Entity with form and mass, but as a functional Entity that will perform some activity when in use.

They say "form follows function". Separating the "Functional" perspective from the "Physical" perspective allows independent modeling of "form" and "function". Functional modeling/planning can occur first and be handled by a different responsible party than physical modeling. There is generally more than one physical Entity that could fulfill a given function. The particular physical Entity may be refined throughout the design process and may be changed over the lifetime of the operation of the Object.

The Functional Modeling Perspective is abstract. Domain authors are expected to specialize FunctionalPartition, FunctionalModel, and one or more of the subclasses of FunctionalElement to express their discipline's particular needs for functional modeling, e.g. architectural functional programming or plant process modeling.

Entity Classes

FunctionalBreakdownElement (Functional Breakdown) Abstract EntityClass

description: A func:FunctionalBreakdownElement models an aggregate functional Entity with child func:FunctionalElements modeling its parts.

baseClass: Functional:FunctionalElement

FunctionalBreakdownElement and FunctionalComponentElement are intended for use together, in a style of functional modeling that does not use sub-models. If you using sub-modeling, then specialize FunctionalElement directly.

FunctionalComponentElement (Functional Component) Abstract EntityClass

description: A func:FunctionalComponentElement models an 'atomic' functional Entity which will not be sub-modeled at a finer granularity and does not have 'child' parts.

baseClass: Functional:FunctionalElement

FunctionalComponentElement and FunctionalBreakdownElement are intended for use together, in a style of functional modeling that does not use sub-models. If you using sub-modeling, then specialize FunctionalElement directly.

FunctionalComposite (Functional Composite) EntityClass Deprecated

description: DEPRECATED: Inherit from FunctionalBreakdownElement instead.

baseClass: Functional:FunctionalBreakdownElement

FunctionalElement (Functional Element) Abstract EntityClass

description: A func:FunctionalElement models required functionality that will ultimately be fulfilled by a physical Entity.

baseClass: BisCore:RoleElement

Models a particular functional Entity--something that will perform a particular activity when in use. Functional Entities are non-geometric in nature, and are considered to be 'roles' played by an Object.

Properties

Name Description Type Extended Type
TypeDefinition navigation

FunctionalModel (Functional Model) EntityClass

description: A container for persisting func:FunctionalElement instances.

baseClass: BisCore:RoleModel

Should be considered abstract. It should be specialized to hold discipline-specific functional Elements.

FunctionalPartition (Functional Partition) EntityClass

description: A func:FunctionalPartition element establishes a 'Functional' Modeling Perspective for its parent bis:Subject. It is intended to be specialized, and should be considered 'abstract'.

baseClass: BisCore:InformationPartitionElement

A func:FunctionalPartition element establishes a 'Functional' Modeling Perspective for its parent bis:Subject. It is intended to be specialized, and should be considered 'abstract'.

See Functional for a definition of the "Functional" Modeling Perspective.

FunctionalPortion (Functional Portion) EntityClass Deprecated

description: DEPRECATED: A Functional Portion is a Functional Component that will be broken down in more detail in a separate (sub) Functional Model.

baseClass: Functional:FunctionalComponentElement

FunctionalType (Functional Type) Abstract EntityClass

description: Defines a shared set of properties (the 'type') that can be associated with a func:FunctionalElement.

baseClass: BisCore:TypeDefinitionElement

The FunctionalType of a FunctionalElement is distinct from the PhysicalType of the PhysicalElement that may be used to fulfill the function.

Relationship Classes

DrawingGraphicRepresentsFunctionalElement RelationshipClass

description: Relates bis:DrawingGraphic instances to the func:FunctionalElement instances they represent.

baseClass: BisCore:DrawingGraphicRepresentsElement

Strength: Referencing

strengthDirection: Forward

Used to relate schematic drawings to FunctionalElements.

Source

isPolymorphic: true

roleLabel: represents

multiplicity: (0..*)

Constraint Classes:

Target

isPolymorphic: true

roleLabel: is represented by

multiplicity: (0..*)

Constraint Classes:

FunctionalElementIsOfType RelationshipClass

description: A type-instance relation; one that indicates that the specific func:FunctionalElement is an instance of the defined func:FunctionalType.

Strength: Referencing

strengthDirection: Forward

Source

isPolymorphic: true

roleLabel: is of

multiplicity: (0..*)

Constraint Classes:

Target

isPolymorphic: true

roleLabel: defines

multiplicity: (0..1)

Constraint Classes:

PhysicalElementFulfillsFunction RelationshipClass

description: Relates func:FunctionalElement instances (which model a required function) to the bis:PhysicalElement instances that model the physical Entity that fulfills the function.

baseClass: BisCore:ElementRefersToElements

Strength: Referencing

strengthDirection: Forward

There may be other relationships (defined elsewhere) to indicate a PhysicalType for PhysicalElements that may potentially be used to fulfill the function.

Source

isPolymorphic: true

roleLabel: fulfills

multiplicity: (0..*)

Constraint Classes:

Target

isPolymorphic: true

roleLabel: is fulfilled by

multiplicity: (0..*)

Constraint Classes:

Last Updated: 08 January, 2020