Results 1 - 10
of
10
Aspects preserving properties
- In Proc. of the 2008 ACM SIGPLAN Symposium on Partial Evaluation and Semantic-Based Program Manipulation (PEPM’08
, 2008
"... Aspect Oriented Programming can arbitrarily distort the semantics of programs. In particular, weaving can invalidate crucial safety and liveness properties of the base program. In this article, we identify categories of aspects that preserve some classes of properties. It is then sufficient to check ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
Aspect Oriented Programming can arbitrarily distort the semantics of programs. In particular, weaving can invalidate crucial safety and liveness properties of the base program. In this article, we identify categories of aspects that preserve some classes of properties. It is then sufficient to check that an aspect belongs to a specific category to know which properties will remain satisfied by woven programs. Our categories of aspects, inspired by Katz’s, comprise observers, aborters and confiners. Observers introduce new instructions and a new local state but they do not modify the base program’s state and control-flow. Aborters are observers which may also abort executions. Confiners only ensure that executions remain in the reachable states of the base program. These categories (along with three other) are defined precisely based on a language independent abstract semantics framework. The classes of properties are defined as subsets of LTL for deterministic programs and CTL * for non-deterministic ones. We can formally prove that, for any program, the weaving of any aspect in a category preserves any property in the related class. We give examples
Tree automata with global constraints
- In 12th Int. Conf. in Developments in Lang. Theory (DLT), vol. 5257 of LNCS
, 2008
"... Abstract. A tree automaton with global tree equality and disequality constraints, TAGED for short, is an automaton on trees which allows to test (dis)equalities between subtrees which may be arbitrarily faraway. In particular, it is equipped with an (dis)equality relation on states, so that whenever ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
Abstract. A tree automaton with global tree equality and disequality constraints, TAGED for short, is an automaton on trees which allows to test (dis)equalities between subtrees which may be arbitrarily faraway. In particular, it is equipped with an (dis)equality relation on states, so that whenever two subtrees t and t ′ evaluate (in an accepting run) to two states which are in the (dis)equality relation, they must be (dis)equal. We study several properties of TAGEDs, and prove decidability of emptiness of several classes. We give two applications of TAGEDs: decidability of an extension of Monadic Second Order Logic with tree isomorphism tests and of unification with membership constraints. These results significantly improve the results of [10]. 1
Graph Rewriting and Strategies for Modeling Biochemical Networks
- in "International Workshop on Natural Computing and Applications - NCA 2007, Timisoara, Roumanie", IEEE Computer Society
"... Abstract. In this paper, we present a rewriting framework for modeling molecular complexes, biochemical reaction rules, and generation of biochemical networks based on the representation of molecular complexes as a particular type of multigraphs with ports called molecular graphs. The advantage of t ..."
Abstract
-
Cited by 5 (2 self)
- Add to MetaCart
Abstract. In this paper, we present a rewriting framework for modeling molecular complexes, biochemical reaction rules, and generation of biochemical networks based on the representation of molecular complexes as a particular type of multigraphs with ports called molecular graphs. The advantage of this approach is to obtain for free a rewriting calculus which allows defining at the same level transformation rules and strategies for modeling rule selection and application, in order to prototype network generation. 1
Anti-Pattern Matching Modulo
"... Abstract. Negation is intrinsic to human thinking and most of the time when searching for something, we base our patterns on both positive and negative conditions. In a previous work, we have extended the notion of term to the one of anti-term that may contain complement symbols. Matching such anti- ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
Abstract. Negation is intrinsic to human thinking and most of the time when searching for something, we base our patterns on both positive and negative conditions. In a previous work, we have extended the notion of term to the one of anti-term that may contain complement symbols. Matching such anti-terms against terms has the nice property of being unitary. Here we generalize the syntactic anti-pattern matching to anti-pattern matching modulo an arbitrary equational theory E, and we study the specific and practically very useful case of associativity, possibly with a unity (AU). To this end, based on the syntacticness of associativity, we present a rule-based associative matching algorithm, and we extend it to AU. This algorithm is then used to solve AU anti-pattern matching problems. This allows us to be generic enough so that for instance, the AllDiff standard predicate of constraint programming becomes simply expressible in this framework. AU anti-patterns are implemented in the Tom language and we show some examples of their usage. 1
Specialized Aspect Languages Preserving Classes of Properties
"... Aspect oriented programming can arbitrarily distort the semantics of programs. In particular, weaving can invalidate crucial safety and liveness properties of the base program. In previous work, we have identified categories of aspects that preserve classes of temporal properties. We have formally p ..."
Abstract
-
Cited by 3 (1 self)
- Add to MetaCart
Aspect oriented programming can arbitrarily distort the semantics of programs. In particular, weaving can invalidate crucial safety and liveness properties of the base program. In previous work, we have identified categories of aspects that preserve classes of temporal properties. We have formally proved that, for any program, the weaving of any aspect in a category preserves all properties in the related class. In this article, after a summary of our previous
TomML: A Rule Language For Structured Data
"... Abstract. We present the Tom language that extends Java with the purpose of providing high level constructs inspired by the rewriting community. Tom bridges thus the gap between a general purpose language and high level specifications based on rewriting. This approach was motivated by the promotion ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Abstract. We present the Tom language that extends Java with the purpose of providing high level constructs inspired by the rewriting community. Tom bridges thus the gap between a general purpose language and high level specifications based on rewriting. This approach was motivated by the promotion of rule based techniques and their integration in large scale applications. Powerful matching capabilities along with a rich strategy language are among Tom’s strong features that make it easy to use and competitive with respect to other rule based languages. Tom is thus a natural choice for querying and transforming structured data and in particular XML documents [1]. We present here its main XML oriented features and illustrate its use on several examples. 1
Anti-patterns for Rule-based Languages
, 2010
"... Negation is intrinsic to human thinking and most of the time when searching for something, we base our patterns on both positive and negative conditions. This should be naturally reflected in software that provide pattern-based searches. We would like for example to specify that we search for white ..."
Abstract
- Add to MetaCart
Negation is intrinsic to human thinking and most of the time when searching for something, we base our patterns on both positive and negative conditions. This should be naturally reflected in software that provide pattern-based searches. We would like for example to specify that we search for white cars that are not station wagons, or that we search for a list of objects that does not contain two identical elements. In this paper we extend the notion of pattern to the one of anti-pattern, i.e. patterns that may contain complement symbols. This concept is appropriate to design powerful extensions to pattern-based programming languages like Ml, Asf+Sdf, Stratego, Maude, Elan or Tom and we show how this is used to extend the expressiveness and usability of the Tom language. We further define formally the semantics of anti-patterns both in the syntactic case, i.e. when the symbols have no specific theory associated, and modulo an arbitrary equational theory E. We then extend the classical notion of matching between patterns and ground terms to matching between anti-patterns and ground terms. Solving such problems can be performed either using general techniques as disunification, which we exemplify in the syntactical case, or more tailored and efficient approaches, which we chose to illustrate on the specific and very useful case of associativity, possibly with a unity. This allows us to be generic enough to give in this framework a very simple and natural expression of, for instance, the AllDiff standard predicate of constraint programming.
Recueil d’articles
"... Annexes du manuscrit d’HDR — Le calcul de réécritureiiSommaire Présentations du calcul de réécriture 1 Propriétés des calculs à motifs 57 Extensions du calcul de réécriture 75 Expressivité du calcul de réécriture 147 Systèmes de types pour le calcul de réécriture 195 Applications 225Présentations du ..."
Abstract
- Add to MetaCart
Annexes du manuscrit d’HDR — Le calcul de réécritureiiSommaire Présentations du calcul de réécriture 1 Propriétés des calculs à motifs 57 Extensions du calcul de réécriture 75 Expressivité du calcul de réécriture 147 Systèmes de types pour le calcul de réécriture 195 Applications 225Présentations du calcul de réécriture [CK01] [CKL01a]

