You are on page 1of 8

Agent/State Flowcharts: Semi-formal Methodology and

Tool for Modeling of Finite State Systems


Mark Bajkowski
E-workflow.net
Kew Gardens Hills, New York (USA)
April 6, 2008

Abstract
Agent/State Flowchart (“A/SF”) diagrams address the integral parts of modeling a large finite-state
system: deconstruction of the model into specialized functional segments, aggregation of segments into
sub-systems, and a well-controlled modification of a modeled system. A/SF consists of a semi-formal
and easy to follow implementation rules that create an usable platform for interdisciplinary and non-
technical concepts' and requirements' communication and documentation of it. The A/SF diagrams
seem to be particularly usable for a rapid modeling of information processing systems including
business workflows and workflow-driven applications.

1 Introduction

Note: Terms that appear in italic font are defined in the Glossary of Terms in section 5.

Modern business processes are collections of activities associated with functions where the activities
are handled by complex entities which can contain non-homogeneous objects, dispersed geographically
teams and distributed resources. Such process' models should include a specification of the following
aspects:
• activities and their synchronization,
• roles and resources assigned to the activities,
• business rules,
• exception handling, and
• temporal aspects (deadlines, durations, waiting, concurrency, sequencing).

Practical issues faced during the related information processing system's definition and modeling
represent challenges in the following areas:

Complexity: Information processing systems are not only supposed to be particularly suited for a
certain application domain but also to support a wide range of functionality within any domain while
capably handling mission-critical production data and managing business and administration data of an
enterprise.

Distribution: Systems may be geographically distributed and are usually integrated in networks.

Interoperability: Systems are supposed to communicate and exchange data with other systems.

Flexibility: Requirements frequently change due to market factors, new technologies or strategic
decisions. Moreover, systems are embedded in a heterogeneous software and/or hardware
configuration which is also subject to change.

1
Completeness: The task of specification gathering and documentation must be complete and based on
principles of refinement (top-down description), partitioning (elemental decomposition), temporal
sequencing (time-segmented behavior) and consider all exception states.

The A/SF modeling addresses these challenges by lowering the gap between the application specific
language (that is more understandable to experts) and the formal and platform-independent
language (that is more analyzable) through use of a semi-formal, application independent method
described in this paper.

2 Concept Methodology

The basic A/SF building segment is called Agent (“Agent”). An Agent represent any type of resources
used in the modeled system such as system user, data unit, interface, or a group of them including
hardware/software systems. An Agent can contain other Agents unless it is an Atomic Agent (“Atomic
Agent”) - see description in rule VI below. Each non-atomic Agent contains the following internal
elements:
• at least one Mandatory Input Agent (“Input Agent”);
• optional Exception Agent or Agents (“Exception Trigger Agent”);
• Definite State Descriptor (“State Descriptor”);
• Singular Output Agent “Output Agent”;
• optional Singular Exception Output Agent (“Exception Output Agent”).

Input Agents' role is to collaborate in achieving a desired definite state. The Input Agents may succeed
if the individual states of each allow it. Exception Trigger Agent's role is to prevent the related definite
state by introducing an exception state to a model segment. Input Agents and Exception Trigger
Agents, applicable to a state, are referred to as Agent Cast (“Agent Cast”). Each element of a A/SF
model is identified by a related symbol and a related connector attached to it as shown in Fig. 2-1 (see
related concepts described later in this section). An Exception Trigger Agent represents an
asynchronous trigger. A synchronous trigger can be created by combining other triggers, as Mandatory
Input Agents, into a Exception Trigger Agent.

Fig.2-1 A/SF symbols and connectors.

2
For any given modeled system the following nine rules, listed in three categories, apply to the creation
of A/SF diagrams:

I. Completeness of input.
A). A state described by a Definite State Descriptor can be reached only when all the Agents, forming
an Agent Cast, are present and active concurrently.

B) Agent Cast must list all the actual Agents that are required to reach the related Definite State
Descriptor.

C) All Non-Atomic Agents must defined until their Agent Cast consist only one, or more, of Atomic
Agents, which, in the global scope of a model, act as a non-modifiable input agents.

II. Singularity of Output.


A) Only one Singular Output Agent and one Singular Exception Output Agent can be connected to a
Definite State Descriptor;

B) Activation of Singular Output Agent and Singular Exception Output Agent is mutually exclusive;
singular Exception Output Agent activation deactivates Singular Output Agent.

C) Singular Output Agent is activated only when the state described in Definite State Descriptor is
achieved;

III. Naming convention.


A) Definite State Descriptor's name must be: a) globally unique, b) end with a past-tense verb.
Examples of name: ”order received” is a correct; “received order” is not correct.

B) Agent's name must be: a) globally unique, b) be a noun, c) not contain verbs or adjectives. Examples
of name: “order confirmation” is correct; “confirmed order” is not correct.

C) Use name-restricted element “PART OF” to define Agents' structuring consisting of: aggregation,
specialization and grouping.

