| S. Krishnamurthi and M. Felleisen, "Toward a formal theory of extensible software," Proceedings of ACM SIGSOFT sixth international symposium on Foundations of software engineering, pp. 88 - 98, 1998. |
....book [2] late 1994. Design patterns contribute to the process of software development by providing a common design vocabulary, documentation and learning aids, support for the process of converting an analysis model into an implementation model, and encouragement for reuse of already designed code[4][7] 8] 12] These patterns identify, document, and catalog successful solutions to common software problems. Patterns aid the development of reusable software by expressing the structure and collaboration of components to developers at a level higher than source code or objectoriented design ....
S. Krishnamurthi and M. Felleisen, "Toward a formal theory of extensible software," Proceedings of ACM SIGSOFT sixth international symposium on Foundations of software engineering, pp. 88 - 98, 1998.
....be possible (1) to use an individual module more than once in a program, 2) for each use of a module to be connected to other modules in different ways, and (3) for this to be done without changing or duplicating the source code of the module. This is called black box reuse or extensibility [31]. Satisfying this requires that inter module connections need not be specified inside the modules. We handle this in our m calculus with incomplete (or abstract) modules and a linking operator. Modules within the language: It should be possible to represent modules and linking together with the ....
S. Krishnamurthi and M. Felleisen. Toward a formal theory of extensible software. In Sixth ACM SIGSOFT Symposium on the Foundations of Software Engineering, Nov. 1998.
....we refine and explore in this dissertation. Much of the existing literature on reuse fails to distinguish between the reuse of source code and the reuse of semantic abstractions that can be separately compiled. The distinction is crucial to our view of components, and Krishnamurthi and Felleisen [47] provide a foundation for formalizing the distinction. Some research in software engineering recognizes the distinction, but nevertheless relies on source code reuse, due to a lack of language support; see, for example, Hollingsworth s dissertation [36] which relies on uncompilable generics in ....
Krishnamurthi, S. and M. Felleisen. Toward a formal theory of extensible software. In Proc. ACM Conference on Foundations of Software Engineering, 1998.
....we refine and explore in this dissertation. Much of the existing literature on reuse fails to distinguish between the reuse of source code and the reuse of semantic abstractions that can be separately compiled. The distinction is crucial to our view of components, and Krishnamurthi and Felleisen [47] provide a foundation for formalizing the distinction. Some research in software engineering recognizes the distinction, but nevertheless relies on source code reuse, due to a lack of language support; see, for example, Hollingsworth s dissertation [36] which relies on uncompilable generics in ....
Krishnamurthi, S. and M. Felleisen. Toward a formal theory of extensible software. In Proc. ACM Conference on Foundations of Software Engineering, 1998.
....recursively. But the recursive call invokes the original, not the extended, parser. As 8P:P (y) is in msol, which the original parser does not handle, a parsing error occurs. Again, the problem here is one of hardwiring: the recursive calls inside the original parser refer to the original parser [7, 20]. Object oriented solutions based on the Interpreter pattern can suffer from similar problems when the operation creates new instances of a recursively defined datatype. A Synthetic Solution: These problems with the object oriented and functional styles, noted by several researchers [8, 21, 22, ....
....the parser extension discussed in Section 4.2. The parser extension involved only a single, new variant of the datatype. In this case, we must integrate new functionality into a function over an existing variant. Function extensions require first class functions and protocols for composing them [7, 20]. The original function must provide a parameter for an extension function. The passed function will process any extensions to the datatypes on 1 Optional annotations on units specify and enforce names and types on imported and exported information; in order to simplify the code, we do not show ....
[Article contains additional citation context not shown here]
Krishnamurthi, S. and M. Felleisen. Toward a formal theory of extensible software. In ACM Symposium on the Foundations of Software Engineering, 1998.
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