*112613*

Modern information technologies/  2. Computer means and programming

Sosnin P.I. , Maklaev V.A.

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

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

 

QUESTION-ANSWER INTERACTIONS WITH EXPERIENCE IN  DESIGNING OF SOFTWARE INTENSIVE SYSTEMS

Abstract

In this paper, we describe the question-answer approach to the interaction with experience in collaborative designing of software intensive systems. Means of the approach help to use the accessible experience in the corporate network by any member of the professional team. Suggested means of interactions are oriented on workflows the basic unit of which is precedent.

Key words:

Collective designing, human-computer interaction, precedent, pseudo-code programming, question-answering, software intensive systems.

1   Introduction

Question-answer reasoning opens the possibility to analyze and specify the designer activity from the viewpoint of interactions with the personal experience, its models and other kinds of experience which are accessible for the designer. The specification of the designer activity from the viewpoint of interactions with the accessible experience can lead to positive effects in designing the Software Intensive Systems (SISs).

We consider that the named kind of interactions should be implemented by the designer fulfilling the role of a processor of an intellectual type (by I-processor). The activity of I-processor should be managed similarly to the experiential learning with using the interactions with the experience in which models of precedents play the role of typical experience units. This authors position is materialized and described constructively below.

The developed instrumental supporting of the activity of I-processor is oriented on its combining with the computer processor (K-processor).  Furthermore, the developed means are oriented onto the development of SISs where designers can play the role of users. Therefore, authors suggestions described below can be applied as for the designer activity so for (only intense) user activity.

The described understanding was used by authors for creating the workflows named “Interactions with Experience”. The specificity of workflows is being defined by precedent-oriented modeling of the experience and the use of question-answering (question-answer reasoning) for interactions with experience units. The workflows provide generating, registering and processing of question-answer reasoning (QA-reasoning) in the instrumental medium named WIQA (Working In Question and Answers) [9].

2   Interactions with Experience

2.1  Why Interactions with Experience

The work of designer as a type of an activity is initially oriented on the use of the experiential practices. Any new project of SIS is being evolved through the real time solution of technological and subject tasks which are distributed between members of the team [4]. The distribution takes into account the personal experience of any member in conditions of the real time access to the collective experience and its models. By another words (and shortly) any designer of the team has the real time possibility to attract the accessible experience for solving the own appointed tasks.

It is easy to agree, that the contribution of any designer into the general work should depends on in an essential measure both from the accessible experience, and from the used means of the access. With any new solved task any designer evolves the own experience, evolving the current state of the common accessible experience. Such process is similar to the experiential learning [7] of any designer of the trained team in conditions of designing the definite SIS. The most important aspect in the experiential learning is the fact that the learner (in our case the designer) chooses to actively participate in purposeful actions and reflect, using the accessible experience.

Thus, one can interpret the designing of SISs from the viewpoint of the experiential learning of team members. This viewpoint indicates the important area for rationalizing (improving) the real time actions of designers aimed at interactions with the accessible experience. Workflows of such interactions are able to increase the degree of the success in the development of SISs.  The continuous improving of the used practices is being recognized as the reliable way for the achieving the sustainable success of the designers team and project organizations.

2.2              Why precedent-oriented interactions with experience

The necessity of the real time interactions of designers with the accessible experience leads to the question about units of the experience and their models. Answers to the question principally depend on understanding the nature of the human experience.

The life of any person exists and evolves via interactions with naturally artificial world. The human side of interactions consists of behavioral units the most part of which are repeatable. Such repeatable units of the human behavior which were named “precedents”, are the corresponding conditioned reflexes after their intellectual processing. Below we shall count that a system of precedents models is a kernel of the human experience. It will play the role of the working understanding of the human experience in this paper. The chosen understanding will be coordinated with designing as the form of activity in which widely use typical design actions (design precedents).

To specify the used understanding we shall clarify the essence of precedent conceptually and define its structure and content constructively.  Conceptually “precedents are actions or decisions that have already happened in the past and which can be referred to and justified as an example that can be followed when the similar situation arises” [5].

2.3              Why question-answering interactions

As told above, any (project) precedent is being implemented according to its model created by the human (designer) in the result of intellectual processing of the definite unit of the behavior (designing activity). It is possible to consider, that any precedent appears as a result of the corresponding “experiment” executed by a human or a group of persons. Similar “experiment” is being planned and being implemented in the definite conditions for achieving the definite aims of the motivated experimenter(s). Therefore, in general case the precedent can be presented by the following logical scheme:

 Figure_0.jpg

