OMDoc as a Modular Format
A modular approach to design is generally accepted as best practice in the development of any type of complex application. It separates the application’s functionality into a number of “building blocks” or “modules”, which are subsequently combined according to specific rules to form the entire application. This approach offers numerous advantages: The increased conceptual clarity allows developers to share ideas and code, and it encourages reuse by creating well-defined modules that perform a particular task. Modularization also reduces complexity by decomposition of the application’s functionality and thus decreases debugging time by localizing errors due to design changes. Finally, flexibility and maintainability of the application are increased because single modules can be upgraded or replaced independently of others.
The OMDoc vocabulary has been split by thematic role, which we will briefly overview in Figure 10.1 before we go into the specifics of the respective modules in Chapters 13 to 21. To avoid repetition, we will introduce some attributes already in this chapter that are shared by elements from all modules. In Chapter 22 we will discuss the OMDoc document model and possible sub-languages of OMDoc that only make use of parts of the functionality (Section 22.3).
The first four modules in Figure 10.1 are required (mathematical documents without them do not really make sense), the other ones are optional. The document-structuring elements in module DOC have an attribute modules that allows to specify which of the modules are used in a particular document (see Chapter 11 and Section 22.3).
KeywordsModular Format Thematic Role Conceptual Clarity Style Sheet Cascade Style Sheets
Unable to display preview. Download preview PDF.