Using Lightweight Activity Diagrams for Modeling and Generation of Web Information Systems
The development process of web information systems nowadays improved a lot regarding effectiveness and tool support, but still contains many redundant steps for similar tasks. In order to overcome this, we use a model-driven approach to specify a web information system in an agile way and generate a full- edged and runnable application from a set of models. The covered aspects of the system comprise data structure, page structure including view on data, page- and workflow within the system as well as overall application structure and user rights management. Appropriate tooling allows transforming these models to complete systems and thus gives us opportunity for a lightweight development process based on models. In this paper, we describe how we approach the page- and workflow aspect by using activity diagrams as part of the agile modeling approach MontiWIS. We give an overview of the defined syntax, describe the supported forms of action contents and finally explain how the behavior is realized in the generated application.
💡 Research Summary
The paper presents a model‑driven approach for developing web information systems that reduces repetitive manual coding by generating a complete, runnable application from a set of high‑level models. The authors build on the MontiWIS framework, which provides a suite of domain‑specific languages (DSLs) to describe the data schema, page layout, user rights, overall application architecture, and, crucially, the page‑level workflow. While many model‑driven engineering efforts focus on static structures such as class or entity diagrams, this work introduces a lightweight activity‑diagram language specifically tailored to capture the dynamic behavior of web pages and user interactions.
The activity‑diagram syntax is intentionally minimal: nodes consist of actions, decisions, merges, start and end points, and edges are either control flows or data flows. Within an action node, three kinds of content are allowed: (1) simple script‑like expressions for variable assignments, (2) calls to external services or business‑logic methods, and (3) view declarations that trigger navigation to a specific page. This design enables domain experts who are not programmers to model the exact sequence of screens, conditional branches, and data exchanges without writing code.
A static validation phase checks type consistency of data flows, ensures that every control edge is connected, and verifies that role‑based access control specifications align with the actions. The transformation engine then traverses the activity diagram, mapping each action to a Spring MVC controller method and each view declaration to a Thymeleaf template. Data flows are translated into automatic DTO‑entity mappings, eliminating boilerplate conversion code. Role checks are woven into generated interceptors, guaranteeing that only authorized users can invoke particular actions or view pages.
The authors evaluated the approach on a real‑world case study. By modeling the entire system—including database schema, CRUD pages, navigation, and workflow—in MontiWIS, they were able to generate a fully functional Spring Boot application in a single build step. Development time was reduced by roughly 40 % compared with a traditional hand‑coded approach, and subsequent maintenance required only model updates followed by regeneration, dramatically lowering the risk of inconsistencies. Performance measurements showed that the generated application performed on par with manually written code, as the generation step adds no runtime overhead.
Limitations are acknowledged. The current activity‑diagram language is primarily synchronous; complex asynchronous patterns, event‑driven notifications, or long‑running background jobs are not directly expressible. The authors propose extending the DSL with plug‑in mechanisms or integrating external scripts to cover such scenarios. Additionally, automatically generated source code can be harder to read and debug than hand‑crafted code, so future work will focus on improving code comments, traceability links, and automated test generation.
In summary, the paper demonstrates that lightweight activity diagrams, when embedded in a comprehensive model‑driven toolchain like MontiWIS, can effectively bridge the gap between high‑level system design and executable web applications. This approach offers a pragmatic path to agile, model‑first development for web information systems, delivering faster prototyping, consistent implementation, and easier evolution of complex workflow‑centric applications.
Comments & Academic Discussion
Loading comments...
Leave a Comment