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.