Modern information technologies/  2. Computer means and programming

P.I. Sosnin and V.A. Maklaev

Petr Ivanovich Sosnin, head of the computer department of Ulyanovsk State Technical University. [e-mail: sosnin@ulstu.ru].

Vladimir Anatolievich Maklaev, general director of Federal Research-and-Production Center ‘Research-and-Production Association ‘Mars’. [e-mail: mars@mv.ru].

 

PSEUDO-CODE PROGRAMMING OF WORKFLOWS IN AUTOMATED DESIGN


 


Abstract

The paper presents a question-answer approach to programming of workflows in collaborative conceptual designing of Automated systems (AS). Efficiency of collective works can be essentially increased if human activities in workflows will be based on executions of a special kind of programs by designers any of which plays a role of an “intellectual processor” when it can lead to positive effects.  Such role is a model of a designer behavior providing the adjustment of workflows to the content of AS. This role is additional to the traditional set of roles used in development technologies of AS. The role implementation is being supported by specialized means of pseudo-code programming embedded to the toolkit WIQA (Working In Questions and Answers) the use of which is oriented on conceptual designing of AS.

 

Key words:

 AUTOMATED DESIGNING; EXPERIENCE; INTERACTION; QUESTION-ANSWER PROGRAMMING

 

1   Introduction

Nowadays the most problematic area of a human-computer activity is a development of Automated Systems (AS) any of which   is a system “where software represents a significant segment in any of the following points: system functionality, system cost, system development risk, development time.”

In sufficient measure the specificity of the AS development can be reflected by features of corresponding technologies, for example, by «Rational Unified Process» [4].  The specificity includes the following features:

·                    collective activity of designers which fulfill different actions by playing corresponding roles (architect, system analyst,  programmer and many others) in frames of definite scenarios;

·                    normative modeling of such activity in the form of workflows the typical units of which are tasks with guides for their repeated decisions;

·                    necessity of solving the several hundred of typical tasks (for example, in RUP about 500 such tasks only for conceptual designing) by a team of designers;

·                     necessity of of formulating and solving the new tasks (not only typical tasks) the creative works with which evolve personal and collective experience of designers.

The list of specific features can be continued but the named of them are sufficient for explaining the authors suggestions described below. First of all one can agree that activities of the designers connected with their work with enormous quantity of typical and creative tasks, should be automated. One of directions of the automation can be connected with the creation and usage of means for programming the designer activity especially in the conceptual designing. By the other words, the degree of automation will be positively increased if the designer will play the role of the “processor” which executes the programs created for managing the designer activity.

In this paper such role of the designer is being named as an intellectual processor (I-processor) the essence of which is constructively defined below. Executing of this role is supported by a system WIQA (Working In Questions and Answers) which provides the collaborative execution of workflows by the group of designers in the client-server instrumental environment [9].

2       Related Works

The idea of the designer model as I-processor is inherited by the author from  publications [3] where described the model human processor (MH-processor) as an engineering model of the human performance in solving the different tasks in real time.

The especially known version of MH-processor is EPIC (Executive Process-Interactive Control) described in detail in [3]. Means of EPIC support the programming of the human interaction with the computerized system in the specialized command language Keystroke Level Model (KLM). A set of basic KLM actions includes the following operators: K ‒ key press and release (keyboard), P ‒ point the mouse to an object on screen, B ‒ button press or release (mouse), H ‒ hand from keyboard to mouse or vice versa and others commands.  MH-processor is defined [3] as a system of specialized processors which solve the common task collaboratively. One of these processors is a cognitive processor providing mental reasoning the type and content of which are not specified.

 It is necessary to underline that I-processor is similar to MH-processor and includes the cognitive processor also. But the existence and work of this component of I-processor are revealed through reasoning of the question-answer type.

3       Generalized specifications of I-processor

Modern technologies for development of AS include modeling of designers with the help of roles. For example the current version of RUP supports activities of designers playing approximately 40 roles. RUP is a “heavy” technology therefore for small teams the quantity and specifications of used roles are decreased and simplified [1].

