About 'New' Knowledge Function for FL Entities

Using the New Knowledge protocol, you can create functional and logical entities in Systems Architecture Design.

This page discusses:

Create Functional and Logical Objects

With the following methods, you can create functional and logical objects.

Functional Objects

TypeMethod/FunctionComment
RFLPLMFunctionalReference

new(“RFLPLMFunctionalReference”, “ObjName”, NULL)

or

new(“RFLPLMFunctionalReference”, “ObjName”, Owner)

where:

- Owner: a Functional Reference (RFLPLMFunctionalReference). In this case, the Functional Reference will be created, and then instantiated under the provided Functional Reference by creating a Functional Instance.

Important: We recommend to create a reference with a main view. See Create a Functional/Logical Reference with Main View below.

Creates a Functional Reference.
RFLPLMFunctionalCommunicationReference

new(“RFLPLMFunctionalCommunicationReference”, “ObjName”, NULL, MuxDemuxKind, StructuredTypeReference)

where:

- MuxDemuxKind: String with the following possible values: “Multiplexer”, “Demultiplexer”

- StructuredTypeReference: a RFLPLMFlowReference object that corresponds to the structured flow reference to be used to build the multiplexer or demultiplexer.

or

new(“RFLPLMFunctionalCommunicationReference”, “ObjName”, Owner, MuxDemuxKind, StructuredTypeReference)

where:

- Owner: a Functional Reference (RFLPLMFunctionalReference). In this case, the Functional Multiplexer or Demultiplexer Reference will be created, and then instantiated under the provided Functional Reference by creating an Instance of Functional Multiplexer or Demultiplexer Reference.

Creates a Functional Multiplexer or Demultiplexer Reference.
RFLPLMFlowReference

new(“RFLPLMFlowReference”, “ObjName”, NULL)

or

new(“RFLPLMFlowTypeReference”, “ObjName”, Owner)

- Owner: a Flow Reference (RFLPLMFlowReference). In this case, the Flow Reference will be created, and then instantiated under the provided Flow Reference by creating an Instance of Flow Reference.

Function Arguments:

outputRef [out]: Returned newly created Functional/Logical reference

Authorized types: RFLPLMFunctionalReference, RFLVPMLogicalReference

Type [in]:Fictive knowledge type for Functional/Logical reference with main view

Authorized types: RFLPLMFunctional2DReference, RFLVPMLogical2DReference

Name [in]:Name of the Functional/Logical reference to create

Creates a Flow Reference.
RFLPLMFunctionalConnector

new(“RFLPLMfunctionalConnector”, “ObjName”, Owner)

where:

- Owner: a Functional Reference (RFLPLMFunctionalReference).

In this case, the Functional Port will be created, and then instantiated under the provided Functional Reference.

Creates a Functional Port.
RFLPLMFunctionalConnection

new(“RFLPLMFunctionalConnection”, “ObjName”, NULL, ConnectableFrom, InterfaceFrom, ConnectableTo, InterfaceTo)

where:

The four additional arguments provide the necessary information to connect two systems together (depending on the kind of pattern: Sibling or Parent-Child).

- ConnectableFrom: a Functional Reference or Instance corresponding the ‘From’ System.

- InterfaceFrom: a List containing the ‘From’ Interface System: a Functional Port.

- ConnectableTo: a Functional Reference or Instance corresponding the ‘To’ System.

- InterfaceTo: a List containing the ‘To’ Interface System: a Functional Port.

Note that no owner has to be provided: it is deduced from the additional provided arguments.

Creates a Functional Connection.
Code Sample
# 
let flowRef(RFLPLMFlowReference)
let category(String)
category="Data"
flowRef = new("RFLPLMFlowReference" /* object type */ , "" /* no explicit name specified */ , NULL /* no owner for a reference */, category /* flow category */)

Logical Objects

TypeMethod/FunctionComment
RFLVPMLogicalReference

new("RFLVPMLogicalReference", "ObjName", NULL)

or

new("RFLVPMLogicalReference", "ObjName", Owner )

where:

- Owner: a Logical Reference (RFLVPMLogicalReference). In this case, the Logical Reference will be created, and then instantiated under the provided Logical Reference by creating a Logical Instance.

Important: We recommend to create a reference with a main view. See Create a Functional/Logical Reference with Main View below.
Creates a Logical Reference.
RFLVPMLogicalCommunicationReference

