Strategic Question 3:
How will the AngelBase technology achieve all these things?
10 Technology Concepts
AngelBase will achieve all the things listed under Strategic Question 2 by making a revolutionary change in the paradigm of information management.
AngelBase fundamentally changes:
how information is organized and manipulated (which is reflected in the AngelBase patent) and
how we understand and talk about information (which is reflected in the AngelBase metaphor).
We explain the paradigm shift by presenting Ten Revolutionary Technology Concepts, each of which, in and of itself, is a substantial paradigm shift. Taken as a group, they define the AngelBase Revolution.
Please bear in mind as you read these concepts, that they are presented in broad, high-level terms. In order to gain a detailed understanding of the AngelBase technology, you will need to attend one of our AngelBase Seminars.
|
Existing Technology: Dry, confusing, unfamiliar, boring engineering terminology. |
Angelbase: A sophisticated, charming metaphor redefines how people understand and relate to information. | |
|
Existing Technology: Focus on process. |
Angelbase: Focus on data. | |
|
Existing Technology: 10 dimensional data space. |
Angelbase: 31 dimensional data space. | |
|
Existing Technology: Procedural languages like COBOL, C++ and Java prescribe the order in which the computer is to execute instructions. |
Angelbase: The Angel Language is 100% declarative, leaving all the decisions about order of execution unspecified. This brings a drastic reduction in the volume of code. | |
|
Existing Technology: Meta-data is implicit. Meta-data is haphazard and scattered in six different places. |
Angelbase: Meta-data is explicit. Meta-data is rigorously organized, all in one place, based upon the metaphor and diagrams. | |
|
Existing Technology: Three levels of user-data: "database", "record" and "data value". |
Angelbase: Seven levels of user-data: Global Mega-Database, angelic domain, database, lattice, record, partial record and datum. | |
|
Existing Technology: Software determines an application's behavior. Thus application systems are static (once rolled into production, systems become unchangeable). |
Angelbase: Meta-data determines 100% of an application's behavior. The meta-data is on-line and can be changed by users as the system is running. Thus application systems are dynamic. | |
|
Revolutionary Technology Concept 8: |
Existing Technology: Ordinary users have no concept of meta-data or how the system works "behind the screen." Non-resonant systems. |
Angelbase: Ordinary users see both user-data and meta-data. They see (both visually and conceptually) "behind the (traditional) screen" into the relationship between their user-data and the meta-data structures and rules that govern it. Information resonance occurs. |
|
Existing Technology: It is impossible to divide software into a large number of independent processes. First Computing Epoch hardware is confined to one or a few processors. |
Angelbase: Applications are naturally organized into a large number of independent processes. Massively parallel hardware architectures of the future are supported and will define the Second Computing Epoch. | |
|
Existing Technology: The computing industry, as a whole, has evolved in a hodge-podge...the computing moster. There is no integrated master design. |
Angelbase: AngelBase, the AngelLanguage and the AngelMachine provide a holistic master design for the industry. |
Revolutionary Technology Concept 1:
Metaphor
|
Existing Technology: Dry, confusing, unfamiliar, boring engineering terminology. |
AngelBase: A sophisticated, charming metaphor redefines how people understand and relate to information. |
The AngelBase Metaphor binds together all the various complexities of the most advanced information model ever devised. At the same time, the Metaphor integrates a large number of familiar terms into a fun, life-like structure. This makes the complexity of AngelBase simple to understand. It invites people to adventure into the complexity-- complexity which is essential to the demands of the information age.
Each Metaphor term has a precise meaning within the AngelBase information model. The metaphor is (partially) explained in the Tiny Angelbase Demo on this web site. Here are a few of the terms in the metaphor, and their graphic represntations (the artwork is rudimentary and will be improved later):
A data village looks like this:
Revolutionary Technology Concept 2:
Data Focus
|
Existing Technology: Focus on process. |
Angelbase: Focus on data. |
Application systems running on current database platforms are generally designed with the primary focus on process. They are process driven. Processes are implemented as a set of "screens". When the user needs to perform a transaction in a particular process, he or she selects the appropriate "screen" and performs the transaction.
In existing systems, data is usually secondary to process. Data modeling is done primarily to support the process model. Each process is only concerned with the data that are its inputs and outputs. There is minimal concern for the overall data model, so long as all the processes can be made to work.
In traditional systems, data and process can be distinguished as follows:
Traditional Distinctions |
Project X traditional programming effort | |
Data |
the structure of data |
2.0 days |
Process |
how data is accessed (i.e. viewed and manipulated) |
98.0 days |
Processes tend to be complex. As a result, the traditional approach to building applications has been to focus the vast majority of effort on process*. "Project X" represents a hypothetical application development requiring 100 days of traditional programmer effort.
AngelBase turns this all around. AngelBase is totally data-driven. In AngelBase the distinctions must be revised as follows:
AngelBase Distinctions |
Project X programming effort in AngelBase | |
Data |
the structure of data and the rules governing the data within that structure |
9.5 days |
Process |
how data is accessed (i.e. viewed and manipulated) within the context of that structure |
0.5 days |
In AngelBase, by getting the data right, the processes usually take care of themselves automatically. This is because data is more fundamental than process.
*The advent of object technology has shifted the attention to some extent in the direction of data, but the vast majority of time is nonetheless focused on process.
Revolutionary Technology Concept 3:
Extended Dimensionality
|
Existing Technology: 10 dimensional data space. |
Angelbase: 31 dimensional data space. |
In describing a space in mathematics or physics, the term dimension is used to refer to a degree of freedom or coordinate in that space. Points in the space are described by providing a value for each dimension of the space. Such a set of values is called a vector.
Figure 1 below shows a space of squares in a grid. The space has been divided into two dimensions with integer coordinates x and y. This is the ideal way to locate squares. The square containing the dot is accessed in Figure 1 by the vector
4, 3
. The two dimensions are natural, intuitive and orthogonal (at right angles).
On the other hand, Figure 2 is an inferior, one dimensional view of the same space, where each square is simply numbered. In this case the prior two dimensions have been distorted and flattened into one dimension. We can still access any square. The square with the dot now has a one coordinate vector,
35
. However
35
is neither natural nor intuitive as was
4, 3
. Due to the awkward representation, geometric relationships and patterns in the squares will not be easily recognized or understood.
Now consider Figure 3, which is even more inferior. It again involves only a single dimension. But this time the single dimension is incomplete-- it fails to cover all of the squares. Thus the square containing the dot has no vector description in this system. Only the numbered squares are easy to access. To get to the dot we must write a procedural program.
What was a simple vector representation,
4, 3
, in Figure 1 (containing two complete dimensions) has been degraded into a complex programmatic representation in Figure 3 (containing one incomplete dimension). We can only have good, simple vectors when we thoroughly penetrate the space with sufficient and appropriate dimensions. Without good dimensions and vectors, we are reduced to the complexity of programming.
The vector representation,
4, 3
, is declarative. It states what we want without describing how to get it. The program in Figure 3 is procedural, in that it states how to get to the dot, by specifying a sequence of steps, in a particular order.
The invention of AngelBase involved the discovery of a large, 31 dimensional space, in which data is understood and managed. This is called the data space. The dimensions of data space are far more abstract than the those of geometric space. That is why they have remained hidden for so long. But the result is spectacular-- users get to the data they need by vector access, as in Figure 1, rather than via programs. And the AngelBase metaphor supports the understanding of each of the 31 dimensions. This has profound implications for information management.
By contrast, existing systems use 10 dimensions to describe the data space, and some of the dimensions are incomplete. Thus, existing systems, and the massive proliferation of procedural programs associated with them, are analogous to Figure 3.
Revolutionary Technology Concept 4:
Declarative Programming
|
Existing Technology: Procedural languages like COBOL, C++ and Java prescribe the order in which the computer is to execute instructions. |
Angelbase: The Angel Language is 100% declarative, leaving all the decisions about order of execution unspecified. This brings a drastic reduction in the volume of code. |
Most programming languages are procedural. Procedural languages not only specify what things must be done, but also specify the order in which things are to be done. Provisions must be made for sequences, looping, subroutine invocations and returns.
Some attempts have been made over the past 20 to 30 years to define declarative programming languages, which say what must be done without specifying the order. Some examples are Prolog and (pure) SQL. However, these and other such languages remain declarative only when the demands of the programs fall within some very particular, severely restricted domain. This completely rules out real-world systems. All commercial versions of SQL are, in fact, procedural languages*.
The reason that these prior attempts at declarative languages have failed in more general applications is because they were based upon a 10 dimensional data space. The 31 dimensional AngelBase data space supports the declarative specification of complex, real-world information systems. The Angel Language is 100% declarative. The order of execution is left entirely unspecified. AngelBase automatically determines the order of execution from the declarative statements.
Angels and the Angel Language go together. Each angel contains a single statement written in the Angel Language. And the only place that the Angel Language ever appears is inside of angels.
One of the biggest difficulties in creating and maintaining applications under existing technology is the enforcement of data integrity. Chris Date, one of the world's leading authorities on databases, calls for the software industry to resolve this problem:
"... we are concerned very specifically with declarative integrity rule support. ... unfortunately, few database products, relational or otherwise, provide much in the way of such declarative support. ... It has been suggested that if the DBMS did in fact provide declarative support, then as much as 90 percent of a typical database definition would consist of integrity rule declarations; thus, a system that supported such declarations would relieve application programmers of a considerable burden. At the same time, it would also enable those programmers to become significantly more productive. Declarative integrity support is an important area for development." --C. J. Date, An Introduction to Database Systems (6th Ed, 1995, p. 441, his emphasis):
AngelBase answers this call definitively with angels, specifically: guardian angels, cherubs and seraphs. Angels can be arbitrarily complex and can access the entire database. All application data is forced to comply with the data integrity rules represented by the angels. A guardian angel is a rule that could potentially be violated by users. Any user-attempted transaction which would cause a violation of a guardian angel is blocked, and the guardian angel appears and informs him or her of the rule and how it would be violated. Cherubs and seraphs are rules governing the automatic calculation of data by the system. Pristine data quality is ensured.
With traditional approaches to developing large IT (Information Technology) applications, detailed specifications are generally prepared by system designers and then handed to programmers for coding. One of the primary things that the programmers do in translating the specification into code is to impose a complex ordering on the actions that must be done.
The AngelBase implementation essentially solves all the procedural aspects of all databases, leaving only declarative programming to be done in defining a specific application. In AngelBase, system designers will simply create data villages, houses, angels, etc., rather than writing a traditional specification. Indeed, the Angel Language statements in the angels strongly resemble the kinds of statements that are typically made in well-written specifications. This results in a massive reduction in the volume of source code and the elimination of the traditional IT coding step entirely.
An AngelBase data village is an executable spec, because the specification is the source code. We call it the specification/source.
The specification/source for any AngelBase application completely and rigorously defines the application. AngelBase specification/source is compact. This compactness arises because of powerful and logical AngelBase primitives which express the extended dimensionality.
Furthermore, AngelBase specification/source is extremely robust for several reasons. First, there are essentially no redundancies. Second, each angel is self-contained, and this eliminates complex interdependencies between program parts. Third, alternative pathways and error conditions are identified and formalized right from the start.
*Indeed, even the declarative nature of pure, non-commercial SQL is shattered by the commonplace practice of writing two or more SQL programs that must be executed in a particular order to obtain the desired data result.
Revolutionary Technology Concept 5:
Explicit Meta-Data
|
Existing Technology: Meta-data is implicit. Meta-data is haphazard and scattered in six different places. |
Angelbase: Meta-data is explicit. Meta-data is rigorously organized, all in one place, based upon the metaphor and diagrams. |
As we have said, there is a fundamental distinction between user-data and meta-data. There are more than 100 terms in the AngelBase metaphor. Some of the metaphoric terms refer to user-data, such as datum, rec, record, and lattice. But the majority of the metaphoric terms refer to meta-data, such house, room, doorway, table, lamp, catalog, field, cable, and angel. In AngelBase, meta-data is formally defined as all information which describes the structure and functioning of the application itself*.
In existing applications, the meta-data is hidden from both users and managers. Indeed, it is frequently hidden from programmers as well! As traditional systems are designed, the conceptual framework represented by the meta-data is captured in a haphazard manner, scattered in the six different places:
1. screen forms,
2. program source code,
3. the physical data model,
4. off-line tools,
5. notes on paper, and
6. the minds of programmers (some of whom may have left the organization).
The meta-data is implicit rather than explicit.
In AngelBase, all the meta-data is explicit. All meta-data is defined fully, consistently and rigorously; it is organized in diagrammatic form, and it is stated in terms of the metaphor. Angels and their Angel Language statements are considered a part of the meta-data.
In AngelBase, the following three things are essentially equivalent with respect to an application system:
the meta-data
the data village (which metaphorically holds all the meta-data)
the specification/source (which is defined by a data village)
*Note: the term "meta-data" is often given a narrower definition in traditional database theory, such as the information that is defined in the so-called "data dictionary" or "system catalog." This typically includes such things as the names of the application's tables, fields, indexes, users, security information, etc. This form of meta-data is grossly insufficient for describing the entire behavior of an application, and must be accompanied by considerable additional information and lots of programs. We do not use the term "meta-data" in that limited way. Throughout this discussion, "meta-data" refers to the entirety of information that describes the structure and functioning of an application, whether we are discussing traditional systems or AngelBase.
Revolutionary Technology Concept 6:
User-Data Levels
|
Existing Technology: Three levels of user-data: "database", "record" and "data value". |
Angelbase: Seven levels of user-data: Global Mega-Database, angelic domain, database, lattice, record, partial record and datum. |
Data is traditionally organized into three distinct levels.
Traditional Level of Data |
Traditional User-Data (within the Level) |
"system" |
"database" |
"table" |
"record" |
"field" |
"data value" |
AngelBase utilizes seven levels.
AngelBase Meta-Data Level |
AngelBase User-Data (within the Meta-Data construct) |
Data World |
Global Mega-Database |
realm |
angelic domain |
data village |
database |
house |
lattice |
room |
record |
table |
rec (partial record) |
field |
datum |
Recs (a.k.a. partial records) in AngelBase lie in tables and correspond to the traditional concept of "records." In AngelBase, the term record has a more powerful meaning. The records in a room can have variant field structures. For example, if a room has three tables: A, B and C, one record might contain recs in A and B, while another record has recs in A and C. A sophisticated scheme governs the allowable variance. This permits models that simultaneously honor both unity and diversity.
A lattice* is a set of nodes interconnected by links, such as a hierarchy or a network. AngelBase contains powerful facilities for modeling data as lattices. The lattices in a house are displayed graphically, with automatic support for minimizing the number of crossing lines and making the graphs "pretty". Each node in a lattice is a record in the house's living room. Each link in the lattice is a record in a meeting room or nursery of the house. AngelBase supports advanced forms of lattices with hitch pins (in kitchens), dynalinks (in dining rooms) and bubbles.
An AngelBase database resides in a data village and consists of all the lattices and records that are controlled by a particular system administrator or "DBA", who in AngelBase is called the Village Mayor.
As Web sites evolve into Angel Sites, the Internet domains of today (such as "angelbase.com") will evolve into angelic domains. The Internet domains of today are not in any way integrated into the database framework. However, angelic domains are an integral part of AngelBase, and will enable Angel Sites to be formally linked to each other on the database level. Angellic domains reside in a realm.
The Global Mega-Database will eventually emerge on the Internet as AngelBase becomes the standard in computing. It is contained in the Data World, which consists of all the data villages. Individual data villages connect to each other over the Internet via mega-cables. Each data village has an Embassy in its Village Square. When a pair of data villages are connected, their Embassies establish a treaty that defines the terms of the connection, including fire walls, access rights and financial terms.
*A "lattice" is also known as a "topological graph."
Revolutionary Technology Concept 7:
Dynamic Operation
|
Existing Technology: Software determines an application's behavior. Thus application systems are static (once rolled into production, systems become unchangeable). |
Angelbase: Meta-data determines 100% of an application's behavior. The meta-data is on-line and can be changed by users as the system is running. Thus application systems are dynamic. |
The diagram in Figure 4 below shows how a computer system is layered into three distinct environments: hardware, software and on-line.*
In traditional systems, the software environment is subdivided into three layers: operating system, database platform and application program, as shown on the left side of Figure 5 below.
Existing applications are created by writing application program software in a traditional language, such as COBOL, SQL, or C++. The source code is then compiled into machine code (or a quasi-machine level form), and rolled into production. The resulting application system is static, because, while it is running, its behavior cannot be changed. Changing the system's behavior requires modifying the application program source code, recompiling and then rolling in the newly changed software version.
As we have said, managing user-data is the entire purpose of an application system. In both traditional systems and in AngelBase, user-data obviously resides on-line and is managed by users on-line. But what about meta-data? In existing systems, meta-data is not on-line. Indeed, there is no definitive place anywhere that a programmer, a manager or a user can go and find the meta-data. The meta-data of traditional systems, whose haphazard origins were in the six places cited above above in Revolutionary Technology Concept 5, ultimately gets buried in the compiled application program.
In AngelBase, the meta-data determines 100% of the behavior of the application. And AngelBase puts the meta-data on-line. This has a profound impact--an AngelBase application is dynamic. An AngelBase application is not created by writing software. It is created entirely by specifying meta-data on-line. Its behavior can be altered by authorized users while the system is running, simply by editing the meta-data.
Figure 5 below shows the paradigm shift from static to dynamic application systems. In AngelBase, the on-line environment is subdivided into user-data and meta-data. In AngelBase, the application program is eliminated. The arrow shows the migration of control of the system's behavior out of the software environment (as the application program) up into the on-line environment (as meta-data).
*We might have defined the three environments as: hardware, compile-time and runtime, making the distiction between the static and dynamic environments more explicit. We prefer the terms software and on-line because they are less obscure and because they more clearly represent what the user experiences.
Revolutionary Technology Concept 8:
Seeing "Behind the Screen"
|
Existing Technology: Ordinary users have no concept of meta-data or how the system works "behind the screen." Non-resonant systems. |
Angelbase: Ordinary users see both user-data and meta-data. They see (both visually and conceptually) "behind the (traditional) screen" into the relationship between their user-data and the meta-data structures and rules that govern it. Information resonance occurs. |
In traditional systems which focus on process, users get stuck in process/screen oriented thinking. They cannot see "behind the screen" into how the system works. Technical knowledge of the system's internal working is limited to software experts, who are the only ones who can change the system. Application systems evolve in a series of static releases.
AngelBase changes the whole concept of what is represented on the screen. The user first sees a data world, and then dives in, level by level, into a data village, a house and then a room, which contains records of interest. Up until that point, everything displayed on the screen is meta-data. The only way to see user data is through a doorway. He or she then opens up a doorway in the room of interest and sees the records in that room (together with other data brought into the doorway from other rooms, other houses and other data villages by wires). In this way the user naturally understands the relationship of user-data and meta-data. And the metaphor makes it fun.
Ultimately, ordinary users will begin to understand how the system works inside, which will empower them to create improvements in the system. The metaphor is crucial in this regard, because it takes the complexity of the system out of the realm of mathematical abstraction and brings it into a concrete, familiar form that people understand. This changes the software development paradigm, because after an application's initial release by programmers, the system continues to dynamically evolve within the user community. The result is a new phenomenon called Information Resonance, which is explained in on our Products and Achievements page (Strategic Question 2, Revolutionary Achievement 9).
Revolutionary Technology Concept 9:
Massive Parallelism
|
Existing Technology: It is impossible to divide software into a large number of independent processes. First Computing Epoch hardware is confined to one or a few processors. |
Angelbase: Applications are naturally organized into a large number of independent processes. Massively parallel hardware architectures of the future are supported and will define the Second Computing Epoch. |
It is obvious that enormous increases in hardware performance would be possible if there were a way to use large numbers of processors working in parallel. While there are important problems to resolve in terms of bus design and chip design, the fundamental problem that must be overcome to accommodate massive parallelism is not a hardware problem at all-- it is a software problem. The challenge is to divide the software into a large number of independent processes which can then be assigned to separate hardware processors. While minor degrees of parallelism do exist in systems today, the essential activity of database application software remains single-threaded. Virtually all computers today are (essentially) single processor "von Neumann" machines.
The reason that tradition software is so difficult to partition is because it is procedural. Things must be done in a particular order. The software is sequential-- it starts at a particular place and proceeds in a particular sequence. Breaking the code up into pieces for independent execution generally means that the later pieces in the sequence must wait until the earlier pieces are done, which undermines the parallelism.
The declarative nature of AngelBase (especially the angels), provides a natural partitioning of the system into a potentially large number of independent processes. For example, in any given database transaction, each angel involved can be assigned to a different processor. Also, separate processors can be assigned to the houses, rooms and cables involved. Complex angels can generally be further broken down into additional processes. AngelBase meta-data is non-sequential-- it has no starting point or ending point and is based upon a diagram. Therefore, potentially thousands or even millions of alternative orders exist in which execution can proceed, all of which will produce the same result in data. This is crucial for the of support of massively parallel processing.
The size and complexity of an AngelBase application can be roughly measured by the number of meta-data items (houses, rooms, tables, cables, angels, etc.). The number of independent processes on which an AngelBase application can run will thus increase at least linearly with its size and complexity.
Once AngelBase is proven in software form, it will be appropriate to create AngelBase machines in hardware, containing hundreds or thousands of processors, which directly support the parallelism of AngelBase.
These new machines (called AngelMachines) will directly execute AngelBase (without any intervening operating system) in a scalable, massively parallel manner. The high level architecture of the AngelMachine has been created by Mark, and it effectively supports the complex problems of shared, distributed resources, data access, inter processor communication and scalability.
The AngelMachine is also discussed on our Products and Achievements page (Strategic Question 2, Revolutionary Achievement 10).
Revolutionary Technology Concept 10:
Holistic Master Design
|
Existing Technology: The computing industry, as a whole, has evolved in a hodge-podge...the computing moster. There is no integrated master design. |
Angelbase: AngelBase, the AngelLanguage and the AngelMachine provide a holistic master design for the industry. |
AngelBase is designed to create an integrated whole, from the bottom to the top of the industry, encompassing all of the following:
- microchips
- machines of all sizes (from laptops to super computers)
- operating systems
- networking systems
- database platforms
- browsers and web sites (replacing http with abtp)
- application systems of all sizes (from stand-alone personal applications to massively complex, globally integrated systems).
This kind of profoundly integrated architecture has never been attempted before. It is key to creating truly dynamic systems, information resonance, and massive parallelism.
|
|
|
Click on Veronica for the |

