Technical field
[0001] The present invention relates to a computer system for generating softskill simulation
code using a graphical interface for designing a structure of graphical elements representing
possible events in a social interaction, preferably between two people, said graphical
element representing program code adapted to present information to a user and to
receive information relating to a decision of the user, such decisions determining
a path through said network structure.
Technical background
[0002] In many situations, it is important to train and maintain the ability of a person
to interact with his/her environment, and especially other human beings in this environment.
Such abilities are different from the hard skills related to factual learning and
learning by doing, and rather relate to a persons softer qualities, such as saying
the right thing at the right time. These qualities are sometimes referred to as "soft
skills", and the training of these skills is preferably performed by using a computer
system to simulate interaction with other people, e.g. "softskill simulation".
[0003] This type of simulation has for example been successfully used when training sales
people, but an increasing demand for this type of training is expected in many different
areas.
[0004] One area, where the potential for softskill simulation is especially large, is the
area of e-learning, where the learning situation itself often contributes to overlooking
the soft qualities of the person learning. Many implementations of e-learning are
today unsuccessful, as they fail to attract the user with reasonable human interaction.
[0005] When developing a softskill simulation, knowledge of the human mind and language
are the basic input, resulting in patterns regarding how for example a verbal intercourse
may develop, and how a given goal may be achieved. This material then needs to be
programmed into a computer system, in order to be practically implemented as a training
exercise.
[0006] However, this step of transforming the knowledge soft skills into a strict computer
program causes problems. The people who have the knowledge of the human behavior (e.g.
linguistics, psychologists, psychiatrists, etc) normally lack knowledge of computer
programming and vice versa. Also, the computer programming technique is in itself
a "hard" skill, creating an obstacle to the very purpose of the system, namely to
create and present softskill simulations.
[0007] Although conventional software packages for softskill simulation design are based
on a graphical interface, the graphical structure is linear, thereby limiting the
programmer in his creative design. As the desired softskill simulation is based upon
human interaction, it typically is best described as a more complex "tree" structure,
where a simulation can diverge in several different paths. This "tree"-structure,
possibly described on several flowcharts by e.g. a linguist or psychologist, must
be transformed into the linear world of the software package by a programmer.
[0008] One solution to this problem is to generate program code to handle combinations of
linear sequences, and their relationships. This is implemented in e.g. Macromedia's
Director, using the high-level computer language Lingo. Another possibility is a further
enhanced, but still linear, graphical design, where several linear structures can
be combined. This is implemented in e.g. Macromedia's Authorware.
[0009] One particular feature, making the work of the programmer more complex, is the flow
of information relating to the user's previous decisions, i.e. his/her "history" in
the simulation. In order to fully reflect the interaction of a social interaction,
such as a verbal intercourse, the path followed by the user should not only be influenced
by the selection made in the currently active module, but rather by all previously
made selections. In conventional simulation generation software packages, such as
Macromedia's Director mentioned above, this may only be achieved by hard coding a
number of conditional expressions in the computer code of the simulation. Although
not a big problem for a computer programmer, this effectively alienates the simulation
generation process from technically unskilled professionals involved in the softskill
simulation development.
[0010] Although functional, and capable of accomplishing the softskill simulation, the above
solutions still do not overcome the basic problem of making the softskill simulation
design process available to the people having the required knowledge. Therefore, there
is a need for a specialized technology for handling the specific needs associated
with generation of softskill simulations.
Objects of the invention
[0011] An object of the present invention is to provide a technology that facilitates the
process of generating softskill simulations, making it easier, faster and with higher
quality.
[0012] Another object of the invention is to provide a technology that is easy to handle
for today's softskill training producers and other non-technicians.
[0013] Another object of the invention is to provide a technology that is technically flexible
and compatible with other producers' softwares and file formats.
Summary of the invention
[0014] These and other objects are achieved with a system of the kind mentioned by way of
introduction, wherein said structure of graphical elements includes a plurality of
interconnected branches representing possible paths through the simulation, the particular
path followed by a user being determined by said decisions. The system further comprises
means for graphically linking a graphical element to at least one graphical subelement,
representing a program code portion adapted to store information related to decisions
made by the user in a memory area, and for graphically linking a graphical element
to at least one graphical subelement, representing a program code portion adapted
to read, from said memory area, information related to decisions previously made by
said user, and to adapt said path depending on said information.
[0015] The process of creating softskill simulation code typically comprises creating a
structure of decision points, basically defining how a verbal intercourse may develop
and lead to one of a plurality of outcomes. Each decision point represents a decision
of a user, based on information available to the user at this point. As mentioned
above, this structure has been transformed into linear sequences by a programmer,
normally necessitating complicated coding on the programmers part.
[0016] According to the present invention, this design process is facilitated by an enhanced
graphical design process, according to which the softskill programmer (or designer)
can build a softskill simulation tree structure with several branches directly on
the screen. As in conventional software packages, each decision point is represented
by a graphical element associated with computer program code for performing the information
exchange between system and user. The contents of each box relates e.g. to different
things to say in a simulated intercourse, and the decision can consist of selecting
one of said alternatives. The made selection influences which point is reached next.
However, instead of limiting these boxes to linear relationships, they may be connected
in an arbitrary fashion, resulting in a logical tree structure with several interconnected
branches. This structural approach provides for a simple, graphically presentable
way to design the foundation of a softskill simulation.
[0017] Also, there has been recognized a need for handling information flow throughout the
structure, i.e. permitting the earlier decisions made by a user to influence the path
he is currently following. This information handling has been regarded as too complex
to be handled visually in any non-linear programming tool.
[0018] According to the invention, the graphical structure is therefore further improved,
and includes subelements, associated with the graphical elements. These subelements
represent program code portions that interact with an area in the system memory, reading
and writing information about a user's actions and selections.
[0019] By inserting graphical representations of these code portions directly into the tree
structure, the variables in the memory are used to transfer information through the
tree structure. This information is used to trigger certain events and also for controlling
a user's scoring.
[0020] A great advantage with these graphically represented code portions is that the programmer
does not need to be directly involved in the details of programming. Instead, the
simulation can be "designed" in a graphical sense, enabling a closer relationship
with the soft skills it is intended to simulate. In the following description, the
term "designer" will therefore be used for the person creating a softskill simulation.
[0021] The hardships of transferring information from previously made decisions to the present
decision point, is handled by continuously generating a structured memory area, containing
variable settings for any desired information. The graphical interface gives the designer
a good overview, enabling him to see relationships between decision points and to
realize when information should be transferred between decision points.
Brief description of the drawings
[0022] These and other aspects of the invention will be apparent from the preferred embodiment
more clearly described with reference to the appended drawings.
[0023] Fig 1 schematically illustrates a system environment comprising a component according
to the invention.
[0024] Fig 2 illustrates a web implementation of a system according to the invention.
[0025] Fig 3 illustrates a schematic tree structure of a softskill simulation according
to the invention.
[0026] Fig 4 illustrates the graphical representation of program code elements according
to an embodiment of the invention.
[0027] Fig 5 schematically illustrates the software structure of an embodiment of the invention.
[0028] Fig 6 schematically illustrates the dynamic structure according to the invention.
[0029] Fig 7 illustrates the user interface according to an embodiment of the invention.
Detailed description of a preferred embodiment
[0030] A complete software environment adapted for softskill simulation basically needs
to provide the following three functions:
- Creation of simulations, including transferring the knowledge of human behaviour and
dialog to the computer system, formulated as a complex set of actions and conditions.
- Storage of simulations in a suitable computer supported environment, also providing
administrative functionality of user accounts.
- Active running of simulations in interaction with one or several users.
[0031] Such an environment is illustrated in fig 1, where the modules relating to the three
functions mentioned above are referred to as editor 1, server 2 and player 3 respectively.
The server is a set of scripts (PHP/ASP etc) to be used together with standard databases.
Depending on whether the system is implemented in a network or locally, the server
software 2 is installed on a network server 4 or on the hard disk of a work station
5. The player software 3 is installed locally on the terminal 5 of the user.
[0032] Fig 2 illustrates how the system can be implemented in a Web server solution. Examples
of possible server environments are MySQL (Linux based), Oracle and SQL Server (Windows
Based). The server can support an LMS (Learning Management System), or be compatible
with existing such systems. The player 3 is preferably a Plug-In to an Internet Browser
10, to be used in e.g. Explorer or Netscape Browsers installed in a Windows environment
11. The player 3 can utilize any known media player 12 to playback media contents
such as images, animations or video clips.
[0033] The editor 1 is a software application for creating and modifying simulations. The
application can be intended to be run on e.g. a Windows work station 13, in which
case it is preferably built using Microsoft MFC as a base and follows the standard
set by Microsoft for a Windows application. It is this editor application 1 that is
the main topic of this patent application.
[0034] The editor application consists of a main program, with common functionality on a
top-level layer. The main program handles all common activities normally found in
a Windows application. The application is preferably a multi document application,
making it possible to e.g. Copy/Paste over several documents. Among other things the
functions include viewing options, allowing a programmer to select the level of detail
displayed on the screen. None of this is considered to be new to the art, and is not
further described.
[0035] The editor 1 is arranged to let the simulation designer use available media clips,
text, images and sound, to create a simulation according to the current needs. The
finished simulation is packaged in a file 6 of a specific format, adapted to be readable
by the server and player software 2, 3.
[0036] A simulation designed in the editor 1 according to the invention preferably starts
at one point and ends at one point. Between those start and ending points, the structure
can be regarded as a "multi thread" flow where the path followed in each junction
is a result of what action the user takes in that specific junction
and what actions he has taken previously in the simulation. Such a flow structure is
schematically illustrated in fig 3.
[0037] Reference is now made to fig 4 and 5. During design of a simulation, each of the
decision points is graphically displayed as a block 20 with one or several entrances
24, and one or several exits 25. A block can be displayed on a more detailed level,
for example available to the designer by selecting a different view, whereby each
block is divided in different graphical elements (see fig 4). A main element 21 is
associated with program code portions 31 of the editor software 1 (see fig 5) adapted
to display a piece of information to the user, and to receive a selection or decision
from the user. In one simple case, the main element 21 is adapted to display a text
box on the screen, with a number of alternative replies, to be selected by the user.
Other examples of information include audio clips, video clips etc, and the decision
from the user may be any form of action performed with an input device, such as a
keyboard or mouse.
[0038] Each block 20 can further be linked to one or several graphical subelements 22, 23,
associated with additional computer program code portions 32, 33 of the editor software
1, adapted to interact with a memory area 34 containing information about the users
earlier decisions. A subelement can be of essentially two kinds:
[0039] A "read"-element 22 evaluates the values of variables in the memory, and adapts the
contents of the main element in accordance with these values. The evaluation can be
of simple TRUE/FALSE-type, including various Boolean operators. The result of the
evaluation can for example affect which text the main element will display. A read
element is illustrated graphically as being connected up streams the main element
21. (See fig 4)
[0040] A "write"-element 23 sets the values of variables in the memory depending on the
action of the user, and stores competence data. A write element is illustrated graphically
as being connected down streams the main element 21. (See fig 4.)
[0041] The editor 1 provides means for linking a main element to a subelement graphically,
typically by letting the designer use a pointing device such as a mouse to insert
main elements and subelements into a working area, and indicating which ones should
be connected to each other. Naturally, the specifics of each graphical element can
be edited, and the specific function of a subelement be defined. The details of this
implementation is left in the hands of the skilled technician.
[0042] Fig 6 illustrates how the tree structure 15 changes dynamically during a run of a
simulation. In step I, the user is presented with the information in block 41, and
makes a selection. This selection, together with information from the "history recording"
in the memory 34, results in the simulation proceeding to block 42. At the same time,
information about the selection is stored in the memory 34.
[0043] When block 42 is reached, information from the memory 34 immediately results in one
of the possible exits 43 from this block being shut. Again, information is presented
to the user, and a selection is made, advancing the simulation to block 44, where
again one of the exits 45 is shut.
[0044] It may appear limiting to the users ability to choose freely, that exits are shut
in advance in this way, but note that this action only results from the user's own
actions. The difference from traditional navigation through a tree structure, is that
a selection made earlier may influence your options later on. This gives the simulation
designer a powerful tool for simulating hindsight etc.
[0045] Fig 7 illustrates how the user interface may be implemented. In order to help the
simulation designer, the tree structure can be displayed at different levels, selectively
hiding certain details. For example, the illustrated view 51 is a high level tree
structure 52. A block in this view 51 may be double clicked to show a further level
of blocks 53. On the last level, the subelements become available, in a view resembling
that of fig 4.
[0046] A system according to the present invention may be used in a variety of areas, also
outside the field of interactive learning. For instance, it might be beneficiary in
practical psychology or psychiatrics, for rehabilitating patients to a social environment.
Common everyday situations may be simulated, and the patients actions can be graded
to form part of a psychiatric evaluation.
1. Computer system for generating softskill simulation code using a graphical interface
for designing a structure of graphical elements representing possible events in a
social interaction, preferably between two people, said graphical elements representing
program code adapted to present information to a user and to receive information relating
to decisions of the user, said system being characterized in that said structure of graphical elements includes a plurality of interconnected branches
representing possible paths through the simulation, the particular path followed by
a user being determined by said decisions, and in that it further comprises means for graphically linking a graphical element to at least
one graphical subelement, representing a program code portion adapted to store information
related to decisions made by the user in a memory area, and for graphically linking
a graphical element to at least one graphical subelement, representing a program code
portion adapted to read, from said memory area, information related to decisions previously
made by said user, and to adapt said path depending on said information.
2. System according to claim 1, wherein said memory area is located on a server in a
network.
3. System according to claim 1, wherein said memory area is located on a work station.
4. System according to claim 1, wherein said subelements are visible on the graphical
interface only when a specific viewing mode is selected.
5. System according to claim 1, wherein said decisions relate to selections in a multiple
choice situation.
6. System according to claim 1, wherein said means for linking a graphical element to
a subelement comprise a pointing device, connected to said graphical interface, allowing
a designer to insert subelements into a working area.