Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Danny M. Groenewegen is active.

Publication


Featured researches published by Danny M. Groenewegen.


Software and Systems Modeling | 2010

Code generation by model transformation: a case study in transformation modularity

Zef Hemel; Lennart C. L. Kats; Danny M. Groenewegen; Eelco Visser

The realization of model-driven software development requires effective techniques for implementing code generators for domain-specific languages. This paper identifies techniques for improving separation of concerns in the implementation of generators. The core technique is code generation by model transformation, that is, the generation of a structured representation (model) of the target program instead of plain text. This approach enables the transformation of code after generation, which in turn enables the extension of the target language with features that allow better modularity in code generation rules. The technique can also be applied to ‘internal code generation’ for the translation of high-level extensions of a DSL to lower-level constructs within the same DSL using model-to-model transformations. This paper refines our earlier description of code generation by model transformation with an improved architecture for the composition of model-to-model normalization rules, solving the problem of combining type analysis and transformation. Instead of coarse-grained stages that alternate between normalization and type analysis, we have developed a new style of type analysis that can be integrated with normalizing transformations in a fine-grained manner. The normalization strategy has a simple extension interface and integrates non-local, context-sensitive transformation rules. We have applied the techniques in a realistic case study of domain-specific language engineering, i.e. the code generator for WebDSL, using Stratego, a high-level transformation language that integrates model-to-model, model-to-code, and code-to-code transformations.


conference on object-oriented programming systems, languages, and applications | 2008

WebDSL: a domain-specific language for dynamic web applications

Danny M. Groenewegen; Zef Hemel; Lennart C. L. Kats; Eelco Visser

WebDSL is a domain-specific language for the implementation of dynamic web applications with a rich datamodel. It consists of a core language with constructs to define entities, pages and business logic. Higher-level abstractions, modeling access control and workflow, are defined in a modular fashion as extensions of the core language.


Journal of Symbolic Computation | 2011

Static consistency checking of web applications with WebDSL

Zef Hemel; Danny M. Groenewegen; Lennart C. L. Kats; Eelco Visser

Modern web application development frameworks provide web application developers with highlevel abstractions to improve their productivity. However, their support for static verification of applications is limited. Inconsistencies in an application are often not detected statically, but appear as errors at run-time. The reports about these errors are often obscure and hard to trace back to the source of the inconsistency. A major part of this inadequate consistency checking can be traced back to the lack of linguistic integration of these frameworks. Parts of an applications are defined with separate domain-specific languages, which are not checked for consistency with the rest of the application. Examples include regular expressions, query languages and XMLbased languages for definition of user interfaces. We give an overview and analysis of typical problems arising in development with frameworks for web application development, with Ruby on Rails, Lift and Seam as representatives. To remedy these problems, in this paper, we argue that domain-specific languages should be designed from the ground up with static verification and cross-aspect consistency checking in mind, providing linguistic integration of domain-specific sub-languages. We show how this approach is applied in the design of WebDSL, a domain-specific language for web applications, by examining how its compiler detects inconsistencies not caught by web frameworks, providing accurate and clear error messages. Furthermore, we show how this consistency analysis can be expressed with a declarative rule-based approach using the Stratego transformation language. Preprint accepted for publication in Journal of Symbolic Computation, special issue about Automated Specification and Verification of Web Systems, Elsevier 2010


software language engineering | 2013

A Language Independent Task Engine for Incremental Name and Type Analysis

Guido Wachsmuth; Gabriël D. P. Konat; Vlad A. Vergu; Danny M. Groenewegen; Eelco Visser

This paper is a pre-print of: Guido H. Wachsmuth, Gabriel D.P. Konat, Vlad A. Vergu, Danny M. Groenewegen, Eelco Visser. A Language Independent Task Engine for Incremental Name and Type Analysis. In: Martin Erwig, Richard F. Paige, Eric Van Wyk, editors, Software Language Engineering, Sixth International Conference, SLE 2013, Indianapolis, USA, October, 2013, Revised Selected Papers. Lecture Notes in Computer Science 8225, Springer Verlag 2013. Doi: 10.1007/978-3-319-02654-1_15 DEs depend on incremental name and type analysis for responsive feedback for large projects. In this paper, we present a language-independent approach for incremental name and type analysis. Analysis consists of two phases. The first phase analyzes lexical scopes and binding instances and creates deferred analysis tasks. A task captures a single name resolution or type analysis step. Tasks might depend on other tasks and are evaluated in the second phase. Incrementality is supported on file and task level. When a file changes, only this file is recollected and only those tasks are reevaluated, which are affected by the changes in the collected data. The analysis does neither re-parse nor re-traverse unchanged files, even if they are affected by changes in other files. We implemented the approach as part of the Spoofax Language Workbench and evaluated it for the WebDSL web programming language.


