SUGISAKAMASANORI

Journal of Robotics, Networking and Artificial Life
Vol. 9(1); June (2022), pp. 81–86
ISSN (Online): 2352-6386; ISSN (Print): 2405-9021
2352-6386 https://alife-robotics.org/jrnal.html

Research Article

A Technique for Learning Software Modeling Using Extended
Place/Transition Net and Its Prototype Tool
Tomohiko Takagi1, Akio Usuda2

1
Department of Engineering and Design, Faculty of Engineering and Design, Kagawa University, 2217-20 Hayashi-cho, Takamatsu-shi, Kagawa 7610396, Japan
2
Division of Reliability-based Information Systems Engineering, Graduate School of Engineering, Kagawa University, 2217-20 Hayashi-cho, Takamatsushi, Kagawa 761-0396, Japan

ARTIC LE INFO
Article History
Received 25 November 2020
Accepted 22 May 2022

Keywords
software modelingplace/transition net
VDM
personal on-demand learning

ABSTRACT

Extended Place/transition Net (EPN) is expected to be one of formal software modelingtechniques to realize model-driven development. This paper shows a personal on-demand learningtechnique that helps engineers to acquire skills for using EPN, and then illustrates a prototype toolfor it. In the technique, each engineer as a learner tries to construct his/her EPN model so as tosatisfy given software requirements. The key ideas of the technique are (i) to construct a learner's
EPN model by using given components only, (ii) to convert a learner's EPN model into a VDM++
specification, and (iii) to visualize the behavior of software by using animated graphics.
Preliminary discussion and experiments with trial users of the prototype tool have been conducted
to evaluate the effectiveness of the technique.
© 2022 The Author. Published by Sugisaka Masanori at ALife Robotics Corporation Ltd
This is an open access article distributed under the CC BY-NC 4.0 license(http://creativecommons.org/licenses/by-nc/4.0/).

In order to address this problem, we show aTechnique for Learning software modeling using EPN(TL-EPN), and then illustrate its prototype tool. TL-EPN
is designed for learners who have already understood PN
and VDM++ to some extent. In TL-EPN, a learner tries
to construct his/her EPN model so as to satisfy given
software requirements by using given components only.
The EPN model is converted into a VDM++
specification5 for a learner who is familiar with Vienna
Development Method (VDM). Also, the behavior ofsoftware based on the EPN model is visualized by using
animated graphics6,7 for a beginning learner. The learner
finally receives the result of checking the correctness of
his/her EPN model. Some essential functions to support
TL-EPN have been implemented in the prototype tool,

1. Introduction
Extended Place/transition Net (EPN)1 is Place/transition
Net (PN)2 that includes some additional elements written
in VDM++3. It can be used to formally model the statetransition-based behavior of software in detail indevelopment processes. A software model drawn up by
using EPN is called an EPN model. It can be executed oninterpreters, and will help engineers to understand andvalidate software specifications. Also, it can be converted
into another formal software model, source codes, andtest cases. Thus EPN will be useful to realize ModelDriven Development (MDD)4 that accelerates the pace ofsoftware development. However, engineers needtechnical knowledge and skills to use EPN.

Corresponding author’s E-mail: takagi@eng.kagawa-u.ac.jp, s21g457@kagawa-u.ac.jp

812.1.1. Software requirements

and its effectiveness has been evaluated throughpreliminary discussion and experiments.
There are a few closely related studies. A Techniquefor Learning software modeling using PN (TL-PN) was
discussed in a previous study7, and it provides a base of
TL-EPN. Unlike TL-PN, TL-EPN is intended to support
personal on-demand learning, and therefore does notinclude the steps of advising, review, and demonstration
by instructors and other learners. Additionally, the studyof TL-PN does not use EPN and VDM++. Ref. 6 showsa training support method and tool for bug fixing of EPN
models. Its characteristics are to introduce animatedgraphics and to focus on bug fixing. The idea of theanimated graphics is used also in TL-EPN. Further, there
are studies on learning of other software modeling. Oneof the most widely used techniques in software modelingis Unified Modeling Language (UML)8. For example,
Akayama et al.9 discussed the effectiveness of applying
MDD tools to the education of UML. Soler et al.10
developed a web-based tool to teach class diagrams
effectively in a university. Ogata et al.11 proposed an
approach to test many learners' answers efficiently in theteaching of state machine models.
This paper is organized as follows. Section 2 shows
three steps of which TL-EPN consists, and then section 3
illustrates its prototype tool. Section 4 gives the results ofpreliminary discussion and experiments.

The software requirements are written in natural
languages. They should include enough information forlearners to construct a correct EPN model, such asdetailed workflows to be supported by software, concrete
data to be processed, and their constraints.
2.1.2. Set of completed EPN models
The completed EPN model is a correct answer in theexercise, and is used to check learners' answers in the laststep. It should be strictly based on the software
requirements. The instructors initially create one originalcompleted EPN model. After creating a set of component
candidates, they need to add equivalent completed EPN
models (EPN models that are not exactly the same as theoriginal completed EPN model but satisfy the software
requirements).
2.1.3. Set of component candidates
The component candidates are used by learners forconstructing their EPN models in the next step, and areclassified into the following two subsets.
One is a subset of correct components. They are
obtained by disassembling the original completed EPN
model, as shown in Fig. 1. When the exercise is intended
for beginning learners, the size of each component may
be made bigger to reduce the level of its difficulty.
Another is a subset of incorrect components, and they are
created by mutating the correct components. Modelbased mutation operators12 can be applied to the elementsof PN. Also, traditional mutation operators can be applied
to the additional elements written in VDM++. When theexercise is intended for beginning learners, the subset ofincorrect components may be made smaller or empty to
reduce the level of its difficulty.
The instructors should confirm whether thecomponent candidates lead to equivalent completed EPN
models. In order to check learners' answers correctly inthe last step, all the equivalent completed EPN models
need to be found and added to the set of completed EPN
models. The instructors can modify the software
requirements and the component candidates so as to
avoid the equivalent completed EPN models.

2. Learning Software Modeling Using EPN
This section shows the three steps of which TL-EPN
consists, that is, (1) creating exercises, (2) working on
exercises, and (3) checking learner's answers. (1) is forskilled engineers as instructors, and (2) and (3) are forlearners who have already understood PN and VDM++
to some extent.
2.1. Creating exercises
In the first step, instructors create exercises for learners.
Each exercise consists of (i) software requirements, (ii) a
set of completed EPN models, (iii) a set of component
candidates, (iv) sets of test cases, (v) animated graphics,and (vi) hints about modeling. They are basically createdin this order. (iv) and (vi) are optional.

82

2.1.4. Sets of test cases...

When there are many equivalent completed EPN models
caused by slight differences especially in actions andguards, sets of test cases can be used instead of them. A
test case in this study is a sequence of successive statetransitions on an existing completed EPN model. A set oftest cases is created so as to satisfy a coverage criterion1
on the model. Each set is used to check learners' answers
in the last step.

......
......
....

...

...

...
...

......
......
....

...

......
......
....

...

......
......
....

......
......
....

...

......
......
....

Legend...

placetransition

...

...

...

......
......
....

token
arc
......
......
....

...

extension(a) Original completed EPN model...

......
......
....

2.1.5. Animated graphics...

The animated graphics consist of graphical parts, andvisualize the behavior of software based on a given EPN
model. Some of the graphical parts are programmed tomove by trigger, such as the fire of specific transitions
and the satisfaction of specific conditions in a given EPN
model.

...

...
...

......
......
....

...

......
......
....

...

......
......
....

...

......
......
....

...

...

......
......
....

...

...

......
......
....

...

(b) Correct components for beginning learners......

...
......

......

2.1.6. Hints about modeling...

The hints about modeling are written in natural languages,
and are used by learners as clues about how their EPN
model can be correctly constructed. The hints are notalways needed when the exercise is for advanced learners.

....

......

......

...

......
...

...

....
......

...

......

......
......

2.2. Working on exercises...

In the second step, each learner works on the exercises.
The learner is given all the materials excepting the set ofcompleted EPN models and the sets of test cases. The
learner will firstly try to understand the given software
requirements and hints about modeling. After that, thelearner will select appropriate component candidates
from the given set, and assemble them into an EPN model.
The learner's EPN model is automatically converted intoa VDM++ specification5. It will provide suitableviewpoint for learners who are familiar with VDM. Also,
beginning learners can watch animated graphics tounderstand their EPN models intuitively6,7. When thelearner finishes constructing his/her EPN model, he/shemoves to the last step.

...

....

...

....

......

......

....

......
...

......
...

...

....
...

....

(c) Correct components for advanced learners

Fig. 1. Creation of a subset of correct components(overview).
sets of test cases, it is judged as a correct answer.
Otherwise, the learner shall try to correct all the mistakes
on his/her EPN model. If needed, some additional hints
are given to the learner. For example, the information
about the mistaken parts in the learner's EPN model canbe used as the additional hints. When the learner gives up
on constructing his/her EPN model, the originalcompleted EPN model is disclosed to him/her as a correct
answer.

2.3. Checking learner's answers
In the last step, a learner's EPN model is checked by using
the set of completed EPN models and the sets of test cases.
If the learner's EPN model is exactly the same as one of
the completed EPN models, or if it has passed one of the

3. Prototype Tool
We are developing a prototype tool for TL-EPN. The
prototype tool does not fully support the steps that have83

been discussed in the previous section, but includes someessential functions.
Fig. 2 is a screen shot of the prototype tool that showsa sample exercise on the subject of a simple elevator
control system. The prototype tool is used on Web
browsers. Its GUI chiefly consists of (A) the section forsoftware requirements, (B) the section for hints aboutmodeling, (C) the pane to construct a learner's EPN
model, (D) the pane to select component candidates, (E)the pane to show a VDM++ specification, and (F) the
pane to show animated graphics.
In (D), component candidates are classified by thekinds of elements of EPN, that is, places, transitions,tokens, guards and actions. A learner can select anarbitrary one from (D), and then can move it to (C). A
VDM++ specification shown in (E) reflects a learner's
EPN model given in (C). A learner can check thecorrectness of his/her EPN model at any time. The
checking is executed as the comparison between alearner's EPN model and a completed EPN model. Its
result is indicated as "O" or "X" that are the symbols fora correct/incorrect answer, respectively. If a learner's
EPN model is correct, (F) shows the animated graphicsof the expected behavior of the elevator. Otherwise, anadditional hint (information about mistaken parts) is
given to the learner so that he/she can retry the exercise.
When the learner gives up on constructing his/her EPN
model, a completed EPN model is shown in (C).

(A)

(B)

(C)

(E)

(D)

(F)

Fig. 2. Screen shot of our prototype tool.

(β) It is better to add functions that support the readingof VDM++, such as reference documents andpopup-helps.
(γ) It will be often difficult for learners to directly
derive a correct EPN model from given software
requirements. The software requirements include
little explicit representation about elements of the
EPN model.
(β) and (γ) were assumed to relatively affect theeffectiveness of learning. Therefore, we prepared thereference document and the explicit representation before
experiments.
In the experiments, additional trial users (fourundergraduate students in our laboratory) worked on theexercises in the order of #1, #2 and #3. We observed the
behavior of the users, and described the bare essentials
orally to one who has given up on understanding a
disclosed correct answer. Also, the users answered our

4. Evaluation
This section shows the results of preliminary discussion
for qualitative evaluation and experiments chiefly forquantitative evaluation.
We created exercises #1, #2 and #3 on the subject ofa simple elevator control system, and set them into theprototype tool. The most complex exercise #3 wasdeveloped from the exercise #2, and the exercise #2 wasdeveloped from the simplest exercise #1. After that, three
trial users (two master's students and one undergraduate
student in our laboratory) worked on them. As a result of
preliminary discussion with the trial users, we found thefollowing:(α) Components, VDM++ specifications, and animatedgraphics will be useful to support learners. However,the quality of their user interface is important forlearners, and there is room to improve it.
84questionnaire. The following were found from the resultsof the experiments:• The levels of understanding of PN and VDM++
before the experiments were within a range of 3-4.
They were subjectively estimated by the users
themselves with a measure from 1 (not understood)
to 5 (understood). This result means that the users
will be appropriate for TL-EPN.
• The column (a) in Table 1 shows the rate of the users
who finally answered correctly in each of theexercises. Two users could not answer correctly inthe exercise #2. One of the two gave up on
understanding its disclosed correct answer, andasked us for its oral description. The one would not
be able to answer correctly in the following exercise#3 without the oral description. The prototype tool
will need to provide some assistance for users likethe one.
• The column (b) in Table 1 shows the time required
to finish each of the exercises. Note that the time
includes the process of retrying. The users tended tospend much time on the exercise #2, since it has ahigh degree of difficulty due to the great expansion
from the exercise #1. The time will generally vary
according to some factors, such as the degree ofdifficulty of each exercise, and the individual ability
for software modeling.
• The column (c) in Table 1 shows the frequencies ofretrying in each of the exercises. Additional hints byretrying seem to lead users to correct answers.
• The levels of having advanced in understanding of
EPN by the prototype tool were within a range of 35 and an average of 4.0. They were subjectively
estimated by the users themselves with a measurefrom 1 (not advanced) to 5 (advanced).
• The prototype tool provides three key functions, thatis, (i) the construction using components, (ii) the
conversion into VDM++ specifications, and (iii) thevisualization using animated graphics. The mostuseful key functions for the users were (i) (3/4) and(ii) (1/4). This was subjectively estimated by theusers themselves. Creation of animated graphics
requires much effort, and therefore (iii) will not becost-effective.

Table 1. Overview of experimental results.
correct
time (min.)(b)freq. of retrying(c)ans. rate(a) average
range
average range#1 4/4
34
20-50
2.3
0-7
#2 2/445 (73) 42-49 (70-77) 4.0 (5.0) 3-5 (1-9)#3 4/4
29
13-45
3.3
0-9
* In the columns (b) and (c) in the row #2, data of users who
finally answered correctly and of other users are shown
separately. The latter data are put in parentheses.
checking learner's answers. Its key ideas are (i) the
construction using components, (ii) the conversion into
VDM++ specifications, and (iii) the visualization using
animated graphics. Some essential functions to support
TL-EPN have been implemented in the prototype tool.
As a result of preliminary discussion with its trial users,
we found that components, VDM++ specifications, andanimated graphics would be useful to support learners.
Also, as a result of experiments with additional trial users,
we found that the function for (i) would be the mostuseful for users. However, there are some challenges tobe addressed in future. For example, the prototype tool
will need to provide some assistance for users who gave
up on understanding a disclosed correct answer.
In a future study, we plan to extend TL-EPN and its
prototype tool, and then conduct experiments to evaluate
their effectiveness.
Acknowledgements
The authors thank Mr. Y. Ue and Mr. S. Morimoto for
their efforts to develop prototype tools in previous studies.
This work was supported by JSPS KAKENHI Grant
Number JP17K00103.
References
1. T. Takagi, R. Kurozumi and T. Katayama, State Transition
Tuple Coverage Criterion for Extended Place/Transition
Net-Based Testing, Proceedings of Pacific Rim
International Symposium on Dependable Computing,
Kyoto, Japan, pp.29-30, Dec. 2019.
2. N.G. Leveson and J.L. Stolzy, Safety Analysis Using PetriNets, IEEE Transactions on Software Engineering, Vol.13,
No.3, IEEE, United States, pp.386-397, Mar. 1987.
3. J. Fitzgerald, P.G. Larsen, P. Mukherjee, N. Plat and M.
Verhoef, Validated Designs for Object-Oriented Systems,
Springer-Verlag London, 2005.

5. Conclusion
In this paper, we showed TL-EPN, and then illustrated its
prototype tool. TL-EPN consists of three steps, that is, (1)creating exercises, (2) working on exercises, and (3)854. D.S. Frankel, Model Driven Architecture - Applying MDA
to Enterprise Computing, John Wiley & Sons, UnitedStates, 2003.
5. T. Takagi and R. Kurozumi, Prototype of a Modeling Tool
to Convert between Extended Place/Transition Nets and
VDM++ Specifications, Proceedings of International
Conference on Artificial Life and Robotics, ALife
Robotics, Oita, Japan, pp.157-160, Jan. 2019.
6. T. Takagi, S. Morimoto, Y. Ue and Y. Imai, AnimatedGraphics-based Training Support Method and Prototype
Tool for Bug Fixing of Extended Place/Transition Nets,
Journal of Robotics, Networking and Artificial Life, Vol.5,
No.4, pp.278-282, Mar. 2019.
7. Y. Ue and T. Takagi, Learning Support Technique ofSoftware Visual Modeling Using Place/Transition Nets,
Proceedings of International Conference on Artificial Lifeand Robotics, ALife Robotics, Oita, Japan, pp.751-754,
Jan. 2020.
8. Object Management Group, Unified Modeling Language,https://www.uml.org/.
9. S. Akayama, K. Hisazumi, S. Hiya and A. Fukuda, Using
Model-Driven Development Tools for Object-Oriented
Modeling Education, Proceedings of Educators'
Symposium, Florida, United States, 8 pages, Sep. 2013.
10. J. Soler, I. Boada, F. Prados, J. Poch and R. Fabregat, A
Web-based E-learning Tool for UML Class Diagrams,
Proceedings of EDUCON Education Engineering, Madrid,
Spain, pp.973-979, Apr. 2010.
11. S. Ogata, M. Kayama and K. Okano, Approach to Testing
Many State Machine Models in Education, Proceedings ofInternational Conference on Computer Supported
Education, Crete, Greece, pp.481-488, May 2019.
12. T. Takagi, R. Takata, Z. Furukawa, F. Belli and M. Beyazıt,
Metrics for Model-Based Mutation Testing Based on
Place/Transition Nets, Proceedings of Joint Conference ofInternational Workshop on Software Measurement andInternational Conference on Software Process andProduct Measurement, Nara, Japan, pp.7-10, Nov. 2011.

Mr. Akio Usuda
He received the B.S. degree from
Kagawa University in 2021. He is amaster's student in the Graduate
School of Engineering at Kagawa
University. His research interests arein software engineering, particularly
software design.
========================================================================================

Authors Introduction

Dr. Tomohiko Takagi

He received the B.S., M.S. and
Ph.D. degrees from Kagawa
University in 2002, 2004 and2007, respectively. He became an
assistant professor in 2008, and alecturer in 2013 in the Faculty ofEngineeringatKagawaUniversity. Since 2018 he has
been an associate professor in the
Faculty of Engineering and Design
at Kagawa University. His research interests are insoftware engineering, particularly software testing.

86