Ontology-Driven Development of Intelligent Educational ... - IEEE Xplore

2 downloads 2127 Views 193KB Size Report
Ontology-driven Software Development (ODD) would be suited for the development of intelligent educational systems such as Athabasca University's eAdvisor ...
Ontology-Driven Development of Intelligent Educational Systems Gordon Deline

Fuhua Lin

Dunwei Wen

Dragan Gašević

Kinshuk

School of Computing and Information Systems, Athabasca University, Alberta, Canada, T9S 3A3 [email protected] [email protected] [email protected] [email protected] [email protected] Abstract: Despite the opportunities to improve software development though the use of ontologies, there have been few reports giving guidelines for developing such systems based on real case studies. This paper explores what approach to Ontology-driven Software Development (ODD) would be suited for the development of intelligent educational systems such as Athabasca University’s eAdvisor - an intelligent academic advising system. With the goal of exploiting synergies with proven software engineering practices to meet the needs of both those who develop the system and those who govern projects, baseline processes for ODD of eAdvisor have been developed. Initial analysis of the feasibility of these baseline processes from performance and complexity viewpoints took place using qualitative analysis of focused interviews. ODD is especially appropriate for the development of intelligent systems with an ontology-based architecture and can leverage familiar and proven software engineering tools and techniques.

I. INTRODUCTION Ontologies, and more generally ontology-based systems, have emerged as a central issue for the development of efficient Internet-based applications. Ontology-driven systems are intelligent and ontologies represent a way to efficiently access a large body of Internet information spaces. Ontologies aim at capturing domain knowledge in a generic way and provide a commonly agreed understanding of a domain, which may be reused and shared across applications and groups. Ontology Driven Software Development (ODD) makes the subject domain ontology the driver of the software development process. ODD is a convergence of traditional software engineering and Semantic Web practices and much of the promise implicit in ontology-driven approaches is the result of synergies realized from this convergence [1]. ODD holds much promise in general and is applicable for the development of ontology-driven educational intelligent systems. However, there have been very few reports giving guidelines for developing such systems based on real case studies and widelyaccepted standard development methodologies have yet to emerge. At Athabasca University, an intelligent ontologydriven academic advising system called eAdvisor (www.e-advisor.org) has been developed for use by

1-4244-1190-4/07/$25.00 ©2007 IEEE.

34

graduate students [2]. Using eAdvisor development to provide a focus, we have recently formulated baseline processes appropriate for ODD of intelligent educational systems such as eAdvisor. These baseline processes have the goals of meeting the needs of those who specify and develop systems (Developer stakeholder) and those who initiate and govern development projects (Sponsor stakeholder), and allows for controlled incremental continuous improvement. To validate the feasibility of the baseline processes from performance and complexity points of view, focused interviews were held with technical and domain experts representative of the Developer and Sponsor stakeholder groups. By integrating ontology development with familiar software engineering processes, our baseline processes support the Developer stakeholder (subsumes all who work on analysis, specification, and implementation) while meeting the needs of the Sponsor stakeholder (subsumes all who initiate and govern development projects) and leveraging familiar and proven Software Engineering tools and techniques. II. RELATED RESEARCH This section provides necessary background and positions our work through a brief review of how ontologies are used in software engineering, ODD, and synergies between ODD and proven software engineering practices. A. Ontologies in Software Engineering Ontologies can be used in software engineering, both to facilitate the development of systems and as run-time elements of systems. Happel & Seedorf [3] position the use of ontologies in the software engineering lifecycle as well as by usage, classifying them by development/runtime and infrastructure/software. Ontologies can fill ‘infrastructure’ or convenience roles – they are used to support developers during development of systems (Ontology-enabled Development), and also to support run-time systems (Ontology-enabled Architecture). Of more relevance to this paper is the more direct use of ontologies in the software system’s problem domain - systems use ontologies as key run-time components (Ontology-based Architecture) and ontologies can be used to model the

PACRIM'07

problem domain during development (ODD). Of these four areas described in [3], our work can be positioned as focusing on ODD of ontology-based architecture systems. B. Ontology-Driven Software Development ODD is when ontologies are used to model the problem domain during development and the subsequent development effort is driven by this problem domain model – the problem domain ontology becomes the key development artefact. ODD can be seen as a natural fit for intelligent systems such as eAdvisor that have an ontology-based architecture.

one-on-one interviews with a group of technical experts representative of the Sponsor and Developer stakeholders. The diagram of Figure 1 illustrates, at a high level, the research methodology used to develop our baseline processes. The baseline processes were developed as a result of the first three phases (Review, Synthesis, and Interviews & Analysis). The final activity (‘Use and Improve Processes’) is when the processes are used and incrementally improved over time.

