Table of Contents
- Internal Block Diagram of the View 3.1.
- Tabular View of the View 3.1.
Internal Block Diagram of the View 3.1.
After defining Requirements, next step in the systems engineering process is to define functions.
Functions are linked with requirements, In fact, functions are defined to cover requirements. In arKItect, we model this coverage by using the allocation mechanism. We allocate requirements to functions that are covering them.
Define External Functional Exchanges
To start, we define external functional exchanges between our system and its environment.
On this purpose, we work in the view "3.1 Define functional architecture". We can access this view through a drop-down list in the main toolbar (see figure 1).
Figure 1. Drop-down list to access the view 3.1
Figure 2. External Functional Architecture
We now define the exchanges between the "LapTop" and its environment. arKItect SEA offers us two different kinds of flows in this view:
- "Data flow": to model all data exchanges such as control and command flows, or signals,
- "Physical flow": to model all physical exchanges such as intensity, a material transfer.
A Flow connects two objects which are named:
- Consumer: the object from which the flow goes out,
- Producer: the object to which the flow enters.
To start, we define a flow from the enabling system "Mouse" to the system "LapTop" called "Position of the mouse". This is a data flow. To define a flow in arKItect you have three possibilities as follows.
1. You can use the palette (see figure 3). Drag and drop a Data or a Physical Flow from the palette on a selected object. A pop-up window opens asking you to "Enter object name". Then, a flow appears. This flow comes out of the Object (producer): its beginning is on the Object and its end is, for instance, an interrogation mark. You can now right-click on its end and put it on a second object to which the flow enters (consumer).
2. Right-click on an object (an Enabling System for example) and then, select "Add new Object" to select (see figure 4). A pop-up window opens to "Enter object name". Then, you can put the flow on its consumer object by right-clicking on the end of the flow.
Figure 4. Add Flows by right-click on an Object 3.1
3. You can select a port on an object and draw a flow to another: first object will be the producer and second one the consumer (see figure 5): click on an anchor point on the producer object ("Mouse") and finally click on a anchor point on the consumer object ("LapTop").
Figure 5. Add Flows using the Flows creation button in the main toolbar
It opens a window proposing two available flow types: "Data flow" and "Physical flow". Choose the first one (see figure 6).
Figure 6. Pop-up window to determine the type of the new Flow
Once you have selected the type, a new window appears asking for the flow name. Enter the desired name, in our case "Position of the mouse" (see figure 7).
Figure 7. Pop-up window to give a name to the new Flow
After validating, it creates the flow between the concerned objects. Figure 8 shows the result in the case of our example.
Figure 8. Example of creating a new Flow
You can use one of these methods to create all external flows. To complete our example, we define some other flows (see figure 9):
- "220 V supply", Physical flow, between "Office" and "LapTop",
- "220 V supply for screen", Physical flow, between "Office" and "Screen",
- "Graphical data", Data flow, between "LapTop" and "Screen",
- "Graphical connection response", Data flow, between "Screen" and "LapTop",
- "Internet Wi-Fi connection", Physical flow, between "Rooter" and "LapTop",
- "Internet cabled connection", Physical flow, between "Rooter" and "LapTop".
Figure 9. Final view with all External Flows
Define System Functions and Flows
Once we defined the external functional exchanges, we can define the system's functions and internal flows. On this purpose, we will enter the system by double-clicking on it. You will see all inputs and outputs we defined before (incoming or outgoing Data flows and Physical flows (see figure 10).
Figure 10. Internal Flows defined within the System
We start by defining the functions of the system. Similarly to flows, to define a function you can use the Palette; drag and drop a function in the diagram or use the right-click -> Add new object -> Function menu.
In our example, we define a function called "Capture Internet signals" (see figure 11).
Figure 11. Example of Function definition
The external flows "Internet cabled connection" and "Internet Wi-Fi connection", that we have defined previously, will be consumed by this function. We move the flows from their old locations to this function.
To move objects (flows or other objects) you can right-click and drag and drop. In our example, we move these two flows in the function (see figure 12).
Figure 12. Allocate Flows to a Function
You will then see flows as functions' inputs (see figure 13).
Figure 13. Result of drag and drop of the Flows in the Function
We can also define sub-functions. To define sub-functions, you can create functions under functions by using one of the mentioned methods to add an object (from the palette or right-click and select Add New Object).
In our example, we define three sub-functions in the function "Capture Internet signals": "Capture the WiFi signal", "Capture the cabled Internet connection signal", and "Interpret Internet signals". Using the expand feature on this function, you can see its sub-functions (see figure 14).
Figure 14. Example of Sub-functions definition
We now allocate flows to the concerned sub-functions. As we moved flows from the system to a function, we will move the two flows "Internet cabled connection" and "Internet WiFi connection" from the function "Capture Internet signals" to the functions "Capture the cabled Internet connection signal" for the first and "Capture the WiFi signal" for the second. Figure 15 shows the result.
Figure 15. Allocate Flows to corresponding Sub-function
We can also define internal exchanges. In our example, we will define two new Physical flows:
- "Captured WiFi signal" between "Capture the WiFi signal" and "Interpret Internet signals",
- "Captured cabled Internet connection signal" between "Capture the cabled Internet connection signal" and "Interpret Internet signals"
Figure 16 shows the results.
Figure 16. Internal Physical Flows definition
To complete our example, we create other:
- Functions (as "Capture Internet signals"):
- "Supply the LapTop",
- "Manage external entries",
- "Store data",
- "Process data and compute",
- "Manage graphical data".
- "Compute MMI information", "Compute internal information" and "Manage power" under "Process data and compute".
Then, we allocate external flows and date flows to these functions and sub-functions:
- External flows allocations:
- "220 V supply" allocated to the function "Supply the laptop",
- "Graphical connection response" allocated to the functions "Compute MMI information" (under "Process data and compute") and "Manage graphical data",
- "Graphical data" allocated to the function "Manage graphical data",
- "Position of the mouse" allocated to the function "Manage external entries".
- Data flows allocations:
- "Internet settings" from "Interpret internet signals" to "Process data and compute",
- "ON-OFF" from "Manage power" (under "Process data and compute") to "Supply the LapTop",
- "Graphical info" from "Compute MMI information" (under "Process data and compute") to "Manage graphical data",
- "external info" from "Manage external entries" to "Compute internal information" (under "Process data and compute"),
- "Internet settings" from "Interpret internet signals" to "Compute internal information" (under "Process data and compute") and "Store data",
- "processed data" from "Compute internal information" (under "Process data and compute") to "Store data".
Figure 17 shows the results after adding all of these functions and allocate the external and data flows to them.
Figure 17. Example completed with some Functions and Flows
Objects Attributes in View "3.1 Define functional architecture"
In functional views, objects have some attributes you can fill (objects' attributes are displayed in the table of properties).
Table 1 of properties of functions contains the following attributes:
- Alias in System (String(255)): an alias for the function (like a second name). There is a specific view to show such names,
- ArkiId (String(255)): an Id for all arKItect objects in arKItect SEA. You can fill it manually or use a tool, called Fill IDs, to do this,
- Attachment (Saved File): here you can attach some files to describe or to detail the concerned function,
- desc (MEMO): an attribute to write the function description.
Table 1. Table of Attributes of Functions
Data Flows Attributes
Table 2 of properties of flows contains:
- the same attributes as those of the functions (see table 1),
- and another attribute called VP name (MEMO) which is an attribute to fill the flow's name for validation plan.
Table 2. Table of Attributes of Data flows
Physical Flows Attributes
Table 3 of properties of flows contains:
- the same attributes as those of the functions (see table 2),
- and another attribute called Flow detailed type (ENUM) which is a drop down list to specify the flow type. Possible values are: control, electric, electromagnetic, material, mechanic, and thermic).
Table 3. Table of properties of Physical flows
Tabular View of the View 3.1.
Figure 18 shows the tabular view of the view 3.1. which is accessible through the button Project Tools in the main toolbar:
Figure 18. Tabular View of the View 3.1. in Project Tools
a. Define Functions and Flows
When we click on "Define Functions and Flows", a table appears (see table 4) with two sheets wherein you can define 1) Functions and 2) Flows.
Table 4. Define Functions and Flows through Tabular View
Three buttons are available in the top left-hand corner of the table:
* Open RMGW file: to use a RMGW (see the documentation on Model GateWay),
* Export to Excel: to export the table to an Excel file,
* Append Line: to add a new line at the end of the table.
Using the last one (Append Line) you can add a new row to create a new Function/Flow (see figure 19).
Figure 19. Add a new Object in Tabular view 3.1
By right click on the ID of each existing Function/Flow, you can replace it either by another existing Function/Flow or by a new Function/Flow. In the same way, you can insert or remove a row (see figure 20).
Figure 20. Modify the Content of the table in Tabular view 3.1
When the modifications are done in the table, three buttons (in the bottom right hand corner of the table) allow you to apply or cancel them:
* Apply: modifications are taken into account in the table,
* OK: the same as Apply, but it switches the view back to the Internal Block Diagram,
* Cancel: modifications are deleted and the view is switched back to the Internal Block Diagram.