Results 1  10
of
225
Scaling StepWise Refinement
 IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
, 2004
"... Stepwise 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 stepwise refinement scales to synthesize multiple programs and mu ..."
Abstract

Cited by 373 (34 self)
 Add to MetaCart
Stepwise 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 stepwise 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.
Larch: Languages and tools for formal specification
 TEXTS AND MONOGRAPHS IN COMPUTER SCIENCE
, 1993
"... Building software often seems harder than it ought to be. It takes longerthan expected, the software's functionality and performance are not as wonderful as hoped, and the software is not particularly malleable or easyto maintain. It does not have to be that way. This book is about programmin ..."
Abstract

Cited by 322 (9 self)
 Add to MetaCart
Building software often seems harder than it ought to be. It takes longerthan expected, the software's functionality and performance are not as wonderful as hoped, and the software is not particularly malleable or easyto maintain. It does not have to be that way. This book is about programming, and the role that formal specificationscan play in making programming easier and programs better. The intended audience is practicing programmers and students in undergraduate or basicgraduate courses in software engineering or formal methods. To make the book accessible to such an audience, we have not presumed that thereader has formal training in mathematics or computer science. We have, however, presumed some programming experience.
A Formal Approach to Software Architecture
, 1997
"... As software systems become more complex, the overall system structureor software architecturebecomes a central design problem. A system's architecture provides a model of the system that suppresses implementation detail, allowing the architect to concentrate on the analyses and decisions ..."
Abstract

Cited by 308 (15 self)
 Add to MetaCart
As software systems become more complex, the overall system structureor software architecturebecomes a central design problem. A system's architecture provides a model of the system that suppresses implementation detail, allowing the architect to concentrate on the analyses and decisions that are most crucial to structuring the system to satisfy its requirements. Unfortunately, current representations of software architecture are informal and ad hoc. While architectural concepts are often embodied in infrastructure to support specific architectural styles and in the initial conceptualization of a system configuration, the lack of an explicit, independentlycharacterized architecture or architectural style significantly limits the benefits of software architectural design in current practice. In this dissertation, I show that an Architecture Description Language based on a formal, abstract model of system behavior can provide a practical means of describing and analyzing softwar...
The monadic secondorder logic of graphs I. Recognizable sets of Finite Graphs
 Information and Computation
, 1990
"... The notion of a recognizable sef offinite graphs is introduced. Every set of finite graphs, that is definable in monadic secondorder logic is recognizable, but not vice versa. The monadic secondorder theory of a contextfree set of graphs is decidable. 0 19W Academic Press. Inc. This paper begins ..."
Abstract

Cited by 216 (17 self)
 Add to MetaCart
The notion of a recognizable sef offinite graphs is introduced. Every set of finite graphs, that is definable in monadic secondorder logic is recognizable, but not vice versa. The monadic secondorder theory of a contextfree set of graphs is decidable. 0 19W Academic Press. Inc. This paper begins an investigation of the monadic secondorder logic of graphs and of sets of graphs, using techniques from universal algebra, and the theory of formal languages. (By a graph, we mean a finite directed hyperedgelabelled hypergraph, equipped with a sequence of distinguished vertices.) A survey of this research can be found in Courcelle [ 111. An algebraic structure on the set of graphs (in the above sense) has been proposed by Bauderon and Courcelle [2,7]. The notion of a recognizable set of finite graphs follows, as an instance of the general notion of recognizability introduced by Mezei and Wright in [25]. A graph can also be considered as a logical structure of a certain type. Hence, properties of graphs can be written in firstorder logic or in secondorder logic. It turns out that monadic secondorder logic, where quantifications over sets of vertices and sets of edges are used, is a reasonably powerful logical language (in which many usual graph properties can be written), for which one can obtain decidability results. These decidability results do not hold for secondorder logic, where quantifications over binary relations can also be used. Our main theorem states that every definable set of finite graphs (i.e., every set that is the set of finite graphs satisfying a graph property expressible in monadic secondorder logic) is recognizable. * This work has been supported by the “Programme de Recherches Coordonntes: Mathematiques et Informatique.”
A Modular Module System
 Journal of Functional Programming
, 2000
"... A simple implementation of an SMLlike module system is presented as a module parameterized by a base language and its typechecker. This implementation is useful both as a detailed tutorial on the HarperLillibridgeLeroy module system and its implementation, and as a constructive demonstration of ..."
Abstract

Cited by 82 (0 self)
 Add to MetaCart
A simple implementation of an SMLlike module system is presented as a module parameterized by a base language and its typechecker. This implementation is useful both as a detailed tutorial on the HarperLillibridgeLeroy module system and its implementation, and as a constructive demonstration of the applicability of that module system to a wide range of programming languages.
Structured Development of Problem Solving Methods
 IEEE Transactions on Knowledge and Data Engineering
, 2001
"... Problem solving methods (PSMs) are domainindependent reasoning components, which specify patterns of behavior which can be reused across applications. While the availability of extensive PSM libraries and the emerging consensus on PSM specification languages indicate the maturity of the field, a nu ..."
Abstract

Cited by 73 (33 self)
 Add to MetaCart
Problem solving methods (PSMs) are domainindependent reasoning components, which specify patterns of behavior which can be reused across applications. While the availability of extensive PSM libraries and the emerging consensus on PSM specification languages indicate the maturity of the field, a number of important research issues are still open. In particular, very little progress has been achieved on foundational and methodological issues. Existing libraries of PSMs lack a clear theoretical basis and only provide weak support for the method development process, usually in the form of informal guidelines. In this paper we will address these issues by illustrating a framework which characterizes PSMs in terms of problem commitments, problemsolving paradigms and domain assumptions. This framework provides i) a theoretical foundation for situating PSM research and individual PSMs, as well as ii) an organization which allows us to characterize method development and selection as a process of navigating through a threedimensional space (defined by the three components of our framework). Individual moves through this space are specified by means of adapters. In the paper we will illustrate these ideas in detail, with examples taken from parametric design problem solving. 1.
Objects and Classes, Coalgebraically
 ObjectOrientation with Parallelism and Persistence
