ChiMu  
 
Menu Edge About   Products   Services   Projects   Publications  
  Projects > MONDO > Design Document      Previous Page Previous TOC Next Next Page

Overview

This document describes MONDO, a generalized architecture for encoding, modeling, and processing information. MONDO is the result of evolving and integrating the concepts from descriptive markup with the concepts from object-oriented information modeling. This produces a very flexible and powerful system for working with both structured documents and human-readable information models, and removes the boundaries separating them. The techniques and tools from multiple industries can be focused on common problems.

MONDO is very general and can be used with many different types of projects. The following are some of its current or possible applications:

  • Structured Document Management
  • Object Serialization and Interchange
  • Hypertext
  • Literate Programming
  • WWW Sites
  • Program Properties and Localization
  • Data creation and backup for Information Systems

Some of these applications may sound repetitive. That is because they are, but in the past most of the applications have used completely different tools. MONDO uses a single architecture and provides core functionality to handle the common needs of these applications.

On a more fanciful level, some of MONDO’s concepts may have much broader impacts when combined with other technologies. These could include language-independent object agents moving around the internet, ultra-large knowledge bases instead of the textual WWW, the wide-spread reemergence of LISP with a different syntax, or a dramatic simplification of CORBA like technologies. These are the Blue-Sky & Blue-Plane thoughts regarding MONDO.

But for now, MONDO will try to do a few important things well, integrate with as many good technologies as possible, and see where this all leads.

Organization

This document is organized to first introduce you to the MONDO concepts and design and then go into more detail about each of its components. This introduction and detailing occur in the first nine chapters. Chapter 10 shows how the MONDO architecture can be applied to specific tasks that are from totally different fields. That MONDO can support these different tasks well shows that it is a successful architecture for existing applications.

The subsequent chapter contains blue-sky thoughts and proposals for how MONDO could be useful in some non-obvious and some unexpected ways. The document finishes with appendices that contain end notes, a glossary, suggested reading, and the OML syntax.

Prerequisites

A lot of patience. The MONDO project integrates several dense and mysterious fields that each has its own terminology. It will be rare to be familiar with all the terms even if they are well defined within each of the fields. Add to this MONDO or ChiMu specific terms can make the document hard to follow. I can only hope we have done a good job at using the most accepted terminology and explaining new terms. The suggested reading chapter can direct you to fuller explanations of the concepts that are referred to and integrated within MONDO.

The MONDO WWW site at:

http://www.chimu.com/projects/mondo/

contains FAQ’s about MONDO and status information on the project.

This document is not tailored to a specific background nor is it gentle. We are planning to do SGML, OO, and LISP oriented introductions to MONDO but none of these will be ready anytime soon. A Gentle Introduction to MONDO would be nice too (even if it sounds like an oxymoron) but is not on the horizon. We are hoping that the MONDO design is good enough and simple enough that it is gentle even if the documentation is not.

Supplemental Reading

The suggested reading chapter provides a selection of publications that are very relevant to MONDO. This list is incomplete but still very long. If you could only read one book from each section I would have to choose the following for their diversity, relative accessibility, and depth in areas related to MONDO:

Literary Machines

Nelson 81

Object-Oriented Modeling and Design.

Rumbaugh+BPEL 91

Developing SGML DTDs: From Text to Model to Markup.

Maler+A 96

Structure and Interpretation of Computer Programs.

Abelson+S 96

Status and Feedback

This is a partially finished initial public draft of this document. Please be kind. There are missing chapters and missing sections within chapters. Most of these should be finished by the beginning of December. Information on the status of the MONDO project can be found at the MONDO WWW site.

Any and all feedback would be highly appreciated. Please send them to:

mark.fussell@chimu.com

or

mondo@chimu.com

History

v0.3.1

971127

Added sections 4.2 through 4.5 (Building and Recipes), fixed the conclusion of chapter 5 and added a comparison table. Cleaned up chapter 10.

v0.3

971125

First public release to XML-Dev and c.t.sgml

Acknowledgements

MONDO is mostly other people’s work. MONDO is the result of unifying concepts from information modeling, structured document processing, object-oriented and functional programming, and many other fields. All the hard foundation work for MONDO was done by the people in those fields. Some of these people are listed in the references but there are many, many more. I am grateful to all of them.

Special thanks must go to the progenitors of the concepts which are used within MONDO: Alan Kay, Charles Goldfarb, E.F. Codd, John McCarthy, Kristen Nygard, C.J. Date, Guy Steele, and Donald Knuth. I feel heavily indebted to their great thoughts, their writings, and the resulting work that they have caused.

I will also define terms and concepts as part of MONDO but the reader should be aware that these terms are usually borrowed from some other field. It is impossible to explicitly acknowledge (or even identify) each source for each term during the body of this document, but I recognize that the work is not original and the reader may want to look at the references to search for the original conception.

 
Projects > MONDO > Design Document Previous Page Previous TOC Next Next Page