Please use this identifier to cite or link to this item: https://scholarbank.nus.edu.sg/handle/10635/16073
DC FieldValue
dc.titleDebugging statecharts models via model-code tracebility
dc.contributor.authorGUO LIANG
dc.date.accessioned2010-04-08T11:00:44Z
dc.date.available2010-04-08T11:00:44Z
dc.date.issued2008-08-05
dc.identifier.citationGUO LIANG (2008-08-05). Debugging statecharts models via model-code tracebility. ScholarBank@NUS Repository.
dc.identifier.urihttp://scholarbank.nus.edu.sg/handle/10635/16073
dc.description.abstractModel-driven software development involves constructing behavioral models from informal English requirements. These models are then used to guide software construction. The compilation of behavioral models into software is the topic of many existing research works. There also exist a number of UML-based modeling tools which support such model compilation. In this thesis, we show how Statechart models can be validated/debugged by (a) generating code from the Statechart models, (b) employing established software debugging methods like program slicing on the generated code, and (c) relating the program slice back to the Statechart level.First, our study is presented concretely in terms of dynamic slicing of sequential Java code produced from Statechart models. The slice produced at the code level is mapped back to the model level for enhanced design comprehension. We use the open-source JSlice tool for dynamic slicing of Java programs in our experiments. We present results on a wide variety of real-life control systems which are modeled as Statecharts (from the informal English requirements) and debugged using our methodology. We feel that our debugging methodology o, ts in well with design o, ows in model-driven software development.The existing dynamic slicing tool JSlice only supports basic features of Java languages. However, most real programs utilize advanced Java language features including exception, reflection, and multi-threading. We further extend JSlice tool to support full Java language by integrating the above three features into it. Meanwhile, with the support of multi-threading in the concrete code-level analysis tool JSlice, we enhance our code generation methodology of Statechart models to produce multi-threaded Java code. Compared to sequential code generated, multi-threaded program lifts the restriction imposed on Statechart behavior where concurrent states are serialized in sequential programs. With the support of advanced language features, both code generation tool and JSlice greatly extend their usability.
dc.language.isoen
dc.subjectDebugging, Statechart, Model, Slicing, Association, Tracebility
dc.typeThesis
dc.contributor.departmentCOMPUTER SCIENCE
dc.contributor.supervisorABHIK ROYCHOUDHURY
dc.description.degreeMaster's
dc.description.degreeconferredMASTER OF SCIENCE
dc.identifier.isiutNOT_IN_WOS
Appears in Collections:Master's Theses (Open)

Show simple item record
Files in This Item:
File Description SizeFormatAccess SettingsVersion 
main.pdf572.13 kBAdobe PDF

OPEN

NoneView/Download

Google ScholarTM

Check


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.