TableCode: Defining, Extending and Deploying Object-Oriented Programs Directly from Databases
Courtyard (room B)
Thursday, 12:00, 45 minutes
This event is also being given Wednesday at 14:00.
Salleh Diab, TableCode Software Corp.
Yeh Diab, TableCode Software Corp.
Demonstration number: 19TableCode is a new way to create software based on a metamodelling approach to define an object-oriented program in databases. TableCode extends the OO paradigm to provide an extended data model for the Object, relating the Object to both its Application and Domain. The TableCode demonstration consists of three parts: First, we will show how an OO program can be defined as metadata in databases, presenting an intuitive, clean and easily extendible framework for the source data. A "modeler" program is used to guide a developer (or a domain expert) to create the tables modeled by four schema. This modeler program also contains an internal programming language used only for the class function members. Second, with the objects now defined in databases, we will show how the OO paradigm can be extended to include application and domain metadata. Specifically, by extending the metadata "vertically" new concepts in OO will emerge, namely "application inheritance" and "software catalog inheritance," similar to class inheritance. Extending the metadata "horizontally" will add other metadata to the Object's metadata definition to represent the real-world object. This part of the demonstration will also show how generics are applied by passing metadata information from higher levels to lower levels, and how this metadata can be retrieved from inside the member functions. (And also how Aspect's "Obliviousness" and "Quantification" concepts can be applied in TableCode.) Finally, using a virtual machine, we will show how an end-user can deploy an application directly from the databases. Using the application inheritance concept, the end-user can now inherit, intermingle and work with several applications dynamically at run-time - all on a single "Smart" document. We will show how a Universal Unique ID represents an instance of the Object as well as its Application and Domain.