In any case the role is a special version of a designer behavior which satisfies to the definite set of rules. Role specifications depend on appointed tasks and tools supporting their initial solving and solution reuses.  So for specifications of any role the corresponding tasks and necessary tools should be defined by their essential features. Such essential features we shall use as generalized specifications of I-processor.

Let us notice that I-processor is a role which is being included to the traditional set of roles for increasing the degree of success in the development of AS. It is a very important intention. Therefore, the aiming at success should find its expression in generalized specifications of I-processor also.

Designers interact with any of these tasks as I-processors, and that leads to the question about the language of interactions. It is the specialized pseudo-code language LWIQA approximated to the natural language in its algorithmic usage. The main feature of LWIQA is the support of real time interactions of the designer with own experience, collective experience and their models of the precedent type [10].

 Language LWIQA is not possible to separate from means of its usage by I-processor. Such means are embedded to the toolkit WIQA the main feature of which is the support of QA-reasoning in interactions of designers with accessible experience when they are solving the tasks.

All named features of I-processor can be revealed in the process of conceptual designing when it is materialized in conditions presented schematically in Fig. 1. In this scheme the system WIQA is interpreted as the processor also, as QA-processor with specific types of data and commands [8].

 

 

 

 

 

 


Fig. 1.  General question-answer scheme of interactions

In scheme the question is understood by the author as the natural phenomenon which appears (in human brains) at the definite situation when the human interacts with the own experience. In this case the “question” is a symbolic (sign) model of the appropriate question. Used understanding helps to explain the necessity of fitting the “question” in QA-processes. Implicit questions and answers exist in the reality while “questions” and “answers” present them as sign models.

4       Pseudo-code programming of workflows

The set of basic LWIQA-operators is evolved for QA-programming of tasks in workflows. Additional operators describe the dynamics of relations between tasks included to workflows. The specificity of programmed relations reflects following QA-program for workflow pattern “Synchronization” [13]:

//Initiation

SEIZE D1, Z1

SEIZE D2, Z2

SEIZE D1, Z3

PLAN Z1

PLAN Z2

PLAN Z3

//Execution of tasks

QUEUE Z1

QUEUE Z2

L1:

TEST NE, Z1.state, DONE L1

TEST NE, Z2.state, DONE L1

QUEUE Z3

FININSH

 

This pattern binds three tasks in accordance with scheme where the solution of the task Z3 can be initiated when both of tasks Z1 and Z2 will be finished.

The program indicates that it works with the queue of  tasks appointed to the  designer who should solve the task Z3. Moreover, the program analyzes queues of designers worked with tasks Z1 and  Z2. In discussed case the queue with wich the designer is working, is expediently interpreted as the special kind of programs (M-programs) managing the activity of the designer.

Let us notice that any queue (any M-program) includes names of tasks with accompanying attributes indicated conditions in each of which the work with corresponding task can be begun or broken. Any unit of such queue is interpreted as  an operator of corresponding M-program. The interaction of I-processor with M-programs is presented in general in Fig. 2.

 

 

 

 

 

 

 

 

Fig. 2. Scheme of managing the work of I-processor

There is a possibility to use two types of M-programs in the WIQA-environment. The first type M1 provides the pseudo-parallel solving of tasks (QA-programs) by I-processor when any of task can be interrupted by I-processor or by external reasons in the process of its solving. Such opportunity supports by  plug-ins “System of interruption”.

 Any M2-program  manages the execution of tasks by the definite I-processor in workflows which are processed collectively in general case. Such management of I-processors supports with the use of Kanban system [14] embedded to WIQA and presented in Fig. 3.

 

 

 

 

 

 

 

 

 

 

 


Fig.3. Means supporting the management of workflows

The execution of any M2-program is visualized by Kanban in the form reflecting the state of the work of designers (D1, D2, … DP) with appointed tasks of workflows in steps (Step_1, Step_2, … Step_M) of conceptual designing. Appointments are provided by plug-ins “Organizational structure”. The use of plug-ins “Controlling assignments” binds any assignment with planned time of its fulfillment by the responsible designer. Information registered for tasks with the use of named plug-ins is used in the creation of M2-programs.

