26,098 papers · page 445 of 1,305
Jasper Denkers, Louis van Gool, Eelco Visser
We present a tool architecture that supports migrating custom domain-specific language (DSL) implementations to a language workbench. We demonstrate an implementation of this architecture for models in the domains of defining component interfaces (IDL) and modeling system behavio…
Esther Guerra, Juan de Lara, Marsha Chechik, Rick Salay
Model-driven engineering advocates the use of models to describe and automate many software development tasks. The syntax of modelling languages is defined by meta-models, making them essential artefacts. A combination of product line engineering methods and meta-models has been …
Daco C. Harkes, Elmer van Chastelet, Eelco Visser
To provide empirical evidence to what extent migration of business logic to an incremental computing language (ICL) is useful, we report on a case study on a learning management system. Our contribution is to analyze a real-life project, how migrating business logic to an ICL aff…
Juan de Lara, Esther Guerra, Jörg Kienzle, Yanis Hattab
Model-driven engineering (MDE) promotes models as the principal assets in software projects. Models are built using a modelling language whose syntax is defined by a metamodel. Hence, objects in models are typed by a metamodel class, and this typing relation is static as it is es…
Manuel Leduc, Thomas Degueule, Benoît Combemale
The goal of modular language development is to enable the definition of new languages as assemblies of pre-existing ones. Recent approaches in this area are plentiful but usually suffer from two main problems: either they do not support modular language composition both at the sp…
Benoît Lelandais, Marie-Pierre Oudot, Benoît Combemale
Advanced and mature language workbenches have been proposed in the past decades to develop Domain-Specific Languages (DSL) and rich associated environments. They all come in various flavors, mostly depending on the underlying technological space (e.g., grammarware or modelware).
Mauricio Verano Merino, Jurgen J. Vinju, Tijs van der Storm
Interactive notebooks allow people to communicate and collaborate through a single rich document that might include live code, multimedia, computed results, and documentation, which is persisted as a whole for reproducibility. Notebooks are currently being used extensively in dom…
Johannes Mey, René Schöne, Görel Hedin, Emma Söderberg, Thomas Kühn, Niklas Fors, Jesper Öqvist, Uwe Aßmann
Just like current software systems, models are characterised by increasing complexity and rate of change. Yet, these models only become useful if they can be continuously evaluated and validated. To achieve sufficiently low response times for large models, incremental analysis is…
Dimitri Racordon, Didier Buchs
Aliasing is a vital concept of programming, but it comes with a plethora of challenging issues, such as the problems related to race safety. This has motivated years of research, and promising solutions such as ownership or linear types have found their way into modern programmin…
Yann Régis-Gianas, Nicolas Jeannerod, Ralf Treinen
The POSIX shell language defies conventional wisdom of compiler construction on several levels: The shell language was not designed for static parsing, but with an intertwining of syntactic analysis and execution by expansion in mind. Token recognition cannot be specified by regu…
Benoît Ries, Alfredo Capozucca, Nicolas Guelfi
This tool paper presents the design and tool-support of Messir, an approach centered on textual domain-specific languages supported by our open-source UML requirements engineering tool, named Excalibur. The novelty of our approach is the actual integration in a single workbench (…
Martin C. Rinard
Software correctness and security have been a central issue in the field for decades. Researchers have developed a wide range of approaches to these problems, none of which has solved these problems to date.
Alexander Sakharov
Regular expressions are extended by splitting the terminals into left brackets, right brackets, and neutral terminals. These extended regular expressions define a superset of regular languages. Their languages are parsed in linear time in the size of the input. The addition of an…
Filip Strömbäck
The ability to extend programming languages with domain-specific concepts is becoming an essential technology for developing complex software. However, many domain-specific languages are implemented in a way that interact poorly with the host language. There are a number of tools…
Ulyana Tikhonova, Jouke Stoel, Tijs van der Storm, Thomas Degueule
Live modeling enables modelers to incrementally update models as they are running and get immediate feedback about the impact of their changes. Changes introduced in a model may trigger inconsistencies between the model and its run-time state (e.g., deleting the current state in …
Vadim Zaytsev
Compiler construction is one of the oldest areas of software engineering, yet despite its maturity it has underdeveloped sides such as compiler testing. There exist many disparate methods for testing parsers, optimisers and other components, but no unified methodology that consum…
Pavel S. Andrianov, Vadim S. Mutilin, Mikhail U. Mandrykin, Anton A. Vasilyev
Abstract elided by the publisher.
Stavros Aronis, Bengt Jonsson, Magnus Lång, Konstantinos Sagonas
Abstract elided by the publisher.
A. R. Balasubramanian, Nathalie Bertrand, Nicolas Markey
Reconfigurable broadcast networks provide a convenient formalism for modelling and reasoning about networks of mobile agents broadcasting messages to other agents following some (evolving) communication topology. The parameterized verification of such models aims at checking whet…
Kshitij Bansal, Eric Koskinen, Omer Tripp
Reasoning about commutativity between data-structure operations is an important problem with applications including parallelizing compilers, optimistic parallelization and, more recently, Ethereum smart contracts. There have been research results on automatic generation of commut…