Topic: programming with a database of modules

topics > computer science > programming > Group: program representation

information retrieval
object-oriented programming
program module

CADES structural modeling with holons
compiling pseudocode designs
descriptive languages
design pattern
domain specific language
program module as encapsulation
extensible languages
function library
functional programming
hypertext as external memory
hypertext nodes
identifying program modules
object code linkers and loaders
object-oriented databases
predefined program units
reusable programming
running programs in a workspace or environment
semantic grammar
software components
symbol table
Thesa as a database of modules
user-defined languages

Subtopic: small vs. large modules up

Quote: many programming constructs, may be better than one or two general-purpose constructions [»greeTR_1980]
Quote: it is better to split up functions into smaller pieces which may be useful for other purposes; abstraction [»wileDS11_1973, OK]

Subtopic: browsing up

Quote: a programmer needs to maneuver through a space of descriptions to view the interconnections
Quote: a partially completed program consists of many, interrelated, small components; need to keep track of them [»hendP9_1975]

Subtopic: assemble code from parts up

Quote: a well-structured program can always be written as a short text that names other programs that are themselves short [»parnDL12_1994]
Quote: application developers should assemble or reuse code; without using a facility to write code [»mariB5_1996]
Quote: since programs can only be understood in small chunks, they should always be presented in complete, small pieces [»parnDL12_1994]
Quote: use customization of existing parts to create software systems in Smalltalk; through composition and refinement [»goldA10_1995]
Quote: every system part in Smalltalk has the same power as the whole
Quote: Self emphasizes concreteness, uniformity, and flexibility: program by copy-and-modify, uniform objects and messages, flexible slot structure [»smitRB10_1995]
Quote: construct modular routines that solve anticipated problems, and integrate these routines into an operating system [»bailGV8_1977]

Subtopic: fragments up

Quote: reuse traits in Larch to standardize notation, save time, and avoid errors [»guttJV9_1985]
Quote: a rubble program, or proto-program, is a loosely related collection of program fragments; includes one for each program output
Quote: AUTOPASS commands by prestored templates which the task planner turns into a program [»leeCS_1986]

Subtopic: composition or configuration language up

Quote: Piccola is a composition language for expressing configuration, connectors, coordination, and glue abstractions [»acheF9_2000]
Quote: a Configuration Description Language describes configuration options for eCos in a hierarchical, tree-like fashion; ConfigTool checks consistency and dependencies [»thomG1_2000]
Quote: BACO is a user interface that supplies a framework for linking software modules for applications [»vanmJ1_1977]
Quote: in BACO, install a new command by adding an entry to the symbol table and linking the required routines [»vanmJ1_1977]
Quote: BACO looks up command for A+B as $R+R where R stands for real [»vanmJ1_1977]
Quote: BACO calls print routine for PRINT X; since X is a real, its symbol is $$RA (the code for real-to-string conversion) [»vanmJ1_1977]

Subtopic: database up

Quote: can base software languages on operators and operands in a database and data dictionary, e.g., some report generators; great potential [»joneTC4_1979a]
Quote: AIM: database of statements with arguments represented by descriptive names [»shimBE4_1987]
Quote: each task-level statement calls a routine with arguments from the appropriate databases [»shimBE4_1987]
Quote: CADES generates code from a formal holon description and a design information system database [»pearDJ7_1973]
Quote: CLU uses a database of descriptive units; built incrementally; shows abstractions, parameters, operations, clusters, cross references [»liskBH2_1976, OK]
Quote: Consul can incorporate new tools into its database
Quote: Gibbs chapters are stored in a database for reuse by others
Quote: Gibbs describes a program by a set of specifications called chapters [»bergD12_1985]
Quote: Gibbs chapters document FORTRAN programs and could generate them [»bergD12_1985]
Quote: a MicroTool program is a database of organized, cross-referenced data [»elshJL1_1991]
Quote: Scribe has a database of definitions for producing a document type on a printing device [»reidBK_1980]
Quote: TOPD stores fragments of design notations and their interrelationships in a database; can represent any stage of development [»hendP9_1975]
Quote: everyone liked TOPD's database; allowed retrieval of logical program structure using a logical index [»hendP9_1975]

