Software development may suffer from considerable accidental complexity caused by the adopted technology. DSLs are a form of reducing such a complexity, moving the focus to the essential complexity of software. DSLs may also facilitate non-programmers to take part in the development of systems.
My PhD thesis addressed the development of APIs for Object-Oriented Frameworks that allow instantiation code to closely resemble domain concepts, and in turn, facilitate the definition of a DSL for developing applications based on a given framework.
Click on the icon to see related publications.
Object-Oriented Framework + Specialization Layer
- Automating the construction of domain-specific modeling languages for object-oriented frameworks.
André L. Santos, Kai Koskimies, Antónia Lopes
J. Syst. Softw. 2010 - Modular Hot Spots: A Pattern Language for Developing High-Level Framework Reuse Interfaces using Aspects.
André L. Santos, Kai Koskimies
EuroPLoP 2008 - Automated Domain-Specific Modeling Languages for Generating Framework-Based Applications.
André L. Santos, Kai Koskimies, Antónia Lopes
SPLC 2008 - Framework specialization aspects.
André L. Santos, Antónia Lopes, Kai Koskimies
AOSD 2007
A technique to enrich a framework with a layer of specialization aspects – entities that form a uniform interface for fine-grained instantiation. This layer models the concepts of an application based on the framework, and hence, it embodies the abstract syntax of a modeling language for the framework domain. I’ve proposed Aspect-Oriented Programming for implementing the specialization layer, demonstrating how to achieve it for Java frameworks with AspectJ.
The ALFAMA workbench is a prototype that automatizes the definition of the abstract syntax of a modeling language in EMF from the specialization layer.
Configuration of plugin-based systems using feature models
- Variability management of plugin-based systems using feature models.
André L. Santos
Softw. Pract. Exp. 2017
An approach for managing the variability offered by the plugin-based system of Eclipse (Equinox/OGSi) by means of feature models – these are manipulated as a technical DSL to define valid system configurations.
XDiagram
- Xdiagram: a declarative textual DSL for describing diagram editors (tool demo).
André L. Santos, Eduardo Gomes
SLE 2016
A technical DSL to define graphical DSLs in the ecosystem of Eclipse (EMF).