Moreover, any operator of any M2-program is formed as a conditional operator. The logical formula of the condition includes units reflecting what the designer should take into account from solutions of other tasks solved before. Executions of M2-programs are managed by events estimated by I-processors.

          Conclusion

This paper presents new means of programming which are aimed at increasing the effectiveness of the designer activity. Such means based on QA-reasoning widely used in conceptual solutions of project tasks. Programming of the conceptual activity helps to increase the level of its automation and by that to reduce quantity of semantic faults and defects in designer solutions. The suggested means manage the designer who should fulfill the role of I-processor working under control of QA-programs in decisions of typical project tasks.

The offered means are adapted at understanding of the designer activity as the work based on precedents. Therefore language LWIQA is defined and built as the object-oriented language the potential of which is sufficient for the expression of the necessary semantics.  QA-programming is being applied as to the precedents already mastered by designer and for the precedents being created during designing. 

Furthermore, this language supports the creation of QA-programs for the management of workflows. To provide such possibility the traditional set of pseudo-code operators are evolved for programming the dynamics relations between tasks embedded to workflows. QA-programs of this type of are compiled to M2-programs operators of which are activated by corresponding events.

Similar approach is used for the pseudo-parallel execution of appointed tasks by I-processor. The queue of interrupted tasks is interpreted as programs of M1-type any of which combines conditional operators activated by events also.

         

          References

[1]         Borges, P., Machado, R.J., Ribeiro, P., 2012. Mapping RUP Roles to Small Software Development Teams International Conference on Software and System Process (ICSSP), pp. 190-199.

[2]         Held, M., Blochinger, W., 2009. Structured collaborative workflow design, Future Generation Computer Systems, 25(6),  638-653

[3]         Kieras, D., 2003. Model-based evaluation, in: J. A. Jacko & A. Sears (Eds.), The human-computer interaction handbook Mahwah, NJ: Erlbaum, pp. 1139–1151.

[4]         Kroll, P. , Kruchten, Ph., 2003. The Rational Unified Process Made Easy: A Practitioners Guide to the RUP.  Addison-Wesley.

[5]         Ras, E., Rech J.,  Weber, S., 2009.  Knowledge services for experience factories, In Proc. of the 5th Conference on Professional Knowledge Management, 232-241.

[6]         Roglinger, M., Poppelbußss J.,J., Becker J., 2012. Maturity models in business process management, Business Process Management Journal, 18 (2), pp. 328 – 344.

[7]         P. Sosnin, Means of question-answer interaction for collaborative development activity. Advance in Human-Computer Interaction Volume 2009, Hindawi Publishing Corporation, USA, p. 18. 2009.

[8]         Sosnin, P., 2011. Question-Answer Shell for Personal Expert System.in: Expert Systems for Human, Materials and Automation, Intech, pp. 51-74.

[9]         P. Sosnin, Question-Answer Approach To Human-Computer Interaction In Collaborative Designing. // In proc. IASDIS: Human Computer Interactions, Freiburg, Germany, 2010,   pp.  219-226.

[10]    P. Sosnin, "Programming of Human-Computer Interactions in Development of Software Intensive Systems ", International Journal of Computer Information Systems and Industrial Management Applications ISSN 2150-7988 Volume 3 (2011), pp. 444-452.

[11]    P. Sosnin, V. Maklaev Pseudocode Programming of Precedents in Conceptual Designing of Automated Systems. In Proc. 5th International conf. Application of Information and Communication Technologies (AICT’11), 2011, Baku, Azerbaijan, 766-770.

[12]    P. Sosnin, “Question-Answer Shell for Personal Expert System”. Chapter in the book “Expert Systems for Human, Materials and Automation.” Published by Intech, 2011,  pp. 51-74.

[13]    Van der Aalst, W.M.P. et al., 2003.  Hofstede, A.H.M., Kiepuszewski, B., Barros, A.: Workflow patterns. Distributed and Parallel Databases, 14, pp. 5–51.

[14]     Wang, J. X . , 2010. Kanban: Align Manufacturing Flow with Demand Pull, Chapter in the book: Lean Manufacturing Business Bottom-Line Based, CRC Press, 185-204.