This model is a human-oriented scheme the human interaction with which is able to activate the internal logical process on the level of the second signal system in human brains. So the model opens the possibility of the managed checking the fitness of the estimated precedent. The model clearly presents the conditions of the precedent fitness. It also opens the access to “codes” of the corresponding precedent in the human brain. By the other words, the conditioned part of the model is a source of questions the answers on which can be used for checking the fitness of the corresponding precedent. Providing of the access to units of the human experience is the basic kind of activity of consciousness.

The definite example of the logical model is a result of intellectual processing the corresponding behavioral unit which was built in the result of solving the definite task Z(Pi). It gives the right to bind with any precedent Pi its life cycle which begins from the statement of the corresponding task Z(Pi). The logical model can be interpreted as a formalized statement of this task. To create this model the human should translate the textual form of statement (textual model PTi of precedent Pi) in the logical formula PLi.

The logical model of the precedent prompts a way for the use of the model for the access to the “code” of the precedent in the human experience (to the precedent representation in the human brain). This way is similar to the logical programming of precedent conditions described by formulae of PL-type.

The simplest version of PL-formula is the AND-OR-combination of M-, C-, U’- and U’’-components each of which can be expressed by the question about its meaning. Answering on these questions fills the PL-formula by the content which allows computing the value of this formula.

Let us suppose that these questions have been extracted from the model and been prepared for their visualization on the monitor screen. The human can read the questions  from the monitor and compare “answers” from brain with answers ”written” in the model. In this case the question-answer sequence and its content visualized on the screen will manage the search actions of the human [6].

But in the solving the task Z(Pi) the marked questions were discovered before PL-formula will be built. In the suggested means these questions are formulated (in the natural language) into QA-reasoning aimed at the conceptual solution of any task of Z(Pi)-type. So the definite QA-reasoning can be interpreted as the QA-model of the corresponding task Z(Pi) or the state PQA in the life cycle of the precedent Pi. Interactions with PQA-model are able to activate the “codes” of the necessary precedent in the human brain.

Thus QA-reasoning used in the solution of the task can play the role of the program (QA-program) which will manage the reuse of this solution as the precedent. Such understanding is put in QA-programs below. QA-programs are oriented on their execution by the human (in our case by the designer).

The other way of interactions with the human experience is connected with the algorithmic usage of the natural language when, for example, plans in textual forms manage by the executions of the reaction parts of precedents. In general case of SIS such plans include commands any of which should initiate the actions or humans or computers or instrumental means of the other types. Before executing of any command it is read, recognized, understood, estimated by the human who should prepare all what will be necessary for the corresponding acting [1].

All named preliminary mental actions are aimed at the use of the human experience. The effectiveness of mental actions depends on the presentation of commands which should help to the human in such actions of consciousness. Thus any written command as the definite language sign includes a question. Presentations of commands should correlate with dialog processes of consciousness.

As told above the accessible experience includes a set of models of experience which is presented in the computer medium. Therefore designers should interact with such models also. In WIQA the models present the precedents the logical scheme of which is described above. Models of precedents are combined in the base of precedents (experience base) the access to which has a question-answer type (will be described below). Thus question-answer form of human-computer interactions (HCI) is used as for the access to the human experience so for the access to the models of such experience [2].

2.4            Intellectual Processor

One type of interactions with accessible experience is bound with the designer who interacts with own experience. The basic reason of any task of such interactions is the necessity of the inclusion to the designing the appropriate precedent. The second type is bound with the search of the appropriate precedent in the experience base which has been created in the computer medium .

In WIQA the first type of interactions is being supported by models of reasoning in the real time or reasoning which has been registered for solved tasks the solutions of which were qualified as precedents. Moreover, reasoning should be implemented by designers in the question-answer forms correlated with the dialog nature of consciousness. Thus WIQA supports HCI provided the access of the designer to precedent representations in the human experience and the use of the chosen precedent model for the precedent reusing. Such type of HCI is better to organize and materialize as means for managing of the named designer activity. The promising kind of means for the similar management is programs oriented on their execution by designers (not computer).

There are two paradigms for programming one of which is declarative programming and the second is imperative programming. WIQA supports both these paradigms. The declarative programming is being implemented by the real time interactions of the designer with QA-reasoning in the form of interactive objects of the following types: “task”, “question” and “answer”. The basic destination of such interaction is aimed at finding the answer for the definite question. Therefore declarative programming will be named below as QA-modeling. The typical extracted answer (in QA-modeling) is the necessary model of the appropriate precedent.

The imperative programming is based on the algorithmic usage of the natural language when, for example, plans (techniques) are described as pseudo-code programs prepared for their execution by a human. 

