Polylith: An environment to support management of tool interfaces

  • Authors:
  • James Purtilo

  • Affiliations:
  • Department of Computer Science, University of Illinois at Urbana

  • Venue:
  • SLIPE '85 Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environments
  • Year:
  • 1985

Quantified Score

Hi-index 0.02

Visualization

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.