C. Synergies with Model Driven Architecture By building on proven software engineering practices, we facilitate adoption by the Developer and acceptance by the Sponsor stakeholders. To realize these synergies we chose to see Ontology development as the first step of a Model Driven Development process as enabled by the OMG’s Model Driven Architecture (MDA) (http://www.omg.org/mda). Model Driven Development (MDD) can be seen as an evolution of CASE methodologies that leverages the industry-standard UML as one example of a model language that can be defined by using MDA principles. MDD focuses on machine-readable models of the application solution, enabling automatic generation of code and transformations between different modeling languages. In this manner, models become the main artefacts developed and maintained during the software development process. As an ontology models a business domain in a machine-readable format, ontology development leads into MDD such that ODD can be seen as subsuming MDD. The W3C Semantic Web Best Practices & Deployment Working Group’s working draft [1] further solidifies MDD as a vehicle to support ODD. The OMG’s Ontology Definition Metamodel (ODM) standard [4] has been submitted, which explicitly states there is a lot of potential for bridging software engineering and Semantic Web technologies.

III.

METHODOLOGY

Our approach was to develop baseline processes for intelligent systems development and iteratively refine these processes based on actual experience using them. Given the lack of available quantitative data on ODD methodologies, we developed our baseline processes using best practices identified through a literature review and qualitative analysis. The review of literature of related research included technical and working papers specific to the design and development of eAdvisor. Qualitative analysis was supported by focus group and

35

Figure 1: Research Methodology Qualitative analysis was primarily selected as there is a dearth of available quantitative data on ODD development and a study that would provide the volume of data required to perform quantitative analysis was not feasible for our timelines. The qualitative analysis undertaken supported development of a reasonable baseline methodology that will serve as the basis of future quantitative analysis. Goal-focused interviews served to maximize the benefit of the technical interviewees’ years of experience in knowledge engineering, data architecture, and software development. Based on the literature review on methodologies, ODD, and documentation related to the development of eAdvisor, best practices and guidelines were incorporated into a set of proposed ODD processes. These processes were reviewed via focused interviews with technical experts representative of the Developer stakeholder. In addition to the technical interviews, a focus group session was held with a number of domain experts representative of the Sponsor stakeholder. Qualitative Analysis of the focus group session and technical interview results took place, findings and conclusions were documented, and the ODD processes were updated and baselined. IV.

EADVISOR BACKGROUND

This section provides background on eAdvisor as the system that provided focus to the development of our baseline processes. The need that eAdvisor fills and what function it performs is followed by an explanation of why ODD is appropriate for eAdvisor development. A high percentage of students are dissatisfied with the advising process and inadequate advising can be a significant obstacle to attaining a degree [5]. The high and rising ratio of students per advisor is leading to greater

strain on traditional advising, as are distance and life-long learning scenarios. eAdvisor is an intelligent academic advising system that has been developed by a team of researchers of Athabasca University to facilitate academic advising and program planning for students in the Master of Science in Information Systems (MSc IS) program of Athabasca University [2]. Program planning, as supported by eAdvisor, occurs when the student first enters a program, for each semester, and in response to changes that require replanning. As such, planning can be categorized as strategic, tactical, and opportunistic, respectively. The execution of this system is ontology-driven, and the development of the system has been driven by the definition of the domain ontologies, which indicates ODD. The key architectural components of eAdvisor, and of most relevance to this paper, are the ontologies that drive eAdvisor processing. The eAdvisor agents that interface with users and that perform tasks on behalf of other agents rely on the ontologies - execution of the system is driven by the run-time ontologies. As per Happel & Seedorf’s classification [3], eAdvisor has an Ontology Based Architecture (i.e., ontologies are key run-time components) and as such, ODD is appropriate for eAdvisor development. Figure 2 illustrates the key position ontologies play in the eAdvisor ontology-driven run-time system - the ontologies.

Figure 2: eAdvisor’s ontology-driven agents & services V. FINDINGS This section describes several key findings from the Review, Synthesis, and Interview & Analysis phases of our study and gives an example of a baseline process. Findings discussed in this paper are relevant to eAdvisor development and relate back to our main goal of meeting the needs of the Developer and Sponsor stakeholders. A. Study Findings ODD of Intelligent Systems Seen as Appropriate: The benefits of ODD were quickly understood by those interviewees representative of the Developer stakeholder, especially in the context of Intelligent Systems such as eAdvisor. This can be attributed to the integral part ontologies play in such systems, as both a runtime element and the starting point for software construction.

36

Sponsor needs must be addressed: As the interviews confirmed, experienced development professionals know that they often start a project with mandated constraints and that projects that are not meeting the goals of nontechnical stakeholders (subsumed in our baseline processes by Sponsor) risk being cancelled. This is confirmed by Standish Group (www.standishgroup.com) research and validated our goal of having our baseline processes for ODD allow for support of governance by the Sponsor. Existing Tools and Methodologies Can be Leveraged for Ontology-Driven Software Development: The integration of ontology development with MDD to support ODD processes was indicated by the Review and Synthesis phases and upheld by the interviews. This leverages intrinsic benefits of using proven tools and techniques such as existing tool support and user familiarity. Although Protégé-OWL, the tool used for eAdvisor ontology development, was used during the technical interviews, the technical interviewees were more comfortable conceptualizing ontologies using UML notation, given their background in software development. Benefits of, and an approach for, using UML for formal ontology modeling is given by Atkinson [6]. B. Example Baseline Process One of the main outcomes of our study was a set of the baseline processes for intelligent systems development based on methodologies, techniques, best practices, and guidelines reviewed during the literature review and refined and adjusted based on the study and interview findings and conclusions (not all of which are documented in this paper due to space constraints). These processes focus on activities performed by the Development Team that are directly related to ODD and fit in a framework that fills the Sponsor’s needs (specific discussion of other processes such as requirements management, change control, and quality control are beyond the scope of this paper). The main benefit of these baseline processes is that they provide a framework for development and a basis for continual and incremental improvement. The baseline processes were documented using Business Process Modeling Notation with supporting narrative that described input, process and output for each of the activities. Due to space constraints the full set of documentation for the baseline processes is not presented in this paper. Figure 3 illustrates the topmost level process flow for ODD and is followed by an overview of the process flow.

project-end reviews will review lessons learned and issues, estimates, actuals, and deliverables, and update the processes, guidelines and best practices as appropriate. Specific work of interest in the near term, and in support of the Sponsor and Developer, include the use of UML for formal ontology modeling and more accurate estimation techniques for ODD. The use of UML for formal ontology modeling will bridge the gap between knowledge workers and software developers and thus support needs of the Developer. More accurate estimation techniques, validated by effort metrics gathered during the course of development projects using our baseline processes, will support governance needs of the Sponsor.

Figure 3: Baseline Methodology Overall Process Flow. The development process is triggered when a need is identified and a project is approved to address this need. Following a kickoff chaired by the Sponsor (‘Kick Of Project’), the Developer stakeholder is accountable for developing an overall strategy for the ODD work (‘Develop Overall Strategy’), including a high level architecture showing ontology interrelationships (‘Overall Ontology Architecture’), strategies for sourcing or developing individual ontologies (‘Domain Ontology Strategies’), ontology skeletons where appropriate (‘Ontology Skeletons’), and a work plan (‘Work Plan’) to ensure sufficient funds and resources are available (‘Finalize Resourcing’). This overall strategy is an important deliverable for the Sponsor to understand the work to be done (and thus minimize the risk of project cancellation) and also to drive ODD work that follows. Based on the output from ‘Overall Strategy’, the domain ontologies are developed, refined, or obtained (‘Ontologies’) and models (‘Models’) and software (‘Software’) developed. The final job of the Developer stakeholder is to support deployment of the completed work (‘Support Deployment’). The Sponsor’s needs for visibility are addressed both through Developer deliverables that allow for iteratively clarified understanding of what work is being done and the ongoing ‘Govern Project’ activity and concomitant communications with the Developer stakeholder group. VI. CONCLUSIONS AND FUTURE WORK In the case of Intelligent Education Systems such as eAdvisor, where the ontology is an element of the executable system and must be updated as part of the development process, ODD is very likely to succeed. ODD, which is a natural choice for development of systems such as eAdvisor with an ontology-based architecture, is not a radical departure from traditional software engineering and has an especially good integration point with Model Driven Development. Future work related to the scope of this paper will be driven by the use of and refinement of the baseline processes. To allow for process improvement and validation,

37

ACKNOWLEDGEMENTS Thanks to the Natural Sciences and Engineering Research Council of Canada (NSERC) for financially supporting this research and to the people who took time from their busy schedules to be interviewed in support of this research. REFERENCES [1] Ontology Driven Architectures and Potential Uses of the Semantic Web in Systems and Software Engineering W3C Working Draft (060211 Version). Available: http://www.w3.org/2001/sw/BestPractices/SE/ODA/ [Accessed: 2006/09/28]. [2] Lin, F., Leung, S., Wen, D., Zhang, F., Kinshuk, & McGrael, R. (2007). E-Advisor: An Multi-agent System for Academic Advising, Workshop on Agent-Based Systems for Human Learning and Entertainment (ABSHLE) at AAMAS 2007, May 15, 2007, Honolulu, USA [3] Happel, H.J. & Seedorf, S. (2006). Applications of Ontologies in Software Engineering. In Proceedings of the 2nd International Workshop on Semantic Web Enabled Software Engineering, Athens, GA, USA. [4] Ontology Definition Metamodel Sixth Revised Submission to OMG. (RFP, ad/2003-03-40). Available: http://www.omg.org/ontology/ontology_info.htm#RFIs,R FPs [Accessed: 2006/09/10] [5] N. Younis, R. Salman, "The Shifting Sands of Advising," The Mentor, vol. 8, 2006. [6] Atkinson, C. (2004). Unifying MDA and Knowledge Representation Technologies. In Proc. of the Int’l Workshop on the Model-Driven Semantic Web, Monterey, CA, USA.