Execution of Partial State Machine Models
Mojtaba Bagherzadeh, Nafiseh Kahani, Karim Jahed, Juergen Dingel

TL;DR
This paper introduces a framework and tool for executing incomplete, partial models in software development, enabling early defect detection through static analysis, automatic refinement, and input-driven execution.
Contribution
It proposes a novel framework for executing partial models, including static analysis, automatic refinement, and input-driven execution, demonstrated with a UML-RT engine called PMExec.
Findings
Static analysis effectively detects problematic model elements.
Refinement adds decision points with manageable complexity.
Execution overhead remains acceptable for practical use.
Abstract
The iterative and incremental nature of software development using models typically makes a model of a system incomplete (i.e., partial) until a more advanced and complete stage of development is reached. Existing model execution approaches (interpretation of models or code generation) do not support the execution of partial models. Supporting the execution of partial models at the early stages of software development allows early detection of defects, which can be fixed more easily and at a lower cost. This paper proposes a conceptual framework for the execution of partial models, which consists of three steps: static analysis, automatic refinement, and input-driven execution. First, a static analysis that respects the execution semantics of models is applied to detect problematic elements of models that cause problems for the execution. Second, using model transformation techniques,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