, 1995
"... The coalgebraic perspective on objects and classes in objectoriented programming is elaborated: objects consist of a (unique) identifier, a local state, and a collection of methods described as a coalgebra; classes are coalgebraic (behavioural) specifications of objects. The creation of a "n ..."
Abstract

Cited by 71 (18 self)
 Add to MetaCart
The coalgebraic perspective on objects and classes in objectoriented programming is elaborated: objects consist of a (unique) identifier, a local state, and a collection of methods described as a coalgebra; classes are coalgebraic (behavioural) specifications of objects. The creation of a "new" object of a class is described in terms of the terminal coalgebra satisfying the specification. We present a notion of "totally specified" class, which leads to particularly simple terminal coalgebras. We further describe local and global operational semantics for objects. Associated with the local operational semantics is a notion of bisimulation (for objects belonging to the same class), expressing observational indistinguishability. AMS Subject Classification (1991): 18C10, 03G30 CR Subject Classification (1991): D.1.5, D.2.1, E.1, F.1.1, F.3.0 Keywords & Phrases: object, class, (terminal) coalgebra, coalgebraic specification, bisimulation 1. Introduction Within the objectoriente...
User Interface Declarative Models and Development Environments: A Survey
 Proceedings of DSVIS2000, volume 1946 of LNCS
, 2000
"... presentation model APM Provides a conceptual description of the structure and behaviour of the visual parts of the user interface. There the UI is described in terms abstract objects. ..."
Abstract

Cited by 60 (3 self)
 Add to MetaCart
presentation model APM Provides a conceptual description of the structure and behaviour of the visual parts of the user interface. There the UI is described in terms abstract objects.
Observational logic
 IN ALGEBRAIC METHODOLOGY AND SOFTWARE TECHNOLOGY (AMAST'98
, 1999
"... We present an institution of observational logic suited for statebased systems specifications. The institution is based on the notion of an observational signature (which incorporates the declaration of a distinguished set of observers) and on observational algebras whose operations are required ..."
Abstract

Cited by 55 (10 self)
 Add to MetaCart
We present an institution of observational logic suited for statebased systems specifications. The institution is based on the notion of an observational signature (which incorporates the declaration of a distinguished set of observers) and on observational algebras whose operations are required to be compatible with the indistinguishability relation determined by the given observers. In particular, we introduce a homomorphism concept for observational algebras which adequately expresses observational relationships between algebras. Then we consider a flexible notion of observational signature morphism which guarantees the satisfaction condition of institutions w.r.t. observational satisfaction of arbitrary firstorder sentences. From the proof theoretical point of view we construct a sound and complete proof system for the observational consequence relation. Then we consider structured observational specifications and we provide a sound and complete proof system for such specifications by using a general, institutionindependent result of [6].
TROLL light: A Core Language for Specifying Objects
, 1992
"... TROLL light is a language for conceptual modeling of information systems. It is designed to describe the Universe of Discourse (UoD) as a system of concurrently existing and interacting objects. TROLL light objects have observable properties modeled by attributes, and the behavior of objects is desc ..."
Abstract

Cited by 40 (19 self)
 Add to MetaCart
TROLL light is a language for conceptual modeling of information systems. It is designed to describe the Universe of Discourse (UoD) as a system of concurrently existing and interacting objects. TROLL light objects have observable properties modeled by attributes, and the behavior of objects is described by events. Possible object observations may be restricted by constraints, whereas event occurrences may be restricted to specified life cycles. TROLL light objects are organized in an object hierarchy established by subobject relationships. Communication among objects is supported by event calling. Apart from introducing the various possibilities for the syntactical description of objects, we aim to describe how the state of an object community may be changed by event occurrences. 1 Introduction In recent years formal specification techniques have been receiving more and more attention (see for example [CHJ86, TM87, Win90]). Formal specifications are used for supporting the program an...