Map
Index
Random
Help
Topics
th

Topic: Thesa as a database of modules

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



Group:
database

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

Summary

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.