<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Using Model-Driven Development Tools for Ob ject-Oriented Modeling Education</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Seiko Akayama</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Kenji Hisazumi</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Syuhei Hiya</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Akira Fukuda</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Faculty of Information Science and Electrical Engineering, Kyushu University</institution>
          ,
          <addr-line>Fukuoka</addr-line>
          ,
          <country country="JP">Japan</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Graduate School of Information Science and Electrical Engineering, Kyushu University</institution>
          ,
          <addr-line>Fukuoka</addr-line>
          ,
          <country country="JP">Japan</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>System LSI Research Center, Kyushu University</institution>
          ,
          <addr-line>Fukuoka</addr-line>
          ,
          <country country="JP">Japan</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Model-driven development (MDD) can help verify the accuracy of models and generate source codes, which allows a programmer to minimize the development time required to evaluate the software so that he or she can focus on the modeling process. Thus, modeling should be taught with MDD because it allows students to acquire modeling skills in a short period of time. We conducted a course to teach UML modeling to two groups. The rst group used the MDD tool, while the second did not. We elucidate the advantages of each case with and without the use of the MDD tool. Based on our results, we propose the effective use of MDD tools in UML modeling education.</p>
      </abstract>
      <kwd-group>
        <kwd>UML (Uni ed Modeling Language)</kwd>
        <kwd>MDD (Model-driven development)</kwd>
        <kwd>object-orientation</kwd>
        <kwd>Modeling</kwd>
        <kwd>learning support</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Object-oriented modeling is widely used during embedded software development