new(“RFLVPMLogicalCommunicationReference”, “ObjName”, NULL, MuxDemuxKind, StructuredTypeReference)

where:

- MuxDemuxKind: String with the following possible values: “Multiplexer”, “Demultiplexer”

- StructuredTypeReference: a RFLVPMSystemTypeReference object that corresponds to the structured system type reference to be used to build the multiplexer or demultiplexer.

or

new(“RFLVPMLogicalCommunicationReference”, “ObjName”, Owner, MuxDemuxKind, StructuredTypeReference)

where:

- Owner: a Logical Reference (RFLVPMLogicalReference). In this case, the Logical Multiplexer or Demultiplexer Reference will be created, and then instantiated under the provided Logical Reference by creating an Instance of Logical Multiplexer or Demultiplexer Reference.

Creates a Logical Multiplexer or Demultiplexer Reference.
RFLVPMSystemTypeReference

new(“RFLVPMSystemTypeReference”, “ObjName”, NULL)

or

new(“RFLVPMSystemTypeReference”, “ObjName”, Owner)

- Owner: a Logical System Type Reference (RFLVPMSystemTypeReference). In this case, the Logical System Type Reference will be created, and then instantiated under the provided Logical System Type Reference by creating an Instance of Logical System Type Reference.

Creates a Logical System Type Reference.
RFLVPMLogicalPort

new(“RFLVPMLogicalPort”, “ObjName”, Owner)

where:

- Owner: a Logical Reference (RFLVPMLogicalReference). In this case, the Logical Port will be created, and then instantiated under the provided Logical Reference.

Creates a Logical Port.
RFLVPMLogicalConnection

new(“RFLVPMLogicalConnection”, “ObjName”, NULL, ConnectableFrom, InterfaceFrom, ConnectableTo, InterfaceTo)

where:

The four additional arguments provide the necessary information to connect two systems together (depending on the kind of pattern: Sibling or Parent-Child)

- ConnectableFrom: a Logical Reference or Instance corresponding the ‘From’ System.

- InterfaceFrom: a List containing the ‘From’ Interface System: a Logical Port.

- ConnectableTo: a Logical Reference or Instance corresponding the ‘To’ System.

- InterfaceTo: a List containing the ‘To’ Interface System: a Logical Port.

Note that no owner has to be provided: it is deduced from the additional provided arguments.

Creates a Logical Connection.
RFLVPMLogical3DRepReference

new(“RFLVPMLogical3DRepReference”, “ObjName”, NULL)

or

new(“RFLVPMLogical3DRepReference”, “ObjName”, Owner)

where:

-Owner: a Logical Reference (RFLVPMLogicalReference). In this case, the Logical 3D Representation Reference will be created, and then instantiated under the provided Logical Reference by creating a Logical 3D Representation Instance.

Creates a Logical 3D Representation.

Associate/Unassociate a Flow

With the following methods, you can associate/unassociate a flow (logical System type) to a functional port (logical port).

TypeMethod/FunctionComment
RFLVPMLogicalPortSetAssociatedSystemType(RFLVPMSystemTypeReference) Associates a Logical System Type Reference to a Logical Port.
RFLVPMLogicalPortRemoveAssociatedSystemType()Removes the Logical System Type associated to a Logical Port.
Code Sample
# 
let flowRef(RFLPLMFlowReference)
let category(String)
category="Data"
flowRef = new("RFLPLMFlowReference" /* object type */ , "" /* no explicit name specified */ , NULL /* no owner for a reference */, category /* flow category */)

Work with Main View

With the following function arguments, you can create and aggregate a main view to a functional/logical reference, provided that it has no main view.

Create a Functional/Logical Reference with Main View

You can create a functional/logical reference with associated main view using the “new” protocol with the fictive knowledge type. The method returns the created reference under the normal knowledge type of a functional/logical reference, thus all the methods associated to those types are accessible.

Function Function Arguments

outputRef = new (“Type”, “Name”, NULL)

outputRef [out] :

  • Returned newly created Functional/Logical reference.
  • Authorized types: RFLPLMFunctionalReference, RFLVPMLogicalReference.

Type [in]:

  • Fictive knowledge type for Functional/Logical reference with main view.
  • Authorized types: RFLPLMFunctional2DReference, RFLVPMLogical2DReference.