The instruction for the reset of Outlook Express is an example of such pseudo-code program:

O1. Quit all programs.

O2. Start On the menu Run, click.

O3. Open In the box regedit, type, and then OK the click.

O4. Move to and select the following key:

HKEY_CURRENT_USER/Software/Microsoft/Office/9.0/Outlook

O5. In the Name list, FirstRunDialog select.

O6. If you want to enable only the Welcome to Microsoft Outlook greeting, on the Edit menu Modify, click the type True in the Value Data box, and then OK the click.

……………………………………………………….

O.10. On the Registry menu, click Exit.

O11.  End.

 

One can notice that this text indicates the steps of the instruction (pseudo-code program) which human should execute as a “processor” including to the “process” the actions with the own experience. Such processor will be named below as an “intellectual processor” (or shortly I-processor) because we understand the interactions of any human with own experience as a kernel of the personal intellectual abilities [3].

The presented example demonstrates that I-processor collaborates with the computer processor (K-processor) using it as the subordinated computer assistant. In WIQA the collaboration provides by the question-answer means of HCI. From this point of view the WIQA is a specialized processor of the question answer type (QA-processor) supporting interactions between I-processor and K-processor in collaborative designing of SISs. Combining of processors is schematically presented in Fig. 1.

I_PROCESSOR.jpg

Fig. 1. Collaboration of processors

In the 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. Let us note the task is a type of questions.

Thus, I-processor is a system of human abilities providing the real time interactions  of the human with own experience which are being managed by QA-reasoning in the role of declarative and/or imperative programs (QA-programs).

The specificity of precedent-oriented approach to the use by designers of the accessible experience is being defined by QA-programming the collaborative work of I-processors and corresponding K-processors with precedents models structuring this experience.

3   Question-Answer Medium

The system WIQA has been developed as the QA-processor for the conceptual designing of the SIS by the method of conceptual solving the project tasks [8]. This method is based on the stepwise refining and QA-reasoning which are being evolved in the frame of incremental designing.

Processor WIQA has been implemented in several versions. Elaborations of two last versions were based on architectural views of the QA-model and the usage of the repository, MVC, client-server and interpreter architectural styles. Moreover, in created versions have been used object-oriented, component-oriented and service-oriented architectural paradigms.

Step by step this system was evolved as the toolkit oriented on modeling of typical project tasks. The role of the basic source of typical tasks fulfilled the Rational Unified Process (RUP) created by corporation IBM [4].

The last version named WIQA.Net has been programmed on C# at the platform of Microsoft.Net 3.5. The structure of WIQA, its functional possibilities and positive effects are aimed at the conceptual designing of the family of SISs. The features of WIQA.Net (or shortly WIQA) are reflected by its general scheme and components structure presented in Fig. 2.

WIQA_KOMP_2.jpg

Fig. 2. Component structure of WIQA

The toolkit is oriented on the collective designing of SISs when tasks are appointed to members of the designer group. Appointments are supported by the special component named “Orgstructure” (Organizational structure of the team).

The basic component of WIQA is the QA-database which supports the real time working of designers with tasks of designing for the current project. All tasks are combined in the tasks tree supported the visual access of designers to its units each of which is interpreted as the definite precedent used in designing or will be executed by the user of the SIS.  The conceptual solution of any task Zi is being built with the help of QA-reasoning which are being registered in the QA-protocol fulfilled the role of the QA-model of the corresponding task.

In more details any unit of the Z-, Q- or A-type is an interactive object the properties of which are being opened when any special plug-ins are used. Thus interactive tasks tree and a set of corresponding interactive QA-models of tasks present the “intermediate” between developers and the current state of the designed SIS existed in the computer environment.

The responsibility for evolving the tasks tree, defining tasks statements and building for them adequate QA-models is laid on designers. For this work they use any informational sources not only mental reasoning. One of these sources is a current content of tasks tree and the current state of the QA-model for each task. Therefore a set of commands are accessible to designers for interactions with tasks, questions and answers which are visualized in the main form. The additional commands are accessible via plug-ins of WIQA.

Nothing prevents to abstract from the sense appointed originally on QA-objects and their combinations. On this base we define a type of data named “QA-data” for definite abstraction of QA-objects and their combination if it uses their subset of attributes and hierarchical structures for the combined QA-objects.

QA-data has been used in WIQA and its application for presentations of organizational structures, catalogs of libraries, systems of characteristics and the others of descriptions for the structured constructs. Below this type of data will be used for the presentation of data and operators in pseudo-code programs.

