The development of the domain model is the most complex and time-consuming task in the development of an ITS. ASPIRE supports this process by automating some of the tasks required, and providing support for authors. The authoring process in ASPIRE consists of the following seven steps:

- Modelling the domain structure;
- Composing an ontology of the domain;
- Modelling the problem and solution structures;
- Designing the student interface;
- Adding problems and solutions;
- Generating constraints (syntax and semantic);
- Validating the generated constraints.

The architecture of ASPIRE-Author is illustrated in Figure 1. The Authoring Controller is the central component which manages the authoring process and communication between the various components of ASPIRE-Author. The Domain Structure Modeller supports step 1 of the authoring process, by allowing the author to specify the general characteristics of the chosen instructional domain. This information is stored as the initial part of the domain model. The author then specifies the domain ontology using the Ontology Workspace (step 2). The Problem/Solution Structure Modeller allows the author to specify the structure of problems and solutions in the domain (step 3). The Student Interface Builder supports the author in specifying the initial version of the student interface (step 4), which will be used to communicate with students. The author uses the Problem/Solution Editor to provide examples of problems and their solutions (step 5). On the basis of all specified information, the Constraint Generator develops the domain knowledge necessary for the ITS to be able to analyse students' solutions (step 6). This knowledge is represented in terms of constraints, which describe the syntax and the semantics of the instructional domain. The generated constraints are validated in step 7. The developed domain models are maintained by the Domain Model Manager.