3
Fig. 2-2 Structuring concept in A/SF and its example.

The usage of Definite State Descriptors and Exception Triggers is illustrated in examples shown in Fig.
2-3 and Fig. 2-4. The initial and final Definite State Descriptors shown in Fig. 2-3 (marked by the
underlined font) define a state-transition pair that summarize the role of the Travel Reservation Agent
that is modeled in more detail in the lower section of Fig. 2-3.

Fig. 2-3 A/SF diagram transformation example: initial Agent (shown in the top section) is transformed
into equivalent Agents (shown in the bottom section).

4
Fig. 2-4 Example of A/SF exception usage.

3 Usage Methodology

A general methodology of an information processing system construct can be illustrated as


evolutionary lifecycle shown on Fig. 3-1.

Fig.3-1 Evolutionary lifecycle.

Related modeling of information processing systems plays important role at least in two areas: 1)

5
Knowledge transfer of the existing system and 2) Representation of the design of the new system.
Construct of the system requires definition of the following properties: 1) Correctness (conformity with
reality and requirements); 2) Comprehensibility (simplification of representation of a complex system);
3) Feasibility (the terms and methods of implementation); 4) Sustainability (ease of maintenance and
evolutionary modification).

A preferred A/SF analysis and modeling lifecycle is shown in A/SF diagram Fig.3-2.

Fig.3-2 A/SF analysis and modeling lifecycle.

As shown in Figure 3-2, the process of developing of A/SF model is a repeated iteration of the
following activities:

1) Identify Agents and their roles in the system according to their general functionality and
responsibilities;

2) Analyze structuring relationships among the Agents within a system segment;

The outcome of the activities (1) and (2) is an Agent Architecture Model that captures basic system
data structures that include related data definitions and access methods.

3) Identify the possible collaboration links between Agents in terms of how Agents influence each
other and form basic Agent Casts. Determine Definite State Descriptors that relate to the Agent Casts
to reflect their actual collaboration process and purpose purpose. Increase level of details by analyzing
the parameters of the collaboration actions and the data types involved to form more sub-Agents as

6
needed. Avoid creating more that (50) unique Agents per diagram to simplify comprehension. If
possible, use a print option that identifies areas of the diagrams in terms of columns and rows, for easy
Agent localizing.

The outcome of the activity (3) is an Agent Collaboration Model, which captures the main inter-Agent
interactions within a system segment that corresponds to target states defined by the system.

4) Identify the typical scenarios involving Define States of a system segment;

5) Analyze and refine Agent Casts' responses in each scenario.

The outcome of the activities (4) and (5) is a State Behavior Model of a system segment.

This process may not be successful when the behavior of the system segment remains too vague. In
such case, analyze the Agent Casts by applying activities (1) ~ (5) and decompose their collaboration
into more cohesive states. As a result, all the three models of the A/SF modeling cycle may be revised.

Fig.3-2 shows selected system aspects, namely data definitions and access methods, request routing
logic, and user interface (marked in green) for a purpose of presenting a relation of the A/SF model to
the Model-View-Controller (MVC) design model used by various application development
frameworks. This relation is illustrated in Fig.3-3.

Fig.3-3 Correlation of selected aspects of A/SF model with MVC design pattern.

The outcome of the whole process is a unified model that represents the structure and organization of
the whole system, temporal sequence of related system states and a set of scenarios that describe the
dynamic behavior of the Agents in terms of their responses to their environment. It is worth noting that
the process should not be considered as a linear sequence of activities. In each activity, you may find
that it is necessary to modify other models. Hence, the consistence between the models must be
checked constantly.

7
4 Conclusion

In this paper, I presented a semi-formal modeling method that represents a practical approach to
modeling of large information processing systems. The A/SF modeling was practically used in a
number of application development and application configuring projects. The current primary
improvement task is to increase efficiency of the modeling process by incorporating advanced integrity
checks of a created model. To date the best implementation of the A/SF modeling can be done
adopting the IHMC Cmap Tools application, a high quality knowledge mapping tool available for a
free download at http://cmap.ihmc.us/

5 Glossary of Terms
Distributed resources – interconnected computer resources that are present among two, or more
physical locations, such as a a local computer and a network-attached remote storage server.

Exception handling – ability of a computer system to handle a condition that has a special status such
as a processing error.

Evolutionary lifecycle – iterative (repeated) cycle of steps of a routine process such as a system
software upgrade.

Heterogeneous hardware or software – hardware or software that run on different operating system
platforms such as Windows and Mac.

Integrity check of a model – feature of a modeling software to analyze the model and determine
incompleteness or logical errors of the entered information such as a missing definition or an incorrect
relation.

Non-homogeneous objects – data objects, that are gathered by a computer for processing, which
originate form various locations, have various formats, and/or need to be accessed by various methods
such as a remote database server response and a keyboard entry input.

Temporal aspects – aspect of a task processing that depends on timing of another task, that defines
time-correlations such as 'during', 'before', 'after' or 'wait'.

End (v5).

You might also like