Abstract
Polylith is the name of a set of enhanced execution time system services along with development tools and an interfacing methodology.1 As a system, Polylith supports the reliable union of many component tools, addressing the problems of data interchange and synchronization between these tools. It facilitates reuse of code, and promotes the notion that construction of large programs should be viewed instead as orchestration of services. The Polylith is visible as a grammar in which instances of environments2 are precisely and rapidly specified; it is, through compilation and execution of assertions in that language, a medium through which many programs and tools can be united with impunity.
This paper presents an overview of the Polylith architecture, along with some brief remarks on the requirements analysis leading to Project Polylith at the University of Illinois. Section 2 presents this architecture, summarizing language and data transformation issues. Simple examples are included. Section 3 introduces one particular instance of an environment specified within Polylith called Minion. It is presented as an extended example, showing how the Polylith is utilized to construct an enthusiastic assistant for mathematical problem solving. The closing section contains some evaluation of how Polylith affects the task of environment development.
- 1 MACSYMA Reference Manual. The Mathlab Group, MIT LCS, 1977.Google Scholar
- 2 Dongarra, Jack J. "An Aid to Fortran Programming", Draft Paper and Personal Communication, Argonne National Laboratory, 1984.Google Scholar
- 3 Geddes, Keith O., Gaston H. Gonnet and Bruce W. Char. MAPLE User's Manual, Second Edition. University of Waterloo Computer Science Dept, CS-82-40, 1982.Google Scholar
- 4 Goldberg, Adele. Smalltalk-80: The Interactive Programming Environment. Addison Wesley, 1984. Google ScholarDigital Library
- 5 Goldberg, Adele and David Robson. Smalltalk-80: The Language and Its Implementation. Addison Wesley, 1983. Google ScholarDigital Library
- 6 Gosling, James. A Redisplay Algorithm. In: Proceedings of the ACM SIGOA Symposium on Text Manipulation, Victor B. Schneider, ed., 1981, pp. 123-129. Google ScholarDigital Library
- 7 Habermann, N., R. Ellison, R. Medina-Mora, P. Feiler, D. Notkin, G. Kaiser, D. Garlan and S. Popovich. "The Second Compendium of Gandalf Documentation", Carnegie-Mellon University Dept of Computer Science Report, 1982.Google Scholar
- 8 Hewitt, Carl and Henry Baker. Laws for Communicating Parallel Processes. In: Proceedings of the IFIP Congress., 1977, pp. 987-992.Google Scholar
- 9 Mitchell, James G., William Maybury and Richard Sweet. Mesa Language Manual. Xerox PARC Systems Development Department, 1979.Google Scholar
- 10 Ng, E. W. A Study of Alternative Methods for the Symbolic Calculation of Elliptic Integrals. In: Proceedings of the 1976 ACM Symposium on Symbolic and Algebraic Computation, R. D. Jenks, ed., 1976, pp. 372-376. Google ScholarDigital Library
- 11 Orailoglu, A. "Software Design Issues in the Implementation of Hierarchical, Display Editors", University of Illinois Dept of Computer Science, UIUCDCS-R-83-1139, Urbana, 1983.Google Scholar
- 12 Osterweil, Leon J. "The TOOLPACK Mathematical Software Development Environment", University of Colorado Dept of Computer Science, CU-CS-226-82, 1982.Google Scholar
- 13 Purtilo, James. "Computing Runge-Kutta Starters Symbolically", University of Illinois Dept of Computer Science, UIUCDCS-R-83-1120, Urbana, 1983.Google Scholar
- 14 Purtilo, James. "Polylith Architecture", University of Illinois Dept of Computer Science, UIUCDCS-R-84-1188, Urbana, 1984. Google ScholarDigital Library
- 15 Purtilo, James. "Environments for Mathematical Computation", University of Illinois Dept of Computer Science, UIUCDCS-R-84-1135, Urbana, 1984.Google Scholar
- 16 Shilling, John. "The Fred User's Manual", University of Illinois Dept of Computer Science, UIUCDCS-R-84-l151, Urbana, 1984.Google Scholar
- 17 Stallman, Richard M. "EMACS: The Extensible, Customizable, Self-Documenting Display Editor", MIT Artificial Intelligence Lab, Memo 519, 1979. Google ScholarDigital Library
- 18 Tichy, Walter F. Design, Implementation and Evaluation of a Revision Control System. In: Proceedings of IEEE 6th International Conference on Software Engineering., Tokyo, 1982. Google ScholarDigital Library
- 19 Tichy, Walter F., "Software Development Control Based on System Structure Description", Carnegie-Mellon University, Report CMU-CS-80-120, 1980.Google Scholar
- 20 Weinreb, D. and D. Moon. "Flavors: Message Passing in the Lisp Machine", MIT Artificial Intelligence Lab, Memo 602, 1980.Google Scholar
Index Terms
- Polylith: An environment to support management of tool interfaces
Recommendations
Polylith: An environment to support management of tool interfaces
SLIPE '85: Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environmentsPolylith is the name of a set of enhanced execution time system services along with development tools and an interfacing methodology.1 As a system, Polylith supports the reliable union of many component tools, addressing the problems of data interchange ...
The POLYLITH software bus
We describe a system called POLYLITH that helps programmers prepare and interconnect mixed-language software components for execution in heterogeneous environments. POLYLITH's principal benefit is that programmers are free to implement functional ...
Empty pseudo-triangles in point sets
We study empty pseudo-triangles in a set P of n points in the plane, where an empty pseudo-triangle has its vertices at the points of P, and no points of P lie inside. We give bounds on the minimum and maximum number of empty pseudo-triangles. If P lies ...
Comments