Introduction of the Supported Table Patterns
Various table patterns are provided and supported in Table Specification that help shortening the cells content so that the tables will not be cumbersome.
Note that only an advanced table specification can choose the type of sub table, while an simple table specification is designed to contain a default State Transition Table.
Here, transition tables are classified into those with mode/state column and those without mode/state. A transition table with a "mode" column is named mode transition table. We use mode transition tables to define the transition rules between the modes. A transition table with a "state" column is named state transition table, which is used to describe the transition rules between the states. The different between mode transition table and state transition is dependent on different between a state and a mode. Different from a state, a mode represents the logical state of a function. It is to say, each mode can be considered as a hierarchy of functions that are offered by the system. In another words, each mode contains a component architecture which is composed by a set of components. Thus, the behavior of a mode is specified by a family of state transition tables or function tables.
The table specifications are used for requirement specifications, so the form of the requirements decide which table patterns should be chosen.
We suggest to apply transition tables for the situation when the trigger conditions of behavior is or can be formed as follows:
"If Input1 = vaule1 and Input2 = value2 and Input3 = value3... then Output1 = o1 and output2 = o2...",
Furthermore, we strongly recommend the user to use function tables to represent component behavior which contains complex trigger conditions, especially for those with nested conditions.
The structure of state transition table is as follows:
Source State |
Input Column Group |
PreVariable Column Group |
Output Column Group |
PostVariable Column Group |
Target State |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
... |
An example of state transition table:
The structure of mode transition table is as follows:
Source Mode |
Input Column Group |
Target Mode |
... |
... |
... |
... |
... |
... |
An example of double conditions function table:
There are two basic table patterns: transition tables and function table.
Additionally, three kinds of function tables afford different table structure when we use functions to describe a system's functionalities for software systems.
As mentioned above, we strongly recommend the user to use function tables to represent component behavior which contains complex trigger conditions, especially for those with nested conditions.
Concern to choice between vertical and horizontal function tables, it is dependent on personal preference.
To order to offer more feature, we take a component (Quadratic equations solver) as an example, to represent the usage of function tables.
The structure of double condition function table is as follows:
|
Horizontal Conditions |
Vertical Conditions |
Rule Definitions (Actions on OutPorts/Data Variables) |
An example of double conditions function table:
The structure of vertical condition function table is as follows:
|
OutPorts / Data Variables |
Vertical Conditions |
Rule Definitions |
An example of vertical conditions function table:
The structure of horizontal condition function table is as follows:
|
Horizontal Conditions |
OutPorts / Data Variables |
Rule Definitions |
An example of horizontal conditions function table is as follows: