Results 21 - 30
of
98
Interconnection of Object Specifications
- Formal Methods and Object Technology
, 1996
"... ing yet further from reality, we might proscribe the simultaneous effect of two or more methods on an object's state; doing so, we impose a monoid structure on the fixed set of methods proper to an object class. Applying methods one after the other corresponds to multiplication in the monoid, and ap ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
ing yet further from reality, we might proscribe the simultaneous effect of two or more methods on an object's state; doing so, we impose a monoid structure on the fixed set of methods proper to an object class. Applying methods one after the other corresponds to multiplication in the monoid, and applying no methods corresponds to the identity of the monoid. A monoid is a set M with an associative binary operation ffl M : M \ThetaM ! M , usually referred to as `multiplication', which has an identity element e M 2 M . If M = (M; ffl M ; e M ) is a monoid, we often write just M for M, and e for e M ; moreover for m;m 0 2 M , we usually write mm 0 instead of m ffl M m 0 . For example, A , the set of lists containing elements of A, together with concatenation ++ : A \ThetaA ! A and the empty list [ ] 2 A , is a monoid. This example is especially important for the material in later sections. A monoid homomorphism is a structure preserving map between the carriers of ...
Recursive Adaptable Grammars
- Master’s Thesis, Worchester Polytechnic Institute
, 1998
"... Context-Free Grammars (CFGs) are a simple and intuitively appealing formalism for the description of programming languages, but lack the computational power to describe many common language features. Over the past three decades, numerous extensions of the CFG model have been developed. Most of these ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
Context-Free Grammars (CFGs) are a simple and intuitively appealing formalism for the description of programming languages, but lack the computational power to describe many common language features. Over the past three decades, numerous extensions of the CFG model have been developed. Most of these extensions retain a CFG kernel, and augment it with a distinct facility with greater computational power. However, in all the most powerful CFG extensions, the clarity of the CFG kernel is undermined by the opacity of the more powerful extending facility. An intuitively appealing strategy for CFG extension is grammar adaptability, the principle that declarations in a program effectively modify the context-free grammar of the programming language. An adaptable grammar is equipped with some formal means for modifying its own CFG kernel. Most previous adaptable grammar formalisms have, unfortunately, failed to realize the potential clarity of this concept. In this thesis, a representative samp...
A Resumption Monad Transformer and its Applications in the Semantics of Concurrency
, 2001
"... Resumptions are a valuable tool in the analysis and design of semantic models for concurrent programming languages, in which computations consist of sequences of atomic steps that may be interleaved. In this paper we consider a general notion of resumption, parameterized by the kind of computations ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
Resumptions are a valuable tool in the analysis and design of semantic models for concurrent programming languages, in which computations consist of sequences of atomic steps that may be interleaved. In this paper we consider a general notion of resumption, parameterized by the kind of computations that take place in the atomic steps. We define a monad transformer which, given a monad M that represents the atomic computations, constructs a monad R(M) for interleaved computations. Moreover, we use this monad transformer to define the denotational semantics of a simple imperative language supporting nondeterminism and concurrency.
Program refactoring, program synthesis, and model-driven development
- Proceedings of the 16th International Conference on Compiler Constuction (CC’07), volume 4420 of LNCS
, 2007
"... Abstract. Program refactoring, feature-based and aspect-oriented software synthesis, and model-driven development are disjoint research areas. However, they are all architectural metaprogramming technologies as they treat programs as values and use functions (a.k.a. transformations) to map programs ..."
Abstract
-
Cited by 8 (0 self)
- Add to MetaCart
Abstract. Program refactoring, feature-based and aspect-oriented software synthesis, and model-driven development are disjoint research areas. However, they are all architectural metaprogramming technologies as they treat programs as values and use functions (a.k.a. transformations) to map programs to other programs. In this paper, I explore their underlying connections by reviewing recent advances in each area from an architectural metaprogramming perspective. I conjecture how these areas can converge and outline a theory that may unify them. 1
On the Modularity of Feature Interactions
"... Feature modules are the building blocks of programs in software product lines (SPLs). A foundational assumption of feature-based program synthesis is that features are composed in a predefined sequence called a natural order. Recent work on virtual separation of concerns reveals a new model of featu ..."
Abstract
-
Cited by 8 (8 self)
- Add to MetaCart
Feature modules are the building blocks of programs in software product lines (SPLs). A foundational assumption of feature-based program synthesis is that features are composed in a predefined sequence called a natural order. Recent work on virtual separation of concerns reveals a new model of feature interactions that shows that feature modules can be quantized as compositions of smaller modules called derivatives. We present this model and examine some of its consequences, namely, that (1) a given program can be reconstructed by composing features in any order, and (2) the contents of a feature module (as expressed as a composition of derivatives) is determined automatically by a feature order. We show that different orders allow one to adjust the contents of a feature module to isolate and study the impact of interactions that a feature has with other features. We also show the utility of generalizing safe composition (SC), a basic analysis of SPLs that verifies program typesafety, to demonstrate that every legal composition of derivatives (and thus any composition order of features) produces a type-safe program, which is a much stronger SC property.
Bisimilarity and Behaviour-Preserving Reconfigurations of Open Petri Nets
"... We propose a framework for the specification of behaviourpreserving reconfigurations of systems modelled as Petri nets. The framework is based on open nets, a mild generalisation of ordinary Place/Transition nets suited to model open systems which might interact with the surrounding environment and ..."
Abstract
-
Cited by 7 (2 self)
- Add to MetaCart
We propose a framework for the specification of behaviourpreserving reconfigurations of systems modelled as Petri nets. The framework is based on open nets, a mild generalisation of ordinary Place/Transition nets suited to model open systems which might interact with the surrounding environment and endowed with a colimitbased composition operation. We show that natural notions of (strong and weak) bisimilarity over open nets are congruences with respect to the composition operation. We also provide an up-to technique for facilitating bisimilarity proofs. The theory is used to identify suitable classes of reconfiguration rules (in the double-pushout approach to rewriting) whose application preserves the observational semantics of the net.
A Relational Approach To Optimization Problems
, 1996
"... The main contribution of this thesis is a study of the dynamic programming and greedy strategies for solving combinatorial optimization problems. The study is carried out in the context of a calculus of relations, and generalises previous work by using a loop operator in the imperative programming s ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
The main contribution of this thesis is a study of the dynamic programming and greedy strategies for solving combinatorial optimization problems. The study is carried out in the context of a calculus of relations, and generalises previous work by using a loop operator in the imperative programming style for generating feasible solutions, rather than the fold and unfold operators of the functional programming style. The relationship between fold operators and loop operators is explored, and it is shown how to convert from the former to the latter. This fresh approach provides additional insights into the relationship between dynamic programming and greedy algorithms, and helps to unify previously distinct approaches to solving combinatorial optimization problems. Some of the solutions discovered are new and solve problems which had previously proved difficult. The material is illustrated with a selection of problems and solutions that is a mixture of old and new. Another contribution is the invention of a new calculus, called the graph calculus, which is a useful tool for reasoning in the relational calculus and other non-relational calculi. The graph
Progressive ontology alignment for meaning coordination: An information-theoretic foundation
- In 4th Int. Joint Conf. on Autonomous Agents and Multiagent Systems
, 2005
"... We elaborate on the mathematical foundations of the meaning coordination problem that agents face in open environments. We investigate to which extend the Barwise-Seligman theory of information flow provides a faithful theoretical description of the partial semantic integration that two agents achie ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
We elaborate on the mathematical foundations of the meaning coordination problem that agents face in open environments. We investigate to which extend the Barwise-Seligman theory of information flow provides a faithful theoretical description of the partial semantic integration that two agents achieve as they progressively align their underlying ontologies through the sharing of tokens, such as instances. We also discuss the insights and practical implications of the Barwise-Seligman theory with respect to the general meaning coordination problem.
Topological Framework for Part Families
, 2002
"... This paper proposes such a set of principles and illustrates how they can be used to design and implement parametric families in practical situations. The material is based largely on the doctoral thesis of the first author #9# that contains many additional details and examples, including a fully im ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
This paper proposes such a set of principles and illustrates how they can be used to design and implement parametric families in practical situations. The material is based largely on the doctoral thesis of the first author #9# that contains many additional details and examples, including a fully implemented set of algorithms to maintain an intuitive CSG-induced parametric family. These are not discussed in this paper due to space limitations
Modular monad transformers
- In ESOP ’09: Proceedings of the 18th European Symposium on Programming Languages and Systems
, 2009
"... Abstract. During the last two decades, monads have become an indispensable tool for structuring functional programs with computational effects. In this setting, the mathematical notion of a monad is extended with operations that allow programmers to manipulate these effects. When several effects are ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
Abstract. During the last two decades, monads have become an indispensable tool for structuring functional programs with computational effects. In this setting, the mathematical notion of a monad is extended with operations that allow programmers to manipulate these effects. When several effects are involved, monad transformers can be used to build up the required monad one effect at a time. Although this seems to be modularity nirvana, there is a catch: in addition to the construction of a monad, the effect-manipulating operations need to be lifted to the resulting monad. The traditional approach for lifting operations is nonmodular and ad-hoc. We solve this problem with a principled technique for lifting operations that makes monad transformers truly modular. 1

