A long and winding road towards modular synthesis

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

This paper offers a personal reflection on a number of attempts over the past decade to apply a variety of approaches to construct a product line for solitaire card games implemented in Java. A product line shares a common set of features developed from a common set of software artifacts. A feature is a unit of functionality within a system that is visible to an end-user and can be used to differentiate members of the product line. The ultimate research goal is to assemble a product line by selecting a configuration of a set of pre-designed modular units and developing new units as necessary for individual members; in short, incorporating configuration into routine development. A secondary goal was to develop a suitable tool chain that could be integrated with existing IDEs to achieve widespread acceptance of the approach. We compare progress against by-hand development in Java. During this period we investigated a number of approaches from the research literature, including components, aspects, and layers; these efforts led to a productive collaboration supported by type theory.

Original languageEnglish
Title of host publicationLeveraging Applications of Formal Methods, Verification and Validation : Foundational Techniques - 7th International Symposium, ISoLA 2016, Proceedings
EditorsTiziana Margaria, Bernhard Steffen
Number of pages15
PublisherSpringer Verlag
Publication date1 Jan 2016
Pages303-317
ISBN (Print)9783319471655
DOIs
Publication statusPublished - 1 Jan 2016
Externally publishedYes
Event7th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation, ISoLA 2016 - Imperial, Corfu, Greece
Duration: 10 Oct 201614 Oct 2016

Conference

Conference7th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation, ISoLA 2016
LandGreece
ByImperial, Corfu
Periode10/10/201614/10/2016
SeriesLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume9952 LNCS
ISSN0302-9743

ID: 230702996