and is taught in many universities. Modeling ensures good quality and
productivity during software engineering [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Thus, software development is shifting
from manual programming to model-driven development (MDD) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>However, it is difficult to teach modeling. In the early stages of the learning
process, students have questions such as \Why do we need modeling"? \How do
we model"? and \Is this model equivalent to the speci cation"?</p>
      <p>MDD is used to verify the accuracy of models and generate source code.
This allows a programmer to minimize development time so that he or she can
focus on the modeling process. Therefore, modeling should be taught with MDD,
because it allows students to acquire modeling skills in a short period of time.</p>
      <p>
        Previous studies based on the research on MDD and education divided into
three categories: studies on MDD education [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ][
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], such as meta-model and
mechanisms of MDD; studies on developing MDD in system development exercises
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ][
        <xref ref-type="bibr" rid="ref6">6</xref>
        ][
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]; and studies on software modeling education using MDD [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ][
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>
        One issue that arises when we use the MDD method for modeling education
is that students tend to neglect the quality of the model because they focus on
completing the functional aspects that can be evaluated with the MDD [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>The purpose of this study is to demonstrate the effectiveness of MDD tools
for modeling. From these results, we propose the effective use of MDD tools
in UML modeling education. Note that, in this paper, tools with the ability to
automatically generate codes from UML models are called MDD tools.</p>
      <p>In this paper, we discuss the following research questions.</p>
      <p>When using MDD tools in modeling education for novices,
RQ1 what is the difference in the process of creating the model?
RQ2 what is the difference in model quality?</p>
      <p>
        Further, model quality is of three types (syntactic, semantic, and pragmatic)
[
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>We conducted a course to educate two groups in UML modeling. The rst
group members used the MDD tool, while the second group did not. We clarify
the advantages of each case with and without the use of MDD tools. From these
results, we propose the effective use of MDD tools in UML modeling education.
2</p>
    </sec>
    <sec id="sec-2">
      <title>MDD Tools</title>
      <p>
        There are some modeling education studies using BridgePoint as an MDD tool
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ][
        <xref ref-type="bibr" rid="ref8">8</xref>
        ][
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. However, to the best of our knowledge, when learners create a model
using BridgePoint, they require a long time to learn the action language that
is required to de ne the state actions. Therefore, learners nd it difficult to
focus on creating state machine diagrams and class diagrams. In order to de ne
actions easily, we have developed a Domain-Speci c Modeling (DSM) language
for modeling education using the social DSL platform \clooca [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]."
      </p>
      <p>This platform allows making class diagrams and state machine diagrams. A
class diagram consists of classes and relations, while state machine diagrams
consist of states (including an initial state), event transmission states, events,
and actions.</p>
      <p>In order to collect the change history of the model, a model repository is
created. By storing models in the model repository when a new or additional
changed model is created, learners can see the past versions of models later. The
model repository is an additional function of the MDD tool.
3
3.1</p>
    </sec>
    <sec id="sec-3">
      <title>Experiment</title>
      <sec id="sec-3-1">
        <title>Experimental Description</title>
        <p>We performed experiments on subjects divided into two groups. The rst group
used the MDD tool (experimental group) and is called the with-MDD group, and
the second group did not use it (control group) and is called the without-MDD
group.</p>
        <p>For the with-MDD group, we prepared an MDD tool that can generate code,
and group members were allowed to check their operations at any time. In
contrast, in the without-MDD group, we prepared the same tool, but group members
were allowed to check operations only once at end of the exercise.
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Experimental Procedure</title>
        <p>The number of subjects was 12, and the subjects were well-versed with JAVA
and UML notation. The educational items used in the experiment are listed in
Table 1.
The integrated exercise was aimed at developing an auto transport robot for a
ctitious transportation company. The development objective was to develop a
robot vehicle using LEGO Mindstorms NXT (Figure 1). The automated
operations were transportation, forwarding, and out-of-service. These three operations
were affected by the presence or absence of delivery destinations or cargoes. A
wall detector (sonar sensor) monitored the delivery destinations while a bumper
(touch sensor) detected the forwarding destination. The task of the robot was to
trace a black line along a course using a line monitor (light sensor) to make stops
at the delivery destination, forwarding destination, or the garage. The robot had
to behave appropriately at each point and deliver the cargo.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Results</title>
      <sec id="sec-4-1">
        <title>What is the difference in the process of creating the model?</title>
        <p>Typical examples of class diagrams of the with- and without-MDD groups are
shown in Fig. 2 and Fig. 3.</p>
        <p>Subjects of the with- and without-MDD groups were respectively labeled
A-F. Table 2 summarizes the number and kind of class categories.</p>
        <p>In the without-MDD group, the subjects had classes related to only services
(examples: transportation, forwarding, and out-of-service) with the exception
of a class for controlling the whole system. In contrast, the with-MDD group
had numerous classes related to functions (examples: line trace, edge change,
and rotation), and there were four class diagrams which did not include a class
related to services.</p>
        <p>When subjects created the integrated exercise model, four subjects reused the
basic exercise model in the with-MDD group; however, no subjects reused models
in the without-MDD group. In order to analyze the process of creating the model,
exercise time divided into three: rst, middle, and last. Table 3 illustrates the
number of classes added, modi ed, and deleted at the time of the rst, middle,
and last.
In the without-MDD group, the proportion of the number of added and
deleted classes reduced in the last, while the proportion of the number of states
added and modi ed increased in the middle and last. Thus, it is assumed that
subjects xed the class structure by adding and deleting classes at rst and
then designed the behavior model by adding and modifying states. On the other
hand, in the with-MDD group, subjects also added and deleted classes in the
last. Therefore, the with-MDD group changed the class structure until they
reached the last. In the with-MDD group, subjects tended to modify a functional
model and then created a static structure of the system. In contrast, in the
without-MDD group, subjects created a new structure model and then created
the behavior model. Therefore, when the subjects did not use MDD, they tended
to create a model by implementing a top{down approach; however, when they
used MDD, they did so using a bottom{up approach.
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>What is the difference in model quality?</title>
        <p>Class diagrams Table 4 shows the number of errors in the class diagrams.
Each subject created one class, and therefore, the maximum number of errors is
six.</p>
        <p>In six of the seven items, there were many errors in the with-MDD group. All
members of the without-MDD group committed the error \One class has several
responsibilities." The model quality of the classes was high for the
withoutMDD group. However, no members of the without-MDD group could separate
the functions of the class and no member created a function class.</p>
        <p>We think that if the models were not executable, the subjects would have
focused on operation models at a higher level of abstraction. It is difficult to
model functions that have a low level of abstraction such as a running style.
State machine diagrams Typical examples of state machine diagrams of the
with- and without-MDD groups are shown in Fig. 4. Table 5 shows the number
of errors in the state machine diagrams.</p>
        <p>The with-MDD group had \No states names" and \State names
inappropriate" errors such as a or b.</p>
        <p>
          We evaluated the achievement rate for the integrated exercise as an
evaluation function for measuring the semantic quality. Table 6 lists the achievement
rates for the integrated exercise. The with-MDD group had a high achievement
rate because they were able to test the models.
Currently, many educational modeling courses apply a top{down approach. In
contrast, successful MDD practice tends to be driven from the bottom{up
approach. Therefore, Whittle et al. suggested that modeling should be taught with
a bottom-up approach rather than a top{down one [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. In this study, we
assumed that by limiting the number of times operations can be checked and by
automatic code generation, change in the approach (bottom{up and top{down)
to development can be encouraged. We believe that it might lead to improved
modeling skills by teaching bottom-up and top-down approaches on both sides.
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>We conducted a course to educate two groups in UML modeling. Subjects from
one group used the MDD tool, while those from the other group did not. We
veri ed the advantages of each case, with and without the use of the MDD tool.
The results showed that when subjects did not use MDD, they tended to create
models using a top{down approach and gave appropriate names to classes and
states, and that when they used MDD, they tended to create models using a
bottom{up approach and achieved a high achievement rate in the exercise.</p>
      <p>Based on these results, we believe that by limiting the number of times
operations can be checked and by automatic code generation, a change in the approach
(top{down or bottom{up) to development of models can be encouraged. In the
future, we intend to clarify the number and timing of optimal operation checks.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Lethbridge</surname>
            ,
            <given-names>T.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mussbacher</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Forward</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Badreddin</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>Teaching uml using umple: Applying model-oriented programming in the classroom</article-title>
          .
          <source>In: 24th IEEE-CS Conference on Software Engineering Education and Training</source>
          . (
          <year>2011</year>
          )
          <volume>421</volume>
          {
          <fpage>428</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Liggesmeyer</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Trapp</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>Trends in embedded software engineering</article-title>
          .
          <source>IEEE Software 26(3)</source>
          (
          <year>2009</year>
          )
          <volume>19</volume>
          {
          <fpage>25</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Gjosater</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Prinz</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Teaching model driven language handling</article-title>
          .
          <source>Electronic Communications of the EASST</source>
          <volume>34</volume>
          (
          <year>2010</year>
          )
          <volume>1</volume>
          {
          <fpage>10</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Tekinerdogan</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Experiences in teaching a graduate course on model-driven software development</article-title>
          .
          <source>Computer Science Education</source>
          <volume>21</volume>
          (
          <issue>4</issue>
          ) (
          <year>2011</year>
          )
          <volume>363</volume>
          {
          <fpage>387</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Burden</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heldal</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Siljamaki</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Executable and translatable uml - how difficult can it be</article-title>
          ? In: APSEC'
          <fpage>11</fpage>
          . (
          <year>2011</year>
          )
          <volume>114</volume>
          {
          <fpage>121</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Henry</surname>
            ,
            <given-names>S.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gardner</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Boughton</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Executable/translatable uml in computing education</article-title>
          .
          <source>In: Proc. Sixth Australasian Computing Education Conference</source>
          . (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Khmelevsky</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hains</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Automatic code generation within student's software engineering projects</article-title>
          .
          <source>In: Proceedings of the Seventeenth Western Canadian Conference on Computing Education. WCCCE '12</source>
          , New York, NY, USA, ACM (
          <year>2012</year>
          )
          <volume>29</volume>
          {
          <fpage>33</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Starrett</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Teaching uml modeling before programming at the high school level</article-title>
          .
          <source>In: Proc. IEEE International Conference on Advanced Learning Technologies, IEEE Computer Society</source>
          (
          <year>2007</year>
          )
          <volume>713</volume>
          {
          <fpage>714</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Akayama</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kuboaki</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hisazumi</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Futagami</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kitasuka</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Development of a modeling education program for novices using model-driven development</article-title>
          .
          <source>In: Proc. 2012 Workshop on Embedded and Cyber- Physical Systems Education, ACM</source>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Lindland</surname>
            ,
            <given-names>O.I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sindre</surname>
          </string-name>
          , G., S lvberg, A.:
          <article-title>Understanding quality in conceptual modeling</article-title>
          .
          <source>IEEE Softw</source>
          .
          <volume>11</volume>
          (
          <issue>2</issue>
          ) (
          <year>March 1994</year>
          )
          <volume>42</volume>
          {
          <fpage>49</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>11. Technical Rockstars: clooca. http://www.clooca.com</mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Whittle</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hutchinson</surname>
          </string-name>
          , J.:
          <article-title>Mismatches between industry practice and teaching of model-driven software development</article-title>
          .
          <source>In: Models in Software Engineering. Volume 7167 of Lecture Notes in Computer Science</source>
          . Springer Berlin Heidelberg (
          <year>2012</year>
          )
          <volume>40</volume>
          {
          <fpage>47</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>