Documents
This is a collection of documents dealing with my (very old) DBOS project. There is some general knowledge in here.
WARNING! If you see "Incomplete", it is incomplete! Many incomplete documents end in random sentences, and are at best half-baked. If you read an incomplete document, I am not responsible for the resulting confusion.
Languages
| Name | Description |
|---|---|
| Language Aspects | A list of aspects that make languages expressive. Includes an analysis of a few popular languages. |
| CLOS Advantages | A summary of CLOS advantages over some other common object systems |
| Continuations | Structured programming replaces the need for continuations |
| Covariant Function Inheritance | Covers the definition of covariant function inheritance. |
| The Dynamic Dispatch Problem | Incomplete. Dynamic dispatch creates a problem with interface specifications. |
| Infix Operators | The advantages of infix operators |
| Lazy Evaluation | Incomplete. Semantics of Lazy Evaluation |
| Macros and Higher Order Functions | Looking at the various aspects of functions as parameters. |
| Multimethods | Multimethod protocols |
| Partial Evaluation | Comparing Partial Evaluation with Lazy Evaluation and Currying |
| Prototype Inheritance | A description of how inheritance can be implemented in a prototype based language. |
| Refactorings | Incomplete. A random list of refactorings. |
| Whitespace | Incomplete. Should whitespace have semantic meaning in a language? |
Meta Object Protocol
| Name | Description |
|---|---|
| Inheritance and Instantiation | A clean, formal definition of inheritance and instantiation and the relationship between them. |
| Inheritance or Encapsulation | For single inheritance systems, when should we inherit, when should we encapsulate? |
| Multiple Instantiation | The implementation of multiple Instantiation |
| Primitive Attributes | A list of minimal primitive functionality in a computing environment. |
| Reflection | Incomplete, An enumeration of some types of reflection. |
Database Application
| Name | Description |
|---|---|
| Aggregation Semantics | Incomplete, description of aggregation semantics in an OO environment and its relationship to spaces. |
| Aggregation Types | Describe the types of aggregation for implementing fast incremental versions. |
| Object-Table Mapping | How DBOS maps class definitions to tables |
| Record or Attribute Locking | Advocates the use of fine attribute level locking. |
| Self Joins | Incomplete, Adding a ninth database operator |
| Spaces | Description of spaces and why they are useful |
| UID Management | How the DBOS manages Unique IDs. |
| Var_Elem_Rec | A look at the relationship between variables, elements and records. |
DBOS Function Model
| Name | Description |
|---|---|
| Deadlock Avoidance | The DBOS avoids deadlocks by removing the conceptual mistake called "resources". |
| Function | Definition of a DBOS function |
| MSM | The Messaging State Machine definition |
| Return | Return values are modeled as messages. |
| Exceptions | Exceptions are a specialization of returns. |
Other Important DBOS Aspects
| Name | Description |
|---|---|
| Bit Field | Information and order are related . |
| Projects | Incomplete. Projects manage programming assumptions. This is an investigation into how assumptions should be managed. |
| Stability | How to implement a stable reflective system |
| Template | Definition of the template |
| Versioning | Incomplete, look at the implementation of versioning to the DBOS |
| Visual API | Overview of concepts in the DBOS visual API. |
Other Documents
| Name | Description |
|---|---|
| Definitions | List of definitions both for DBOS and generally |
| Garbage Collection | An investigation into a GC technique |
| Migration | A high level review of migration, and an attack plan for implementation. |
| References | Describes what references and symbols are, and how they are modeled in a reflective architecture |
| Serialization | Incomplete |
| State Machines | Incomplete, Examine the continuum from DFA to NDFA, and find an 0(n) conversion. |