Agent State Flowcharts

  • October 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Agent State Flowcharts as PDF for free.

More details

  • Words: 1,816
  • Pages: 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 nontechnical 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).

8

Related Documents

Agent State Flowcharts
October 2019 18
Flowcharts Rma
November 2019 32
Flowcharts Ilmenite
May 2020 12
C Array-flowcharts-9
October 2019 18