Subtopic: environment up

Quote: a programming language defines the fixed and given things; in ML this is the environment [»spooCR4_1986]
Quote: in most programming languages can parse programs independent of environment; cannot in ML [»spooCR4_1986]
Quote: Napier88 uses a persistent store for program fragments packaged as environments; allows control of namespace and compilation [»dearA4_1993]

Subtopic: module or component up

Quote: want a dialogue style of programming with a modular distribution of knowledge and clean communication between pieces of knowledge [»atkiR_1977]
Quote: a programming system should provide a uniform framework for information that now appears in documentation, declarations, and assertions [»winoT7_1979]
Quote: the major design goal for Eiffel was mass-produced software components [»meyeB9_1990]
Quote: Modeler describes software as a single unit of text; like a card deck for a bare computer [»lampBW6_1983]

Subtopic: module registry or assembly up

Quote: MJ module component registry with import/export lists, access control, and initialization code [»corwJ10_2003]
Quote: Modula-2 interpreter represents modules by data and code frame; access procedures by their index; dynamic linking [»debaEH_1990]
Quote: store strong-named assemblies in a global cache verified through digital signatures [»meijE10_2002]

Subtopic: module naming up

Quote: software components should have strong names; includes a simple, readable name, a GUID, version, owner, language, cultural region, processor and platform constraints [»meijE10_2002]
Quote: people can cope with many programming constructs as long as they can easily discriminate them

Subtopic: library up

Quote: construct programs from specified units, reuse units written by others, any program may become a unit in the library [»perlAJ1_1986]
Quote: the experienced user often attaches so much importance to the available libraries that the language itself is considered of secondary importance [»stroB_1987]
Quote: build applications from a library of building blocks
Quote: use parameters with library subroutines; creates a large, multi-address order code [»wheeDJ6_1949]
Quote: a programming system should use a library of subroutines as its base [»wilkMV_1985]
Quote: to use a GP library, need a catalogue of written descriptions for each routine [»randS_1957]
Quote: since a GP library changes rapidly, need to be able to read as well as write routine descriptions [»randS_1957]
QuoteRef: shawCJ_1963 ;;54 Jovial's compool (central communication pool) is a data description library and system library
QuoteRef: coheS4_1974 ;;118 Speakeasy is a simple processor with extensive libraries and associated help documentation

Subtopic: functional up

Quote: AST systems can retrieve the whole state, retrieve the definition of a function, or compute the new state [»backJ8_1978a]
Quote: in FQL, have a database of functions and a set of functionals that can operate on functions; e.g., extension and restriction [»buneP1_1981]
Quote: in FQL, a function can create a function; user can build a database of functions [»buneP1_1981]

Subtopic: scripting up

Quote: scripting in Balsa was originally for demos but became important for developing worked-out examples, visualizations, and dynamic modes [»browMH1_1985]

Subtopic: language fragments up

Quote: a general purpose compiler can translate special notations by combining packages of library information; e.g., expressions and function calls [»holtAW5_1958]
Quote: AED compilation produces merbes by merging merbes and vocabulary merbes; merbes have a parameter header and code with parameter substitution; can create new vocabulary merbe [»rossDT5_1964]
Quote: the semantics of an IST command is defined by a template of file system types [»osteLJ11_1983]
Quote: with a user tool for adding a tool fragment, IST will become a flexible, extensible system that will grow and adapt to the needs of a community [»osteLJ11_1983]
Quote: given the appropriate tool, a user's specifications for a tool fragment can be incorporated with the IST file system
Quote: Dylan uses definitions instead of files; each object, or source record, can be directly manipulated or edited [»dumaJ6_1995]
Quote: source records in Dylan contained code fragments, variables, etc. linked via a database and user-defined source container groups [»dumaJ6_1995]

Subtopic: dictionary up

Quote: an extendable dictionary of words that connote actions is similar to subroutine packages [»tuckA1_1975]
Quote: compile statements by symbol pairs invoking a generator; context not needed [»perlAJ4_1957]
QuoteRef: bennRK6_1968 ;;3-6 maintains a dictionary [Build]
Quote: CONTROL is in production; steadily adding (named) sets for scheduling, order tracking, data collection, etc. [»ruhlRC11_1976]
Quote: a Forth word is identified by length and first three characters