Let us notice that the name of data and its meaning can be presented rationally by Q-object and A-object correspondingly. Any name includes the question about its meaning. Similar way can be and will be used for the source code of the operator and the result of its execution. Any expression of the operator combines with its algorithmic execution.

4                     Question-Answer Programming

4.1   Declarative QA-programming

Question-answer models, as well as any other models, are created “for extraction of answers to the questions enclosed in the model”. Moreover, the model is a very important form of the representation of questions, answers on which are generated during interaction with the model. The essence of QA-modeling is interactions of designers with artifacts included to the QA-model of the chosen task in current states of artifacts. For such interaction the designer can use the special set of QA-commands, their sequences and a set of WIQA plug-ins.

So any developer can get any programmed positive effect with the help of QA-modeling as “answer” on question actually or potentially included in the QA-model (Fig. 3).

 

 

 

 

 

 

 

 


Fig. 3. QA-model as a source of answers.

As it is shown in this scheme any component of the QA-model is the source of answers S({Ai}) accessible for the developer as results of interactions with the QA-model. At the same time the potential of the QA-model is not limited by the questions planned at defining and creating the QA-model. Another source of useful effects of QA-modeling is an additional combinatorial “visual pressure” of questions and answers which is caused by influence on brain processes in their contacts with components of the QA-model.

4.2   Pseudo-code QA-programming

One direction of broadening the interpretation of QA-data is defining the abstract type of data with necessary attributes and features including the accessible set of commands. Such interpretation allow to developers to use the abstract QA-type for the emulation of the types of data which are needed for pseudo-code programming [9].

Broadening of the abstract type of QA-data by means of additional attributes (specialized plug-ins of WIQA) helps to emulate any traditional data types such as scalars, arrays, records, lists, stack, queue and the others. Moreover, means of additional attributes open the possibilities for assigning to simulated data their semantic features.

The second type of pseudo-code lines strings is intended for writing the operators. In other words, the symbol string of the “question” can be used for writing (in this place) the operator in the pseudo-code form.  The fact or the result of the operator execution will be marked or registered in the symbol string of the corresponding “answer”.

For simulating the basic pseudo-code operators the next constructions were chosen the following of them: Appoint, Goto, If-Then-Else, For, While-Do, Do-Until, Command, Function and Procedure.  Emulations of QA-data and QA-operators are implemented in WIQA and provide the creation of pseudo-code programs for different tasks.

The built and used language is embedded to the toolkit WIQA. As other languages of such type it is similar to the natural language in its algorithmic usage. But the built language is oriented on programming of workflows in which the pseudo-code programs are being executed by I-processor and K-processor collaboratively. This language has got the name “WIQA-language”. Below for WIQA-language we shall use the symbolical designation LWIQA.

Any QA-program is being written on the “material” for registering of QA-reasoning. There are two additional ways for the adaptation of QA-reasoning to programming. The first way is to provide the expression of the basic constructions of programming with the help of elements of QA-reasoning. The second way is to fill such constructions by the adequate content extracted from QA-reasoning. But both ways of the adaptation are bound with the presentation of QA-reasoning from the data point of view.

The LWIQA as any language for writing the programs includes means for data declarations and means for coding the programs operators. In LWIQA any line of any QA-program is being written on the “surface” of the corresponding QA-object. In this case the used QA-object can be interpreted as a “material for writing” of the corresponding operator of the source code. This material has useful properties which are presented figuratively by attributes of the QA-object in Fig. 4.

Fig. 4. Writing of the pseudo-code operator

This “material” consists of visualized forms for writing the string symbols originally intended for registering the texts in fields “textual description” of corresponding Z-, Q- and A-objects. The initial applicability and features of such type of strings are being inherited by data and operators of QA-programs. It is possible to assume that data and operator are written on “punch-cards” the features of which (basic and useful additional attributes of corresponding QA-objects) can be accessible for their processing together with textual descriptions if it will be necessary.

4.3              Pseudo-Code Programming of Precedents

Precedents are behavioural units and, therefore, the source code of the precedent behaviour PIi and the corresponding executed code PEi are included to the precedent framework. In WIQA for the creation of models of PI-type the designer can use the means of pseudo-code programming. Such means are used the pseudo-cope language with QA-emulating of the data and operators. All components of the framework and first of all the models of PI-type in the form of QA-programs provide the experiential interactions. In WIQA the described models of precedents are combined in the experience base (base of precedents).

QA-programs are being implemented for programming of the condition part and reaction part of any precedent separately. The condition part should help to solve the task of the precedent choice from the base of precedents. The typical scheme of QA-programs for the condition parts has the following view:

