Browse Prior Art Database

Smallworld - An Object-Based Programming System

IP.com Disclosure Number: IPCOM000148536D
Original Publication Date: 1981-Sep-08
Included in the Prior Art Database: 2007-Mar-30

Publishing Venue

Software Patent Institute

Related People

Laff, M.R.: AUTHOR [+2]

Abstract

RC 9022 (#39528) 9/8/81 Computer Science 15 pages Smallworld An Object-Based Programmin~: System M. R. Laff IBM Thomas J. Watson Research CenterYorktown Heights, Kew York 10598 Abstract: Programming systems tradit:iorlaIly deal with only a few different types of data objects. Operating system command languages, for example, are concerned w th files and programs. Typical programming languages deal with computer-related objects such an integers, character strings, and records. Thls is in sharp contrast to the types of things non-programmer computer users reason about, that iseveryday objects in the real world. Smallworld, on the other hand, is a programming system in which the real-world is represented by objects which have properties. A property of an object represents a fact about the corresponding real-world entity. Thus Smallworld programs, which operate on objects structured in this simple but general way, are "smart": they can take into account all of the relevant facts about (properties of) the objects they are dealing with.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 15% of the total text.

Page 1 of 18

RC 9022 (#39528) 9/8/81
Computer Science 15 pages

Smallworld - An Object-Based Programmin~: System

M. R. Laff
IBM Thomas J. Watson Research Center
Yorktown Heights, Kew York 10598

Abstract: Programming systems tradit:iorlaIly deal with only a few
different types of data objects. Operating system command languages, for
example, are concerned w th files and programs. Typical programming
languages deal with computer-related objects such an integers, character
strings, and records. Thls is in sharp contrast to the types of things
non-programmer computer users reason about, that is
everyday objects in the real world.

Smallworld, on the other hand, is a programming system in which the
real-world is represented by objects which have properties. A property of
an object represents a fact about the corresponding real-world entity.

Thus Smallworld programs, which operate on objects structured in this
simple but general way, are "smart": they can take into account all of
the relevant facts about (properties of) the objects they are dealing
with.

This report provides a definition of Smallworld and a sample console
session giving several examples.

[This page contains 1 picture or other non-text object]

Page 2 of 18

[This page contains 1 picture or other non-text object]

Page 3 of 18

introduction

Programming systems traditionally deal with only a few different types of data objects. Operating system command languages, for example, are concerned with hardware resources, such as processors, files, and printers. Typical programming languages deal with data items such as integers, character string, and records. Tine computer professional has long used these tools to design computer applications to be used by other professioeals, or perhaps by non-programmer users. These designs represent the information to be pr~cessed
as computer data structures and program organization. Often the programmer bases these design decisions on efficiency considerations, leading to obscure implementations.

The programmer is comfortable relating the integers and character strings contained in the fields of the employee record to the actual facts about the employee. For the non-programmer, however, the structure imposed by the record organization may be unnatural and perhaps even inadequate. Pieces of information may appear to be interrelated in complex and perhaps changing ways. He would really like to be able to represent the informat ion in a much more flexible, easj to manage form.

Smallworld

Smallworld is a programming system in which t;he dqta is structured in just

such a way. The basic entities are objects which have properties. Object

[This page contains 1 picture or other non-text object]

Page 4 of 18

names. property names, and property values are character strings. Given an object's name and the name of a propery of that object one can obtain

the value of th...