| N. KLARLUND, J. KOISTINEN, AND M. I. SCHWARTZBACH, Formal design constraints, in Proc. ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA '96, October 1996. |
....get substituted by the inheritor s redefinitions in a way that could not be anticipated by the base module designer. First, it is possible that the base module has certain design properties which must be propagated in order to avoid inconsistencies in the composition of base and inheritor modules [13, 20]. Second, the base module designer is impeded to supply efficient implementations. Since no assumptions can be made about the redefinition patterns of future applications, the implementation should remain generic. Otherwise inconsistencies may occur, if the properties on which the efficient ....
....the efficient implementation of the base module is based are not maintained by the inheritor. This trade off between easy reuse and efficient implementations has been discussed by Kiczales and Lamping in [11] The problems outlined above have recently attracted the attention of several authors [9, 11, 13, 14, 24]. However, the existing approaches deal only with one category of problems and ignore the other. The approach proposed in [11] is based on informal descriptions of complex protocols which should be considered by the inheritor. Other proposals [9, 23, 24] approach the problems by means of formal ....
[Article contains additional citation context not shown here]
Klarlund N., Koistinen J. and Schwartzbach M. Formal Design Constraints In Proceedings OOPSLA '96, ACM SIGPLAN Notices, Vol. 31, No. 10, pp. 370--384, 1996.
....it allows to specify rules for using the framework correctly; for framework users, it can warn of incorrect uses or specializations of a framework. Compared with previous work on specifying implementation or design constraints for object oriented programs [Chowdhury, Meyers 93; Minsky 96; Klarlund et al. 96] CoffeeStrainer is different in the following aspects: Instead of defining a new special purpose language, constraints can be specified in Java, a language the programmer already knows; The system is implemented as an open object oriented framework for compile time meta programming that ....
....method call calls initialize (lines 16 17) on super (line 15) If this is the case, the method returns; otherwise, an error is reported (line 20 21) This example shows how to check properties of the metaobject structure. Compared with other approaches for specifying code constraints (e.g. CDL [Klarlund et al. 96] it may seem that our approach lacks conciseness. However, note that we chose not to invent a special purpose language, but rather use Java a language the programmer already knows. Clearly, Java is not as concise as a declarative special purpose language, but the additional noise can easily ....
[Article contains additional citation context not shown here]
N. Klarlund, J. Koistinen, M. I. Schwartzbach, Formal Design Constraints, Proceedings of OOPSLA'96, ACM SIGPLAN Notices, Vol. 31, No. 10, October 1996
....software development process, and on the other side to constraints that can only be checked at runtime. In this comparison, we will consider the statically checkable subset of LGA only. The Category Description Language CDL which has been proposed for specifying Formal Design Constraints [8], is a constraint language based on a theory of logics on parse trees. CDL is a restricted formalism that allows to check automatically whether a set of constraints is consistent. ASTLOG [3] a language for examining abstract syntax trees, is a variant of Prolog win which the clauses have ....
N. Klarlund, J. Koistinen, and M. I. Schwartzbach. Formal design constraints. In Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, volume 31, 10 of ACM SIGPLAN Notices, pages 370383, New York, October 610 1996. ACM Press.
....Explicit Substitution in Higher Order Rewriting. We explain how explicit substitution can be used to facilitate reasoning about higherorder rewriting, both by translating higherorder rewrite systems into explicit substitution as well as defining higher order rewriting through explicit substitution [4]. It is intended to collect a selection of extracts from Rose s thesis and papers, probably around 30 pp combining the essential results in explicit substitution with a bibliography; This will appear in the BRICS Notes Series. References [1] M. Abadi, L. Cardelli, P. L. Curien, and J. J. Levy, ....
....[3] Z. E. A. Benaissa, K. H. Rose, and P. Lescanne, Modeling sharing and recursion for weak reduction strategies using explicit substitution, in H. Kuchen and D. Swierstra, editors, 8th PLILP Symposium on Programming Language Implementation and Logic Programming, Aachen, Germany, September 1996. [4] R. Bloo and K. H. Rose, Combinatory reduction systems with explicit substitution that preserve strong normalisation, in H. Ganzinger, editor, RTA 96, Rutgers University, New Jersey, July 1996. Distributed Logics In November P. S. Thiagarajan, School of Mathematics, SPIC Science Foundation, ....
[Article contains additional citation context not shown here]
Nils Klarlund, Jari Koistinen, and Michael I. Schwartzbach. Formal design constraints. In Proceedings of OOPSLA'96, October 1996.
....development, e.g. configuration editors, semantic checkers, component repositories, generators, etc. An important tool is the constraint checker. Possible approaches to checking design constraints include attribute grammars [16] temporal logic [17] and a special type of first order logic [18]. 2. formal component model: The formal component model is defined through the reference architecture and lies at the heart of a DSDE. The mapping of an application architecture onto Czarnecki the underlying layer is done by a generator. One has to decide whether to use compositional or ....
N. Klarlund and J. Koistinen, "Formal Design Constraints," in Proceedings of the OOPSLA'96, pp. 370--383, 1996.
....believe the most promising outcomes lie in automatic checking of negative assertions for object oriented programming languages. This is also the main challenge, in particular regarding the efficiency of such a checker. Similar works in formalization of design constraints exist (see for example [9, 12]) Negation would bring novel perspectives to the object model. As an example, we explained how the object model may be considered to be based on the closed world assumption. Expressing negation would allow it to take into account the open world assumption which is known to be much more ....
Nils Klarlund, Jari Koistinen, and Michael I. Schwartzbach. Formal design constraints. In OOPSLA '96 Proceedings, pages 370--383. ACM, ACM Press, 1996.
.... paper is how the parse tree formulas on abstract level could be transformed into WS2S (Weak monadic Second order theory of 2 Successors) To our knowledge, the idea of using a rst order like parse tree logic to generate attribute grammars has been presented earlier only in our previous paper [9], which suggested how such a logic can be used to enforce design constraints or software architectures. There, we used an encoding of grammars that results in an inherent quadratic blowup, see Section 4. Similar ideas of using parse tree logic have been pursued in formal linguistics, see [12, 19] ....
Nils Klarlund, Jari Koistinen, and Michael I. Schwartzbach. Formal design constraints. In Proc. OOPSLA '96, pages 370-383, 1996.
....means, yet not so large as to require infeasible computations. Happily, many interesting projects fit into this niche, including hardware verification [4, 1] pointer analysis [22, 16, 38] controller synthesis [44, 21] natural languages [39] parsing tools [13] software design descriptions [28], Presburger arithmetic [45] and verification of concurrent systems [31, 30, 23, 42, 46] There are a number of tools resembling Mona. Independent of the Mona project, the first implementation of automata represented with BDDs was that of Gupta and Fischer from 1993 [19] However, they used ....
Nils Klarlund, Jari Koistinen, and Michael I. Schwartzbach. Formal design constraints. In Proceedings of OOPSLA '96, 1996.
....The decision procedure verifies that this assertion is preserved under one iteration of the loop. Had we made a mistake so that the assertion was not an invariant, we would automatically have gotten a counter example. Design constraints for corba In our second application, taken from [19], we propose to use Fido as a formalism for restricting parse trees. Such restrictions are useful when it is known that source code must satisfy specific requirements imposed by the platform or software environment. For example, a system architect may have formalized the constraints of the corba ....
N. Klarlund, J. Koistinen, and M. Schwartzbach. Formal design constraints. In Proc. OOPSLA '96, 1996.
....of the Yacc parser generator. Side constraints expressed in a first order parse tree logic are translated into Guided Tree Automata using MONA. During the bottom up Yacc parsing, the parse tree is run on these automata yielding evaluation of the side constraints. Software engineering In [KKS96] it is shown that many software design architecture descriptions are expressible in M2L Tree. Using FIDO, parse tree constraints are expressed and compiled to automata. This project was a precursor of YakYak and did not combine constraint checking with parsing or use Guided Tree Automata. FMona ....
Nils Klarlund, Jari Koistinen, and Michael I. Schwartzbach. Formal design constraints. In ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages & Applications, OOPSLA'96, 1996.
....be wrong; and it would have to be carefully rewritten if the representation of the parse trees changes. Parse Tree Logic We propose an alternative approach where the underlying grammar is de ned in the usual way, but the constraints are speci ed in a concise, formal logic on parse trees. In [7], we presented such a logic, called CDL, and demonstrated that it could be useful for capturing design constraints for object oriented programs. We developed a prototype implementation that could transform constraints into simple attribute grammars that were intended to be included into ....
....are n constraints, then the resulting parser makes moves in n automata, each of which can be calculated in a few microseconds. Related Work To our knowledge, the idea of using a rst order like parse tree logic to generate attribute grammars has been presented earlier only in our previous paper[7], which suggested how such a logic can be used to enforce design constraints or software architectures. There, we used an encoding of grammars that results in an inherent quadratic blowup, see Section 4. Similar ideas of using parse tree logic have been pursued in formal linguistics, see [11, 14] ....
[Article contains additional citation context not shown here]
N. Klarlund, J. Koistinen, and M. Schwartzbach. Formal design constraints. In Proc. OOPSLA '96, 1996.
....by other means, yet not so large as to require infeasible computations. Happily, many interesting projects t into this niche, including hardware veri cation [4, 1] pointer analysis [23, 17] controller synthesis [44, 22] natural languages [39] parsing tools [14] software design descriptions [29], Presburger arithmetic [45] and veri cation of concurrent systems [32, 31, 24, 42, 46] There are a number of tools resembling Mona. Independently of the Mona project, the rst implementation of automata represented with BDDs was that of Gupta and Fischer from 1993 [20] However, they used ....
Nils Klarlund, Jari Koistinen, and Michael I. Schwartzbach. Formal design constraints. In Proceedings of OOPSLA '96, 1996.
....automata of Mona. Some Mona applications The previous Mona implementation for finite strings is described in [3] We have applied Mona to hardware verification [1] verification of complicated behavioral descriptions of distributed systems [5] and design constraints in software engineering [4]. In the latter application, we used a version of Mona for finite trees. In addition, we have built prototypes of tools for graphical representation of search patterns (specified in an extension of regular expressions) and for the automatic verification of Hoare logic of pointers. For ....
N. Klarlund, J. Koistinen, and M. Schwartzbach. Formal design constraints. In Proc. OOPSLA '96, 1996. to appear.
....case, the results are obtained by identifying an inherent regularity in the problem domain, thus reducing the problem to questions of regular string or tree languages. Successful applications today include verification of concurrent systems [9, 8] hardware verification [2] software engineering [10], and pointer verification [7] Work in progress involves a graphical user interface for regular expressions extended with M2L and document logics for the WWW. The role of M2L in this approach is to provide an extraordinarily succinct notation for complicated regular sets. Our applications have ....
....if the node is an anchor and each of its two subtrees synthesizes the attribute value 0, then it should synthesize the attribute value 1. These simple ideas have been exploited in a collaboration with the Ericsson telecommunications company to formalize the constraints of design architectures [10]. Verification Two specifications, of say distributed systems, can be compared by means of the implication or biimplication connective. Consider a simple minded mutual exclusion protocol for two processes with a shared memory: Turn: Integer range 1. 2 : 1; task body Proc1 is begin loop a: ....
Nils Klarlund, Jari Koistinen, and Michael I. Schwartzbach. Formal design constraints. In Proceedings of OOPSLA'96, October 1996.
....be wrong; and it would have to be carefully rewritten if the representation of the parse trees changes. Parse Tree Logic We propose an alternative approach where the underlying grammar is defined in the usual way, but the constraints are specified in a concise, formal logic on parse trees. In [7], we presented such a logic, called CDL, and demonstrated that it could be useful for capturing design constraints for object oriented programs. We developed a prototype implementation that could transform constraints into simple attribute grammars that were intended to be included into ....
....are n constraints, then the resulting parser makes moves in n automata, each of which can be calculated in a few microseconds. Related Work To our knowledge, the idea of using a first order like parse tree logic to generate attribute grammars has been presented earlier only in our previous paper[7], which suggested how such a logic can be used to enforce design constraints or software architectures. There, we used an encoding of grammars that results in an inherent quadratic blowup, see Section 4. Similar ideas of using parse tree logic have been pursued in formal linguistics, see [11, 14] ....
[Article contains additional citation context not shown here]
N. Klarlund, J. Koistinen, and M. Schwartzbach. Formal design constraints. In Proc. OOPSLA '96, 1996.
No context found.
N. KLARLUND, J. KOISTINEN, AND M. I. SCHWARTZBACH, Formal design constraints, in Proc. ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA '96, October 1996.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC