5 research outputs found

    Reflections on the Birth of Spoofax

    Get PDF

    Architecture design in global and model-centric software development

    Get PDF
    This doctoral dissertation describes a series of empirical investigations into representation, dissemination and coordination of software architecture design in the context of global software development. A particular focus is placed on model-centric and model-driven software development.LEI Universiteit LeidenAlgorithms and the Foundations of Software technolog

    Abstract delta modeling : software product lines and beyond

    Get PDF
    To prevent a large software system from collapsing under its own complexity, its code needs to be well-structured. Ideally we want all code related to a certain feature to be grouped together __called feature modularization__ and code belonging to different features not to mix __ called separation of concerns. But many concerns are known as 'cross-cutting concerns'. By their very nature their implementation needs to be spread around the code base. The software engineering discipline that has the most to gain from those properties is Software Product Line Engineering. It is concerned with the development and maintenance of multiple software systems at the same time, each possessing a different (but often overlapping) set of features. This gives rise to an additional need: The code for a given feature must not only be separated and modular; it also needs to be composable and able to deal gracefully with the presence or absence of other features. This thesis presents Abstract Delta Modeling, a formal framework developed to achieve these goals in software. The thesis is a product of the European HATS project. It formalizes the techniques of delta modeling, the main approach to variability used by HATSAlgorithms and the Foundations of Software technolog

    Building Blocks for Language Workbenches

    No full text
    This dissertation presents research on techniques, methods, and tool support for domain-specific language engineering. Domain-specific language engineering is the discipline of designing, developing, and maintaining domain-specific programming languages. The focus of this thesis is the architecture of language workbenches their underlying technologies. Language workbenches are tools that make language engineering more efficient by providing an integrated development environment for language engineering tasks. In particular, we introduce the Spoofax language workbench, and describe its techniques for high-level, portable language definitions, language composition, interactive support for defining languages, and language testing. Our research focuses on three main themes: applying domain-specific languages for declarative specification of languages and IDEs; supporting declarative syntax definition for generating a parser-based, interactive development environment; and providing interactive meta-tooling support, exploring the application of modern IDE technology to DSL engineering.Software TechnologyElectrical Engineering, Mathematics and Computer Scienc
    corecore