Name [in]: Name of the new Functional/Logical reference.

Code Sample
# 
let newRef(RFLPLMFunctionalReference)
newRef = new ("RFLPLMFunctional2DReference", "RefName",
NULL)

Attach a New Functional/Logical Reference to Editor

With the following function arguments, you can open a created functional/logical reference with associated main view using the method FLAttachToEditor.

Function Function Arguments

FLAttachToEditor ("Type")

Boolean [out]: Returns True if it opens newly created F/L reference successfully else False.

Type [in]:

  • Fictive knowledge type for Functional/Logical reference.
  • Authorized types: RFLPLMFunctional2DReference, RFLVPMLogical2DReference.

Name [in]: Name of the new Functional/Logical reference.

Code Sample
# 
let FunRootInput (SysConnectable)
let newRef (RFLPLMFunctionalReference)
newRef = new ("RFLPLMFunctional2DReference", "FunRootRef",NULL)
set FunRootInput = newRef
Message("FunRootRef creation")
FLAttachToEditor(FunRootInput)

Associate a Main View to a Functional/Logical Reference

With the following function arguments, you can create a main view and associate it to a Functional/Logical reference.

The function checks in session and into the database if a main view is already associated to the given reference, if so, the function returns FALSE.

Function Function Arguments

bResult = Associate2DMainview (Reference)

bResult [out]:

  • Boolean: TRUE (if main view correctly created and associated) or FALSE.

Reference [in]:

  • Functional/logical reference without associated main view
  • Authorized types: RFLPLMFunctionalReference, RFLVPMLogicalReference

Code Sample
# 
let reference(RFLVPMLogicalReference)
let bResult(Boolean)
reference = new ("RFLVPMLogicalReference", "RefName", NULL)
bResult = Associate2DMainview(reference)

Instantiate

Create and Instantiate a Functional/Logical Reference

With the following function arguments, you can create a new functional/logical reference and directly instantiate it under another functional/logical reference. The "new" method returns the newly created instance under the normal knowledge type of a functional/logical instance.

Function Function Arguments

outputInst = new ("Type", "Name", ownerRef)

outputInst [out]:

  • Returned new functional/logical instance.
  • Authorized types: RFLPLMFunctionalInstance, RFLVPMLogicalInstance.

Type [in]:

  • Fictive knowledge type for functional/logical reference with main view.
  • Authorized types: RFLPLMFunctional2DReference, RFLVPMLogical2DReference.

Name [in]:Name of the new functional/logical reference.

ownerRef [in]:

  • Functional/logical reference aggregating the created instance.
  • Authorized types: RFLPLMFunctionalReference, RFLVPMLogicalReference.

Code Sample
# 
let ownerRef(RFLVPMLogicalReference)
let newInst(RFLVPMLogicalnstance)
ownerRef = ...
newInst = new ("RFLVPMLogical2DReference", "RefName",ownerRef)

Instantiate an Existing Functional/Logical Reference

With the following function arguments, you can instantiate an existing Functional/Logical reference under another functional/logical reference. The "new" method returns the newly created instance under the normal knowledge type of a functional/logical instance.

Function Function Arguments

outputInst = new ("Type", "Name", ownerRef, fatherRef)

outputInst [out]:

  • Returned newly created functional/logical instance.
  • Authorized types: RFLPLMFunctionalInstance, RFLVPMLogicalInstance.

Type [in]:

  • Fictive knowledge type for functional/logical reference with main view.
  • Authorized types: RFLPLMFunctional2DReference, RFLVPMLogical2DReference.

Name [in]:Name of the new functional/logical reference

ownerRef [in]:

  • Functional/logical reference aggregating the created instance.
  • Authorized types: RFLPLMFunctionalReference, RFLVPMLogicalReference.

FatherRef [in]:

  • Functional/logical reference father of the created instance.
  • Authorized types: RFLPLMFunctionalReference, RFLVPMLogicalReference.
Code Sample
# 
let ownerRef(RFLVPMLogicalReference)
let fatherRef(RFLVPMLogicalReference)
let newInst(RFLVPMLogicalnstance)
ownerRef = ...
atherRef = ...
newInst = new ("RFLVPMLogical2DReference", "RefName",ownerRef, fatherRef)