scispace - formally typeset
Journal ArticleDOI

Scaling step-wise refinement

Don Batory, +2 more
- 01 Jun 2004 - 
- Vol. 30, Iss: 6, pp 355-371
Reads0
Chats0
TLDR
The AHEAD (algebraic hierarchical equations for application design) model is presented, that shows how step-wise refinement scales to synthesize multiple programs and multiple noncode representations, and a tool set that supports AHEAD is reviewed.
Abstract
Step-wise refinement is a powerful paradigm for developing a complex program from a simple program by adding features incrementally. We present the AHEAD (algebraic hierarchical equations for application design) model that shows how step-wise refinement scales to synthesize multiple programs and multiple noncode representations. AHEAD shows that software can have an elegant, hierarchical mathematical structure that is expressible as nested sets of equations. We review a tool set that supports AHEAD. As a demonstration of its viability, we have bootstrapped AHEAD tools from equational specifications, refining Java and nonJava artifacts automatically; a task that was accomplished only by ad hoc means previously.

read more

Citations
More filters
Journal ArticleDOI

Formalizing cardinality‐based feature models and their specialization

TL;DR: It is argued that cardinality-based feature models can be interpreted as a special class of context-free grammars, and a semantic interpretation is provided by assigning an appropriate semantics to the language recognized by the corresponding grammar.
Book ChapterDOI

Mapping features to models: a template approach based on superimposed variants

TL;DR: This paper proposes a general template-based approach for mapping feature models to concise representations of variability in different kinds of other models and shows how it can be applied to UML 2.0 activity and class models.
Proceedings ArticleDOI

Granularity in software product lines

TL;DR: This paper analyzes the effects of feature granularity in SPLs and presents a tool, called Colored IDE (CIDE), that allows features to implement coarse- grained and fine-grained extensions in a concise way.
Journal ArticleDOI

Context-oriented Programming

TL;DR: This paper lays the foundations of COP, shows how dynamic layer activation enables multi-dimensional dispatch, illustrates the application of COP by examples in several language extensions, and demonstrates that COP is largely independent of other commitments to programming style.
Journal ArticleDOI

A Classification and Survey of Analysis Strategies for Software Product Lines

TL;DR: A classification of product-line analyses is proposed to enable systematic research and application in software-product-line engineering and develops a research agenda to guide future research on product- line analyses.
References
More filters
Book ChapterDOI

Aspect-Oriented Programming

TL;DR: An analysis of why certain design decisions have been so difficult to clearly capture in actual code is presented, and the basis for a new programming technique, called aspect-oriented programming, that makes it possible to clearly express programs involving such aspects.
Proceedings ArticleDOI

Aspect-oriented programming

TL;DR: This tutorial shows how to use AOP to implement crosscutting conerns in a concise modular way and includes a description of their underlying model, in terms of which a wide range of AOP languages can be understood.
Book

The SPIN Model Checker: Primer and Reference Manual

TL;DR: The SPIN Model Checker as mentioned in this paper is used for both teaching software verification techniques, and for validating large scale applications, and it has been estimated that up to three-quarters of the $400 billion spent annually to hire programmers in the United States is ultimately spent on debugging.