The Pspex project: Creating a Curriculum management domain map
Last modified 27 Jul, 2009
Published 27 Jul, 2009
A domain is an area of knowledge or activity characterized by a set of concepts and terminology understood by practitioners in that area. From a software perspective, a domain is the context in which software (systems, components, services at any level of granularity – commercial or open source) is placed. A domain is where work happens. Software is written to support such work, but before any software can be developed it is necessary to understand the domain so that the software meets a defined need. Domain Maps (described by JISC) and other analysis and design approaches such as conceptual modelling are critical for understanding the domain. Hence variant forms of domain modelling is a viewed as a capstone of many software engineering approaches where it is used to as an approach to user requirements definition and as a basis for developing information systems to meet those requirements .
Given the importance of domain modelling, any inadequacy of such models may lead to problems in the implemented system and thus may determine the acceptability and usability of software systems . One commonly cited reason for systems failure is miscommunication between business and IT personnel . Domain Modelling  provides a mechanism by which a shared understanding between business domain specialists and IT specialists positively enhances the alignment of business and IT goals leading to improved quality of IT Solutions .
Partly, the inadequacy of domain models may be attributed to the lack of integration between different perspectives of the domain. For example, a structural view – is focused on identifying key business concepts, their properties and the inter-relationships between these entities. A functional view tends to focus on production of process models, use case models and other behaviour based aspects. The 80s and the 90s saw huge efforts in the software engineering community to bring these perspectives together in methods based around object oriented modelling approaches with some success. However, object based modelling has had most impact further downstream –in design rather than requirements.
A second contributory factor may be associated with the formalisms on which most modelling techniques are based. It has been argued that more user-centred approaches used in the earlier stages of the system provides a greater opportunity for shared understanding between domain users and systems developers. However the outputs are not always at the right precision or abstraction. They also do not lend themselves to model-driven development.
What is needed then is a mechanism for enabling domain modelling that provides an integrated view of behaviour and structure using an approach that is intuitive to domain experts but still supports sufficient rigour so that designers can maximize benefits during the implementation. At the heart of the project was an expert community (Quality, Registry and Course Designers) who are experts in systems design – this community we realised would not be accessible via modelling approaches – the expected outcomes from the project namely a set of models. Instead we approached access to that community using a technique we have adopted from Michael Jackson’s work on Problem Frames. We tailored this approach to suit the community and used to develop an integrated approach to understand both structural and behavioural information. A more detailed description of the approach is discussed in section 2.
The emerging requirements from the problem frames clearly indicated that root problems in the domain are centred on programme / course assembly, rules for determining that assembly and procedures for managing changes to that courses and assemblies of courses. This we hypothesised was an identical problem to software configuration management. We then used models and techniques from that discipline to analyse the curriculum management domain. We believe that there may be significant knowledge re-use here that systems designers in HE could benefit from. Further discussion of this approach will be presented in section 3.
Our intention was originally to develop a set of software services that would implement some aspect of the curriculum management domain; instead our emerging requirements led us to a more novel approach of using the Alfresco content management framework and the Drools rules engine to develop a prototyped implementation. Section 4 will discuss the implementation that we have adopted.
Software Applications have to solve business problems of the domain in order to be considered useful. It follows then, to view a domain by considering what problems exist in that domain and find ways of adequately describing those problems. Each requirement is defined as a problem statement – problem frame. The problem frame structure has an underlying meta model those properties that need to be captured about the problem frame. In our first use of this technique we used the following properties:
Figure 1: A problem frame.
Each problem frame also includes a relevant subset of the domain information model together with roles, and business processes impacted by the problem frame. Thus the problem frame acts as a filtering tool to view domain map artifacts. Deriving and specifying problem frames is central to creating a domain map. The meta language and the benefits of a text only description required for a problem frame means that identifying and describing problem frames can be easily accomplished in a workshop setting.
In March 2007 we ran a problem frame identification workshop at the AUA conference. The workshop was a simple process – we provided a sample example of a problem frame output and A3 blank problem frame templates. Delegates were asked to work in small groups of 2-3 and identify and describe problem frames using the templates. The subject areas (within the overall domain) were used to provide a loose categorization of the problem frames identified. Delegates were then asked to prioritise and vote on the importance of problem frames identified. The results from the workshop were interesting and the table below illustrates the problem frames identified and their priorities.
Thirteen different delegates identified the tracking of changes as key problem in the domain. In addition to tracking changes, versioning and managing academics (shown in red) were seen as the key priorities of the domain.
3. Configuration Management
The problem frame analysis confirmed the original premise that many of the problems around programmes specification management relate to the understanding of the rules for programme assembly and versions. Following that analysis, we constructed a hypothesis that these problems are essentially similar to that found in software configuration management. Using that hypothesis we reasoned that a meta model derived from software configuration management would be beneficial in our understanding and management of course information. A review of the configuration management literature determined that configuration management systems to support software development typically have four component functions:
- Assembly management – e.g. makefiles and software modules
- Version management
- Rules for constructing an assembly and for managing change
- Processes and lifecycle support for change control.
These component areas were then developed further and a full meta model for configuration management was developed. This meta model would then be used as a conformance check for the domain information model developed.
Figure 2 Configuration Management Meta data
This meta model provided us with the language to develop the information model. That is, concepts identified in the domain model were treated as “instances” of the configuration management meta model. The development of the domain model of the curriculum management was driven by the need to capture the concepts and abstractions identified in the problem frames. In addition to the primary research conducted in this project, previous work on information models in the curriculum domain area was also used to inform the development of the model. These included models produced from XCRI and COVARM. The primary focus on capturing rules, policies and their application meant that we were less concerned with completeness of the domain model but more with the integration of rules with the information model. This case analysis was critical in directing us towards our implementation strategy of using the Alfresco Framework.
4. Proof of concept prototype based on Alfresco and Drools
One of the main problems that Pspex implementation needed to address is the version control of documents; i.e. the ability to track the latest version of programme specification or module specifications. Alfresco, an open source document management has been the preferred solution for a number of reasons; including a rapid content type modeling provided by third party tool: Topcased and therefore supporting an MDA approach, a support of workflow using full featured workflow engine (JPM), providing full range of infrastructure services such as versioning and a fine-grained security.
As illustrated in the diagram bellow, within the Pspex implementation, a content type model is expressed in a UML class diagram, then exported to Alfresco. Once it is loaded into Alfresco it is possible to create that type of content; i.e. specific to a particular domain, for example a module, a course or a learning outcome. Each of this specific domain type are then subject to the standard alfresco attributes such as version label, modification date, owner, and history of changes.
Figure 3: An MDA approach
Increasingly, organizations are taking a declarative approach to defining business rules rather than embedding rules in systems . Separating rules specification from implementation has many potential benefits. For example, currently credit points for programmes are computed based on rules embedded in course database systems. Changes in how such points are computed require significant change to systems at considerable cost. In a rules based system – this would be a straightforward change. Therefore, the other part of Pspex implementation was to integrate Drools, an open source business rules engine to Alfresco.
While the general principles of rules based approaches are relatively straightforward, a business rules engine requires a better user interface to make the design of rules more intuitive. Rule engine require the access to the data dynamically and use programming variables. Furthermore, most rules are written in declarative languages. Therefore, writing a rule will not only requires an understanding of run-time variable access but also declarative language constructs. An example of such a rule written in Drools is shown below.
Figure 4: Business Rule written in Drools
One of the benefits of the Drools engine is that it provides a support for the development of a Domain Specific Language (DSL) . We therefore decided to propose a language that will make the construction of rule more intuitive. Languages for defining business rules have now converged around the OMG standard – SBVR (Semantics of Business Vocabulary and Business Rules). We therefore decided to base our DSL on SBVR. An example of rule written in our DSL is shown below:
By having our DSL based on SBVR, It was possible to write rules in a human readable form using approved standard notation. Furthermore, SBVR provides an additional benefit of creating common vocabulary. This will eventually will allow the sharing between different organisations in Higher Education and thus sharing business rule (policy) expressions. A fragment of this vocabulary is shown below:
We have formulated an approach to domain map modelling using problem frames that is more intuitive to end-users and provides structural and behaviour integrated view of domains that supports downstream development work. Our analysis of the problem frames led us to conclude that the course management and in particular the ways in which programmes are assembled from modules using various business rules and their subsequent change management is closely aligned with concepts of software configuration management. This allowed us to take knowledge and expertise from a different domain and apply it to the domain of curriculum management. Programmes specifications and module specifications and rules governing assembly of programmes has a natural fit with the Alfresco content management framework. We have developed a proof of concept implementation of Alfresco that is integrated with the Drools rules engine such that we can track changes to modules and have automatic triggering of rules to ensure that key constraints are not violated.
Dr Samia Oussena is a senior lecturer and an enterprise fellow at Thames Valley University and has a research background in methodologies and software application development – including business process modelling. Prior to entering academia, she had extensive industrial experience in software development in a number of application development projects for the insurance and oil & gas sectors.
Samia's current research concerns software architecture issues relating to E-Learning systems; of particular interest is the application of service-oriented architectures for E-Learning and E-admin in the Higher Education sector.
Prof. Balbir Barn is at Middlesex University where he is a Professor in Software Engineering and is leading a number of research projects in a range of different areas - mobile computing applications, business process modelling methodologies and domain modelling. The projects have centred on solving complex problems in higher education information management and have broadly applied model driven architecture principles. Before entering academia, Balbir has worked in a number of research labs for major software vendors including Texas Instruments. At TI, Balbir specialised in the meta model design for one of the earliest and most successful CASE tools to-date - the IEF(tm). Following a move to Sterling Software - Balbir led the methodology development and software design activities for one of the first dedicated Component Modelling toolsets - COOL:Spex and was also part of the Sterling Software team that contributed to the OMG UML 2.0 specification.
 Moody, D. L. (2005) Theoretical and practical issues in evaluating the quality of conceptual models: current state and future directions. Data & Knowledge Engineering 55, 243-276.
 Lauesen, S. and Vinter, O. (2000). Preventing Requirement Defects. In Proceedings of the Sixth International Workshop on Requirements Engineering: Foundations of Software Quality (REFSQ 2000), Stockholm.
 Standish Group, The CHAOS Report, in: The Standish Group International, Available on-line at http:// www.standishgroup.com/sample_research/chaos_1994_1.php, 1994 www.standishgroup.com/sample_research/chaos_1994_1.php, 1994
 Ribbert M, Niehaves B, Dreiling A, Holten R (2004) An Epistemological Foundation of Conceptual Modeling. In Proceedings of the Twelfth European Conference on Information Systems (Leino T, Saarinen T, Klein S eds.), 1557-1568, Turku School of Economics and Business Administration, Turku, Finland. (ISBN 951-564-192-6)
 Reich, B. H. and Benbasat, I. (2000). Factors That Influence the Social Dimension of Alignment between Business and Information Technology Objectives. MIS Quarterly, 24 (1), 81-113.
 Jackson, M (2000) Problem Frames: Analyzing and structuring software development problemsAddison-Wesley Longman Publishing Co., Inc. Boston, MA, USA
 (2000). Prepublication 1998 draft of the first release of "The Business Motivation Model," then called "Organizing Business Strategy: The Standard Model for Business Rule Motivation", Business Rules Group, 2000.
 Drools Rule Engine manual, [Online] Available from: http://downloads.jboss.com/drools/docs/184.108.40.20694.GA/html/ch02s05.html
 Deursen, V., Klint, A, P. and Visser, J. (2000). Domain-specific languages: an annotated bibliography. SIGPLAN Not. 35, 26-36.