QA-PROGRAM_1 (condition for the access to the precedent):

N1. Variable V_1 / Comment_1?

V1. Value of V_1.

N2. Variable V_2 / Comment_2?

V2. Value of V_2.

……………………………………………

NM. Variable V_M / Comment_M?

VM. Value of V_M.

N0. F = Logical expression (V_1, V_2, …, V_M)?

V0. Value of Expression.

End.

 

It is necessary to notice that the designer (or the user) can build or to modify or to fulfil (step by step) the definite example of this program in the real time work with the corresponding precedent which the designer creates or then user reuses. In the presented typical scheme the logical expression of the choice is programmed as the program function (QA-function). In this example the strings of the Q-type are marked by the label “N” (Name, Name of Variable) and string of the A-type are marked by the label “V” (Value of Name). Marked index labels are defined as subtypes for Q- and A-types. Additionally subtypes “O” (operator) and “E” (executed) were appointed for marking the Q-lines and A-lines in descriptions of operators.

The reaction part of the precedent has very often the technique type the possibility of QA-programming of which was described above. If it is not so the designer can create the reaction part in the prototype form as the QA-program. The next  scheme reflects the work with techniques programmed as QA-procedures:

 

QA-PROGRAM_2 (a possible scheme for the behavioural part of the precedent task):

O1.operator_1 (press K_x_button)

E1. *

O2.  Operator_2 (choose Pl_y_plug-ins from their list)

E2. *

………………………………

ON. Operator_N (call QA_P_z_procedure)

EN. #

End.

 

 The program text includes the symbolic names K_x and Pl-y for the Command and Plug-ins of WIQA and QA-P_z for the QA-program written by means of WIQA. It is necessary to notice that all names of the types K_x, Pl-y and QA-P_z are indicated positions on the monitor screen for initiating the actions by touch of the designer. In the presented scheme the symbols “*” and “#” (as “yes” and “no”) indicate the facts of the execution for operators.

There are two ways for the execution of QA-programs. One way is their fulfilling by the designer (by I-processor) with using the interpreter embedded to WIQA. The second way is oriented to K-processors and it is supported by the specialized compiler of QA-programs transforming them to precedent models of PE-type.

Let us remember that QA-programs for condition part and reaction part are created by the designer as specifications of the user activity but they can be used by user also if WIQA-means will be embedded to the designed SIS.

5                     Conclusion

This paper presents QA-programming of interactions (designers and computer programs) with the accessible experience in the creative and professional activity (in designing of SISs). Suggested means 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 developed means manage the designer who should fulfil 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 pseudo-code language 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.

Possibilities of QA-programming are implemented in the instrumental system WIQA supported the work of designers with the precedent base in the corporate network. Means of QA-programming include the interpreter of QA-programs for their execution by designers and the compiler of QA-programs for the computer execution. The use of QA-programming and the base of precedents are embedded to conceptual designing supported by all means of WIQA.

The offered means have confirmed the practical usefulness in the development of a number of SIS, including “Multi-agent system for simulation of surrounding the sea vessel” and “Question-answer expert system for ship collision avoidance”. Means of QA-programming was used for developments plug-ins “System of human-computer interruptions” and about 400 guides embedded to WIQA and also for the creation a set of QA-programs for a number of specialized systems.

 References

[1]  Basili, V. Lindvall, M.  Costa P. Implementing the Experience Factory concepts as a set of Experience Bases/ In Proc. of the 13 th International Conference on Software Engineering & Knowledge Engineering, pp. 102-109 (2001)

[2]  Karray, F., Alemzadeh, M., Saleh, J. A., Arab, M. N. Human-Computer Interaction: Overview on State of the Art Smart sensing and intelligent systems, vol. 1 (1), pp. 138—159  (2008)

[3]  Kieras, D., Meyer, D.E. An overview of the EPIC architecture for cognition and performance with application to human-computer interaction. Human-Computer Interaction, vol. 12, pp. 391--438, (1997).

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

[5]  Precedent. http://dictionary.reference.com/ browse/precedent

[6]  Question-Answering. http://www.wordiq.com/ definition/Question_ answering

[7]  Ras, E. Rech, J. Weber S. Knowledge Services for Experience Factories/ In Proc. of the 5th Conference on Professional Knowledge Management, 232-241, (2009).

[8]  Sosnin P. 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.

[9]    Sosnin P. Question-Answer Approach to Human-Computer Interaction in Collaborative Designing. Chapter in the book “Cognitively Informed Intelligent Interfaces: Systems Design and Development” Published IGI Global, 2012, pp. 157-176.