GSP(ID:4922/gsp002)

Space planning language 


space planning language


Related languages
ALGOL 60 => GSP   Extension of

References:
  • Eastman, C.M. Explorations in the cognitive processes of design. Dept. of Comput. Sci., Carnegie-Mellon U. ARPA Rep., Def. Doc. Rep. No. AD 671158, 1968. view details
  • Eastman, C.M. "Cognitive processes and ill-defined problems: A case study from design" view details
          in Donald E. Walker, Lewis M. Norton (Eds.): Proceedings of the 1st International Joint Conference on Artificial Intelligence IJCAI-69, Washington, DC, May 1969. William Kaufmann, 1969 view details
  • C. Eastman, "Preliminary Report on a Language for General Space Planning", Institute of Physical Planning Research Report No. 13. (November, 1970) Carnegie-Mellon University, view details
          in Donald E. Walker, Lewis M. Norton (Eds.): Proceedings of the 1st International Joint Conference on Artificial Intelligence IJCAI-69, Washington, DC, May 1969. William Kaufmann, 1969 view details
  • Eastman, C.M. "On the analysis of intuitive design processes" view details
          in Emerging Methods in Environmental Design and Planning, Moore, G. (Ed.), The MIT Press, Cambridge, Massachusetts, 1970 view details
  • Eastman, C.M. Problem solving strategies in design. view details
          in Proceedings of EDRA 1 "Environmental Design Res. Assoc. Conf.", H. Sanoff and Cohn (Eds.), North Carolina State U. School of Design, Raleigh, N.C., 1970. view details
  • Eastman, Charles M. "Representations for space planning" view details
          in [ACM] CACM 13(04) (April 1970). view details
  • Eastman, Charles. Teaching the methods of design: An experiment. School of Design Mono., North Carolina State U., Raleigh, N.C., 1970. view details
          in [ACM] CACM 13(04) (April 1970). view details
  • Charles E. Eastman, "GSP: A system for computer assisted space planning" view details Abstract: This paper focuses on computer augmentation of some simple design tasks found in every architectural office - the design and contract specification of arrangements of objects and equipment within a space. Examples of such tasks include stairwells, restrooms, mechanical rooms, and kitchens. This type of design is not considered creative, for it consists of a variation of a standard design within a particular context. Rather, it is an example of the ?dogwork? involved in realizing initial design conceptions. A major portion of an architectural firm's time and effort is currently expended on the production aspects of design, of translating schematic design into construction documents1. General Space Planner* (GSP) is an automated design, drafting, and problem solving system recently implemented on Carnegie-Mellon University's IBM 360/67 time-shared computer that begins to explore how arrangement problems and other production aspects of design can be either automated or augmented by the computer. This paper describes the current user interface of the GSP system, its required inputs, modes of interaction, and its outputs, and describes how GSP solves several classes of drafting design problems Extract: The Description of Objects and Spaces
    The Description of Objects and Spaces
    In GSP, all objects and spaces are specified in terms of areas and points. The areas are of three types:
    1. Available Space - which represents empty areas that are available for receiving other types of spaces. An example of Available Space would be an empty room;
    2. Solids - which represent areas of space occupied permanently or semipermanently. Typical Solids are walls, furniture, machinery, or landscaping;
    3. Use Spaces - which demark those spaces used temporarily, such as a
    access space, spaces required for the swing of a door, or the space needed to utilize a piece of equipment or furniture. Extract: The Description of Relations
    The Description of Relations
    GSP incorporates a primitive language in the Relation Definition subsystem for describing relations between objects. Each relation defined by the user is translated into a test which the problem solving subsystems in GSP use to evaluate arrangements. A relation is defined by a name designating its type and a set of arguments, i.e. qualifying variables, enclosed in parentheses. Currently, the GSP system incorporates five types of relations. They are:
    ADJACENCY (A,B,SB) - This relation specifies that object B must have all the border of its SB side adjacent to a side of object A. If A is a space, rather than an object, this relation requires that B be adjacent to one of its borders;
    DISTANCE (A,B,F,PTA,PTB) - This relation defines that Point Number PTA on object A be less than F units away from Point Number PTB on object B. PTA and PTB are both optional arguments. If either one or both are omitted, distance is measured from the center of the object;
    SIGHT (A,B,PTA, PTB) - This relation defines that Point PTA on object A be visible from Point PTB on object B; no solid objects may lie in the space directly between them. If a point is not defined for an object, the relation assumes that all of the object facing the other object must be visible;
    ACCESS (A,B,D) - This relation defines that a pathway must exist between object A and object B that is at least D units wide along its whole lengtH, for access, use, or maintenance. No Solids may lie in this path;
    ORIENTATION (A,B,SB) - This relation defines the orientation of object B in respect to A. Specifically, the side of object B denoted by SB, (A number from one to four, as described earlier) is to be oriented toward object A.
    Each of these relations may also be used in their negative form also. Thus one may wish to define that an object not be visible from a certain point or that two objects be greater than a certain distance apart.
    The above five relations were originally implemented because they seem to be universal to almost all spatial arrangement problems. Many other relations are required for particular applications. The kinds of relations that could be included in a GSP-type system are open-ended; those required for particular applications can be easily added to the current system. For instance, we are now developing a special GSP package that includes drainage, cutand- fill, and vehicular flow relations and special operators for site planning use. Other relations are expected to be required for applications to other specific problem domains. Extract: Operators for Manipulating Objects
    Operators for Manipulating Objects
    All of the GSP location operators rely on two primitive operators for actually placing and moving objects. The first, called TRANSLATE, places an object in a space in a defined location. The location is specified by the X and Y coordinates of its upper left corner. TRANSLATE rejects those locations given to it that violate the overlap conditions. If the object is to be rotated, this action is carried out by ROTATE, the other primitive operator. It rotates objects or spaces in ninety degree increments any number of positive or negative times in either direction. (Thus three positive rotations equal one negative rotation.) While a human user will not be likely to need more than two increments of a rotation in either direction, the automatic location operators, described below, do.
    In the interactive design mode, the user of GSP may directly call TRANSLATE and ROTATE to form arrangements. In the other design modes, and sometimes in the interactive mode as well, it is desirable for the systemto search out and propose locations of its own. GSP accomplishes this by incorporating routines that, when called, select locations with certain characteristics and pass these to TRANSLATE (and if need be ROTATE) which tries to place the object in the computed location. If the object cannot be located there, or if the user or system call the routine again, it will generate another location with the specified characteristics. For each routine, the locations generated and their sequence of generation are well defined. Because a dimension can be divided in infinitely many ways, there are an infinite number of locations for most objects. In reality, the infinite number need never be considered; only a few have characteristics that distinguish them and these are the ones we wish GSP to consider. GSP relies on a heuristic process that, for any arrangement, selects a set of empty loca~ tions which are likely to include those which satisfy design relations.
    All locations considered by the GSP automatic location operators can be characterized as a set. The set is defined as follows. Decompose into rectangles the unassigned Available Space ~n the current arrangement, using the vertical and horizontal edges of the space and objects in it as cutting planes. See Figure Five. We call each rectangle thus formed an empty domain. All locations where two sides of the object align with two perpendicular edges of an empty domain are considered members of the location set. We call all locations in this set the first order locations. They include all significant adjacent locations, all corner locations, and all those at the corner of "zones" within the total space. New empty domains GSP incorporates three automatic location operators. The first generates the complete set of first order locations, and the other two generate well-defined subsets.
    Each operator sequentially generates another location with appropriate properties each time it is called. They return a new arrangement of the specified space, with the object placed in the next legal location with the desired properties. The three automatic location operators and the properties of the locations they generate are:
    1. SCAN - sequentially generates complete set of first order locations. It sequentially considers placing the object in each of them and considers the object in its four orientations. SCAN is the most general automatic location operator available to GSP;
    2. PERIMETER - This operator sequentially generates the subset of first order locations for an object which are adjacent to the wall of the space;
    3. BOUNDARY - sequentially generates the subset of all first order locations which are adjacent to an already located object.
    These operators allow the user of GSP to partially define the characteristics of the locations he wishes to consider for a particular object. The locations generated by any operator may be further evaluated by the relation tests.
    With the above described basic capabilities, a user can define spaces and objects and in the interactive design mode, arrange them and apply relations to the arrangements that he has created. As each operation is carried out, he may ask for the resulting arrangement, either in approximated form on the teletype or more completely from the plotter. For any arrangement he has generated, he may call for and receive a fully dimensioned plan from the plotter.
    [...]
    With extensions, such as quantity take-offs, automatic sizing and analysis of structural and mechanical systems, and easy inclusion of written notes on the drawing, this mode of operation may significantly decrease the time and cost required for producing contract documents.

          in [ACM/IEEE] Annual ACM IEEE Design Automation Conference Proceedings of the June 1971 design automation workshop on Design automation, Atlantic City, New Jersey, United States view details
  • Eastman, C. "Heuristic Algorithms for Automated Space Planning" view details
          in Proceedings of the Second International Joint Conference on Artificial Intelligence (IJCAI), September 5 - 8, 1971, London, England view details
  • Eastman, Charles M. "Preliminary report on a system for general space planning" view details Abstract: A computer language and a set of programs within that language are described which allow the formulating and solving of a class of space planning problems. The language is an extension of Algol and includes means to represent spaces and objects, to manipulate them, and to test the resulting arrangements according to a variety of constraints. The algorithms used to solve problems expressed in this language rely on heuristic programming. Both the language and the search algorithms are detailed.
          in [ACM] CACM 15(02) (Feb 1972) view details