Topic: Thesa as a database of modules

topics > computer science > programming > Group: Thesa programming system


compiling pseudocode designs
execution of hypertext nodes
extensible languages
function syntax by pattern
hypertext as external memory
hypertext nodes
hypertext nodes made of names
incremental development
literate programming
managing a Thesa database
programming with a database of modules
Thesa data model
pseudocode design
resourceful, redundant systems for reliability
reusable programming
running programs in a workspace or environment
software portability
stepwise refinement
user-defined languages


In Thesa, programming is modifying a database of descriptions. The database keeps track of each module: how it is changed, and its interrelationships with other modules. This makes programming a process of change rather than monolithic specification. Design, development, and testing are incremental. Program refinement and top-down design are supported instead of limited to paper and pencil techniques. Structured editing and development of undefined modules can be guided by the database. The user may have a workspace for flexible module modification. (cbb 5/80)
Subtopic: shared representation of interconnected, documented objects up

Quote: imagine a community of software designers viewing interconnected objects which clearly specify what a function is and how it is implemented [»belaLA10_1980]
Quote: the hard part of programming is constructing the interlocking concepts that make a software entity [»brooFP_1986]
Quote: the primary problem of programming is procedure definition; motivates threaded-code systems [»bailGV8_1977]
Note: use compiled code as disk format; IDs expanded to text as needed [»cbb_1990, OK]
Note: if the disk format is complied code, definition and executable are the same; no reduction in meaning
QuoteRef: cbb_1973 ;;9/24/74 idea representation by a collection of objects
QuoteRef: cbb_1973 ;;12/8/79 a Purna system consists of a large number of objects each defined by a small number of references to objects.
Quote: software is interlocking concepts for data sets, data relations, algorithms, and functions
QuoteRef: cbb_1973 ;;[reading (QuoteRef: snowRA_1973) Pearl is similar to Purna, uses "machines" instead of objects for defined entities

Subtopic: network vs. hierarchy up

Quote: in semantic nets, no predefined class hierarchy; every word is the root of its own hierarchy [»quilMR_1967]
Quote: in semantic nets, there are no primitive word concepts; everything defined in terms of other things in the memory [»quilMR_1967]

Subtopic: problems of network approach up

Quote: difficult to learn Smalltalk because of its size, diffuse nature, and generalist design [»nielJ5_1989]
Quote: reuse is not free; you must find the reused functions, learn their use, and avoid unexpected side effects [»nielJ5_1989]

Subtopic: Thesa as reuse up

Quote: Thesa tries to capture the semi-permanent aspect of dictionaries; no word for this kind of information [»cbb_1980, OK]
Quote: in Thesa, always work with what was done before; modify and reorganize instead of create [»cbb_1973, OK]
Quote: develop a Thesa database bottom-up by writing useful variations of an action [»cbb_1980, OK]
Quote: with cliched combinations, programmers can work by inspection instead of reasoning from first principles [»richC8_1988]
QuoteRef: cbb_1973 ;;8/7/78 The fundamental object in Purna is the name, the fundamental action is redefining a name [i.e., editing the name's definition]

Subtopic: Thesa as abstraction up

Quote: Thesa abstracts state transition semantics by names and definitions [»cbb_1973, OK]

Subtopic: personal vs. timeshared up

Quote: Thesa needs a personal computer; multiple users requires standardization that prevents a consistent interface from client to machine [»cbb_1980, OK]

Subtopic: global vs. local up

QuoteRef: cbb_1973 ;;8/20/79 Would like a local removable database, a large global database, global read only memory for shared code. Global backup medium

Subtopic: manual DB up

QuoteRef: cbb_1973 ;;5/6/79 decided to try out note cards and pencils for developing Purna functions

Subtopic: ItemID up

Quote: itemids can use hash value with a unique cross bytes
[»cbb_1980, OK]

Related Topics up

Group: database   (27 topics, 665 quotes)

Topic: compiling pseudocode designs (8 items)
Topic: execution of hypertext nodes (21 items)
Topic: extensible languages (71 items)
Topic: function syntax by pattern (15 items)
Topic: hypertext as external memory (24 items)
Topic: hypertext nodes (19 items)
Topic: hypertext nodes made of names (13 items)
Topic: incremental development (74 items)
Topic: literate programming (16 items)
Topic: managing a Thesa database (34 items)
Topic: programming with a database of modules (94 items)
Topic: Thesa data model (58 items)
Topic: pseudocode design (43 items)
Topic: resourceful, redundant systems for reliability (38 items)
Topic: reusable programming (77 items)
Topic: running programs in a workspace or environment (14 items)
Topic: software portability (43 items)
Topic: stepwise refinement (25 items)
Topic: user-defined languages
(42 items)

Updated barberCB 2/05
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.