Introduction of the Supported Table Patterns

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.

State Transition Table

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:





Mode 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:





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.



Double Conditions Function Table
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:





Vertical 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:





Horizontal 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: