6533b86efe1ef96bd12cb7bc
RESEARCH PRODUCT
From Live Sequence Charts to implementation : a study of the LSC specification, the execution of behavioral requirements and exploring the possibilities to use an LSC model to generate Java code
Thomas HommeJon Erik Ramslandsubject
VDP::Matematikk og naturvitenskap: 400::Informasjons- og kommunikasjonsvitenskap: 420::Teoretisk databehandling programmeringsspråk og -teori: 421IKT590VDP::Matematikk og naturvitenskap: 400::Informasjons- og kommunikasjonsvitenskap: 420::Algoritmer og beregnbarhetsteori: 422VDP::Matematikk og naturvitenskap: 400::Informasjons- og kommunikasjonsvitenskap: 420::Simulering visualisering signalbehandling og bildeanalyse: 429description
Masteroppgave i informasjons- og kommunikasjonsteknologi 2003 - Høgskolen i Agder, Grimstad In the article ”From Play-In Scenarios to Code: An Achievable Dream” [8] D.Harel outlines an exiting new way of developing software with the aid of the new and expressively powerful language of live sequence charts (LSC) [1] for describing message sequencing. The language of LSC is a highly visual approach for modeling behavioral requirements and is based on message sequence charts [13]. LSC introduces the ability to specify mandatory behavior in charts through the notion of “liveness”, events that must happen. The development process described involves using a friendly capture method called “play-in” to create the behavioral requirements in the formal LSC language. Algorithms are then used to synthesize system behavior parts from the requirements and the system can in turn be verified against the requirements. Cyclic synthesis and verification is used until a sufficient system model has been created. From the system model, code and final implementation can be generated. This thesis is a study of the language of LSC and how code generation can be applied in different stages of this development process. We present the constructs and elements of the LSC language and further extensions of the specification. The method for executing LSCs called “play-out” is also presented. Three applications of code generation in the development process are introduced. We explore the possibility synthesizing system behavior in the form of statecharts from LSCs, and from there using developed tools to generate the actual code. Only an outline of a synthesis algorithm is available, and we present the main aspects of it. The “playout” methodology is a way of executing LSCs. We outline a methodology for integrating a “play-out” engine into a partial implemented system in order to execute it as it was fully operational. This allows us to test the behavioral requirements or utilize the result as a final implementation. We also present a way of generating code directly from an LSC specification with certain constraints, and thus circumventing the need for a system model with behavior. We have developed a tool called “LSC Visualizer”, which is able to read LSCs stored in our own XML format. We have also developed a prototype “play-out” engine that can be coupled with existing system models as well as a prototype for generating code directly from an LSC specification. An algorithm for building an event-tree that describes the partial order has been constructed, and is utilized by the “LSC Visualizer” and both prototypes.
| year | journal | country | edition | language |
|---|---|---|---|---|
| 2003-01-01 |