Subtopic: Programmers Assistant up

Quote: Programmers_Assistant library is different from normal libraries in that it contains program fragments in the form of plans instead of code [»wateRC1_1982]
Quote: Programmers_Assistant library will need to contain several thousand program fragments [»wateRC1_1982]
Quote: the library in Programmers_Assistant defines a vocabulary, i.e., names for common algorithms and named parts for those algorithms [»wateRC1_1982]
Quote: Programmers_Assistant editor has commands for building a program by combining prototypes from the library; e.g., 'implement' an unfilled role [»wateRC1_1982]
Quote: the name of a stereotypical program plan is an explicit label for a structure that will be used repeatedly
Quote: a Programmers_Assistant programmer uses 'the' to reference a specific part of a plan [»wateRC1_1982]
Quote: a Programmers_Assistant programmer uses 'a' to create an instance of a plan [»wateRC1_1982]
Quote: a Programmers_Assistant plan is a flow chart with arcs showing data flow between segment ports and control flow between segments [»wateRC1_1982]
Quote: Programmers Assistant's plan building methods use structured programming constructs and composed loops which process streams of values [»wateRC1_1982]
Quote: Programmers_Assistant maintains a program and a plan; the programmer can edit either and the analyzer or coder respectively updates the other [»wateRC1_1982]
Quote: Programmers_Assistant analyzer performs segmentation to group segments which interact heavily [»wateRC1_1982]
Quote: Programmers_Assistant surface analyzer constructs a surface plan from the program's intermediate form; primitive operations with data and control flow [»wateRC1_1982]
Quote: Programmers_Assistant shows code instead of plan because code is concise, unambiguous, and familiar [»wateRC1_1982]

Subtopic: programming plans and cliches up

Quote: plans for programming can be sequenced, nested, merged or tailored [»soloE9_1986]
Quote: plans for programming are difficult to merge effectively; novices almost always make mistakes [»soloE9_1986]
Quote: the basic building blocks for programming include stereotypical goals and plans; like pseudocode [»soloE9_1986]
Quote: programmers think in terms of cliched combinations of elements instead of assignments and tests
Quote: with cliched combinations, programmers can work by inspection instead of reasoning from first principles [»richC8_1988]
Quote: a programming cliche is a skeleton which doesn't change, a set of roles which do change, and constraints on what can fill the roles [»richC8_1988]
Quote: the central feature of inspection methods of programming is the use of cliches
Quote: the benefits of automatic programming are from the reuse of knowledge about cliches [»richC8_1988]
Quote: usage cliches should be given first class syntactic status in programming languages, databases, and knowledge representation [»ridjD6_1983]

Subtopic: programming without discrete components up

Quote: with traditional software, a system is not made of discrete components; and if discrete components exist, they are not used elsewhere [»stroB_1991]

Subtopic: problem with scale up

Quote: the Symbolics LISP machine has 30,000 functions, 3300 classes (flavors) and 4400 pages of documentation; is this too complex to use

Related Topics up

Group: database   (27 topics, 665 quotes)
Group: information retrieval   (25 topics, 674 quotes)
Group: object-oriented programming   (26 topics, 822 quotes)
Group: program module   (10 topics, 336 quotes)

Topic: CADES structural modeling with holons (24 items)
Topic: compiling pseudocode designs (8 items)
Topic: descriptive languages (22 items)
Topic: design pattern (17 items)
Topic: domain specific language (8 items)
Topic: program module as encapsulation (28 items)
Topic: extensible languages (71 items)
Topic: function library (50 items)
Topic: functional programming (45 items)
Topic: hypertext as external memory (24 items)
Topic: hypertext nodes (19 items)
Topic: identifying program modules (26 items)
Topic: object code linkers and loaders (31 items)
Topic: object-oriented databases (15 items)
Topic: predefined program units (6 items)
Topic: reusable programming (77 items)
Topic: running programs in a workspace or environment (14 items)
Topic: semantic grammar (23 items)
Topic: software components (11 items)
Topic: symbol table (4 items)
Topic: Thesa as a database of modules (23 items)
Topic: user-defined languages
(42 items)

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