IEEE Software | 2010

Separation of Concerns and Linguistic Integration in WebDSL

Danny M. Groenewegen; Zef Hemel; Eelco Visser

WebDSL is a domain-specific language for Web information systems that maintains separation of concerns while integrating its sublanguages, enabling consistency checking and reusing common language concepts.


Software and Systems Modeling | 2013

Integration of data validation and user interface concerns in a DSL for web applications

Danny M. Groenewegen; Eelco Visser

Data validation rules constitute the constraints that data input and processing must adhere to in addition to the structural constraints imposed by a data model. Web modeling tools do not make all types of data validation explicit in their models, hampering full code generation and model expressivity. Web application frameworks do not offer a consistent interface for data validation. In this paper, we present a solution for the integration of declarative data validation rules with user interface models in the domain of web applications, unifying syntax, mechanisms for error handling, and semantics of validation checks, and covering value well-formedness, data invariants, input assertions, and action assertions. We have implemented the approach in WebDSL, a domain-specific language for the definition of web applications.


european conference on object-oriented programming | 2016

IceDust: Incremental and Eventual Computation of Derived Values in Persistent Object Graphs.

Daco C. Harkes; Danny M. Groenewegen; Eelco Visser

Derived values are values calculated from base values. They can be expressed in object-oriented languages by means of getters calculating the derived value, and in relational or logic databases by means of (materialized) views. However, switching to a different calculation strategy (for example caching) in object-oriented programming requires invasive code changes, and the databases limit expressiveness by disallowing recursive aggregation. In this paper, we present IceDust, a data modeling language for expressing derived attribute values without committing to a calculation strategy. IceDust provides three strategies for calculating derived values in persistent object graphs: Calculate-on-Read, Calculate-on-Write, and Calculate-Eventually. We have developed a path-based abstract interpretation that provides static dependency analysis to generate code for these strategies. Benchmarks show that different strategies perform better in different scenarios. In addition we have conducted a case study that suggests that derived value calculations of systems used in practice can be expressed in IceDust.


conference on object-oriented programming systems, languages, and applications | 2009

Weaving web applications with WebDSL: (demonstration)

Danny M. Groenewegen; Eelco Visser

WebDSL is a domain-specific language for the development of web applications that integrates data-models, user-interface models, actions, validation, access control, and workflow. The compiler verifies the consistency of applications and generates complete implementations in Java or Python. We illustrate the key concepts of the language with a small web application.


conference on object oriented programming systems languages and applications | 2008

When Frameworks Let You Down: Platform-Imposed Constraints on the Design and Evolution of Domain-Specific Languages

Danny M. Groenewegen; Zef Hemel; Lennart C. L. Kats; Eelco Visser


Technical Report Series TUD-SERG-2008-021 | 2008

Declarative Access Control for WebDSL: Combining Language Integration and Separation of Concerns

Danny M. Groenewegen; Eelco Visser

Collaboration


Dive into the Danny M. Groenewegen's collaboration.

Top Co-Authors

Avatar

Eelco Visser

Delft University of Technology

View shared research outputs
Top Co-Authors

Avatar

Zef Hemel

Delft University of Technology

View shared research outputs
Top Co-Authors

Avatar

Lennart C. L. Kats

Delft University of Technology

View shared research outputs
Top Co-Authors

Avatar

Daco C. Harkes

Delft University of Technology

View shared research outputs
Top Co-Authors

Avatar

Gabriël D. P. Konat

Delft University of Technology

View shared research outputs
Top Co-Authors

Avatar

Guido Wachsmuth

Delft University of Technology

View shared research outputs
Top Co-Authors

Avatar

Vlad A. Vergu

Delft University of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge