In model engineering, behavioral modeling plays an important role, especially the state-based (Statechart) and process-based (Business Process) formalisms. These models have already appeared in the education at the Department of Measurement and Information Systems – for instance the creation of a model according to a given textual specification can be given as a task for homework.
In teaching of programming, automatic homework evaluation tools have become general. This checking is done based on test cases, therefore dinamically (executing the operation), and are carried out on the basis of spot-checks.
For behavioral modeling tasks there is no fully-fledged solution known so far. However, behavioral models make their static analysis (without running them) possible based on certain aspects due to their characteristics.
The motivation of the topic is that one of the requirements of the System Modeling subject at the Software Engineering B.Sc. course was that students should create a statechart using a particular behavioral modeling technology (Yakindu Statechart Tools). From 2015 spring, according to the new educational order, the subject will be held in the second semester of the course instead of the seventh semester as earlier, therefore an increased number of students is expected to apply, which means a significantly higher number of homeworks that need to be checked.
The aim of the thesis is to make the mass evaluation of the homeworks created by the modeling tool more effective, filtering a priori mistaken solutions, thus partly easing the job of the teachers in the lengthy evaluation process. Working on the thesis I got to know Yakindu Statechart Tools technology on a user and developer level and examined the possibilities of the automated processing, static checking and dynamic running (testing) of the models created by this tool. I designed, realized and evaluated a software that is able to do the automated mass evaluation of Yakindu statecharts using static and dynamic procedures.
To realize the task, I created plugins for the Eclipse integrated development environment that take the steps needed for the procedure by the help of the Eclipse application programming interface (API).