About the technology of Cathedron
Model Driven Development (MDD)
Cathedron is based on the principle of Model Driven Development:
] ... Model-Driven Development refers to a range of development approaches that are based on the use of software modeling as a primary form of expression. Sometimes models are constructed to a certain level of detail, and then code is written by hand in a separate step. Sometimes complete models are built including executable actions. Code can be generated from the models, ranging from system skeletons to complete, deployable products...
Cited from Wikipedia.
How Cathedron implements Model Driven Development:
- We use an information model as the base for the application.
- The information model can be represented in styles such as UML, ERD or ORM.
- We extend UML with information such as identity to be able to generate primary keys and optional v.s. required columns.
- We do not generate code. Cathedron uses a run-time interpreter.
- The model is completed using two languages:
- The Cathedron Interface Language (CIL)
- Pascal Script
- Cathedron supports regeneration after the model is changed. (While some tools only offer you initial skeleton code).
Benefits of Model Driven Development
Model Driven Development enables you to increase both speed of development and the quality of your information systems. Surely MDD will not be the end of all your 'development problems', nor will it be the absolute perfect solution. It is however a very fast and reliable method to develop data driven systems.
Model Driven Development offers:
- Rapid Prototyping
- Easier communication with customers
- Verified and detailed specifications
- Rapid Development
- Reduce development costs
- Easier to calculate and estimate projects
- Compact code requiring less documentation
- Significant reduction of bugs
- Easier to share code
- Consistency through generation and architecture
- Easier to navigate through projects
- Reduce maintenance costs
- Short learning curve for customers and developers
Beyond MDD: Combining Technologies
We have never believed a single technique could do the trick. Although generation is very powerful, it is useless if you cannot easily customize the interface and create the application logic you require. For more demanding applications you should even be able to integrate code, screens and components created in a 'normal' 3GL environment. Cathedron combines several techniques to offer a flexible development environment.
|Model Driven Development||Default screens and functionality are derived from the information model (structure of your database).|
|Interface definition language||The high level interface language can be used to customize the look of the default screens.|
|Integrated scripting language||Use an normal 3GL (Pascal) to write and debug your constraints and logic. The editor includes syntax highlighting, real time information about parameters and methods, macro recording and code completion.|
|Industry standard extendibility||Extend your system by calling Dynamic Link Libraries, COM/ActiveX objects or external applications.|
|The options below are currently only available on request. They are not integrated into the standard releases of Cathedron.|
|Workflow support||Using the workflow module you can add workflow to your system. In the most simple situation you can use the workflow as an authorization schema. During the design fase you can add descriptions (Use Cases) for each process. If you maintain the descriptions they will become a valuable online manual (Perfect for ISO certification). If you want to create a system that really implements the workflow you can use Cathedron to easily create wizards and statusviews (action lists).|
|Full integration with Codegear Delphi||Integration with Delphi allows you to expand Cathedron in any way you want. Integrate your code, forms and components. You can expand the scripting language and create your own form templates.|
Model Driven Architecture (MDA)
A lot of tools claim to be Model Driven Architecture tools. Compared to the features of those tools, one could say Cathedron is an MDA tool.
Unfortunately if a tool claims to be MDA, you do not know exactly what it is capable of. To be more specific:
- Cathedron uses the so called PIM and PSM models from MDA.
- We do not import or export XMI. (Altough this should be a standard there are numerous of different XMI formats).
- We do not generate code (although this is not explicitly required by MDA).
Click here to continue to the demonstration and instruction video's.