Aspects techniques de l'utilisation de wikis sémantiques pour l'accompagnement de projets 'capstone'

De Langolen.

Technical aspects of the use of semantic wikis for capstone projects management

Jean-Hugues Belpois, Vincent Ribaud, Philippe Saliou

University of Brest, Computer Science Department, C.S. 93837, 29238 Brest Cedex 3

{Jean-Hugues.Belpois, Vincent.Ribaud, Philippe.Saliou}@univ-brest.fr


Sommaire

Introduction

The Software Engineering 2004 Volume [1] states that a capstone project course is essential in a software engineering degree program. The capstone course provides students with the opportunity to undertake a significant software engineering project, in which they will deepen their knowledge of many software engineering areas. At Brest University, the final year of the Software Engineering Master’s programme includes a 4-months project, performed by a 6-students team within a virtual company and tutored by an experimented software engineer. Planning, monitoring and reporting these capstone projects involve different kind of stakeholders (faculty, tutors, students) communicating and collaborating with the help of office software suites, collaborative tools and distributed systems. Since 2002, we made several attempts to build a dedicated information system intended to record the SE master’s reference framework, project planning, periodic reporting and assessment support. Instead of this system, we’re using semantic wikis coupled with a CMS as a base technology to record capstone projects planning, monitoring and reporting information. This paper focuses on the technical aspects implied by the use of wikis for project management.

Challenges of capstone projects’ drive

Section 2 drafts some challenges of the drive of capstone projects, mainly: reuse of parts of past projects, project planning with regularly updates, project monitoring and evaluation. Reuse challenges are related in [2] with recording, reusing, locating and sharing information. The primary challenge of project management is to achieve the project objectives while respecting constraints such as time and resources allocation. Capstone project management adds learning objectives and specific constraints such as students’ abilities development or scaffolding and un-scaffolding tutors’ help.

Reuse of parts of past projects

Project planning

Project monitoring and evaluation

Wiki use in software engineering

Section 3 relates wiki (and semantic wiki) use in software engineering, hence providing a description of related work. [3] reports that wikis are generally used for collecting data or knowledge; coordination, planning, project management; web site, light-weight content-management system; document editing; discussion, forum; whiteboard. In the field of software engineering, wikis use helps to manage software projects, software lifecycle documentation, code reference information, bug tracking, and supports communication around the project members.

Semantic wikis for capstone projects

Section 4 describes the structure of the three semantic wikis used, the inter-wiki links.

12207 – life cycle processes wiki

A process reference model, issued from ISO/IEC 12207 standard [4] is represented in the first 12207 wiki and provides the description of software life cycle processes, activities and tasks for software used as a stand-alone entity, or an embedded or integral part of the total system. The processes in this Standard form a comprehensive set. An organization, depending on its purpose, can select an appropriate subset to fulfill that purpose.

Project wiki

In our capstone project, we concentrate on 12207 processes related to software development cycle, and we reorganized the selected processes in 3 processes groups: Development Engineering, Project Management and Development Support. This decomposition is the basis of the upper-level structure of the second wiki, dedicated to project management. Content of this upper-level structure is under the control of the programme manager. The mid-level structure is a simple but realistic model of a project: breakdown of the project cycle into stages; further breakdown of stages into work scenes; membership of project and allocation of persons to scenes; expected inputs and outputs. Each tutor of a capstone project fills this structure with instances (wiki pages) corresponding to his/her project plan and has to update it regularly. The lower-level structure deals with the activity performed by project’s members (students in this case): who, what, when, and how they did the tasks required by the work scene together with delivered inputs and outputs; this reporting is written by each member at the end of each stage (typically each 2 weeks).

24765 – vocabulary wiki

The third 24765 wiki is a subset of the ISO/IEC 24765 standard [5]. 24765 standard provides a descriptive vocabulary in English of the terms as they are currently defined in approved software and systems engineering standards of ISO/IEC SC7 (sub-committee for software engineering) and the IEEE Computer Society. The descriptive vocabulary may contain several definitions of the same term as found in the existing standards. The 24765 wiki provides a vocabulary of the terms used either in the ISO/IEC 12207 (around 50 terms), or used in the Software Engineering Master Programme or inside capstone projects. Many inter-wiki links facilitate navigation and information retrieval.

Technical problems

Section 5 (the core of this paper) states the technical problems raised by challenges of capstone projects management, listed in section 2. We use Semantic MediaWiki (SMW) [6], an extension to MediaWiki), that allows for annotating semantic data within wiki pages, thus turning a wiki that incorporates the extension into a semantic wiki.

Introduction to SMW

Semantic MediaWiki provides an extension that enables wiki-users to semantically annotate wiki pages, based on which the wiki contents can be browsed, searched, and reused in novel ways [6]. Every semantic annotation within SMW is a property connecting the page on which it resides to some other piece of data, either another page or a data value of some type using RDF triples of the form (subject, predicate, object). In Wikipedia, categories classify articles according to their content and in SMW categories are considered as OWL classes.

Multilingual issues

Multilingual issues are required in 12207 and 24765 wikis. Standard are usually published in English, and the structure of translations (chapter, section …) is identical to the English one. As parts of standards are identified by hierarchical identifiers, an identifier (together with a language code) can be used to identify the same part in different translations. MediaWiki provides a language management extension that is used to map parallel structures between translations. In the case of the 24765 vocabulary, we follow the approach prone by IFLA [7] of a symmetrical thesaurus. All different language versions of a multilingual thesaurus are identical and symmetrical; each descriptor has one and only one equivalent in every language and is related in the same way to other descriptors in the given language. The 24765 wiki is structured with the skos vocabulary [8] and the transitive property skos:exactMatch is used to link each descriptor in every language to the English descriptor.

Copyright, access control and rights management

MediaWiki is not designed to be a CMS. To the contrary, it was designed to be as open as possible. Thus it does not inherently support protection of private content.

Wiki 12207

Wiki 12207 reproduce parts of an ISO/IEC standard that is subject to copyright. The copy licensed to the University of Brest does not allow us to distribute any part of the standard outside of the University and access to this wiki needs to be restricted university’s users.

Wiki 24765

For the ISO/IEC 24765, the primary tool for maintaining this vocabulary is a database that is modified in a controlled fashion. Hosted by the IEEE Computer Society, the SEVOCAB (Systems and software engineering vocabulary) database is publicly accessible at www.computer.org/sevocab. ISO/IEC 24765 is issued periodically as a formal, published International Standard reflecting a "snapshot" of the database. The copyright notice provided with the database permits users to copy definitions from the database as long as the source of the definition is cited [6]. Hence, Wiki 24765 can reproduce a subset of the vocabulary with its source and let access to anyone.

Project Wiki

The wiki dedicated to project management has three levels composed of several spaces of articles with different requirements for access control and rights management. We use namespace to separate the different space. The programme manager, each tutor and each group of student is associated with its own namespace. Pages are stored within a given namespace and access right is controlled for each namespace and each group through the use of a MediaWiki extension.

Electronic and real resources management

MediaWiki do not provide a good way to handle download and upload of electronic resources. It is possible to upload them using the image uploading feature, but it has limits. Moreover, software project artifacts have different types (documents, web pages, code files …) and it requires a dedicated management system. We use the open source Alfresco content platform as CMS system. This allows to link wiki pages with URL referencing spaces of the CMS, providing required content management. However, it may be not sufficient to refer electronic resources by URI because additional information on the resource are useful (such as the language, the format …). Moreover, we may refer to real resources such as books or persons. Using URN to identify resources let us the ability to annotate resources with additional metadata. Hence, each resource is associated with a wiki page and the URL of that page is used as an URN for the resource. This associated page works as a metadata record and for domain-independent metadata is controlled by the Dublin Core metadata terms vocabulary [9]. Other types of resource (e.g. a Person) may use popular vocabularies over the internet (e.g. foaf). It requires a vocabulary management inside the semantic wikis and abilities to import and export RDF, features that SMW provide.

Reasoning capabilities

One way to organize the organic growth of Wiki content is to add structure by enriching Wiki-pages with additional metadata. It is often enough to conceive the proposed “semantic approach” as extend your Wiki with RDF [10]. Providing RDF metadata requires additional effort and the main benefit is an application of reasoning mechanism. Except sub-properties, RDF reasoning capabilities in SMW are poor and three crucial features are missing: inverse properties (e.g. hasPart/isPartOf), symmetric properties (e.g. isFriendOf), transitive properties (e.g. skos:exactMatch). The main problem is that these kinds of properties violate the Wiki principle of locality: changes are made to a page content does not affect other pages’ content. But, as these kinds of properties involve two pages, and annotating a page should lead to annotate the other page consistently. We solve this problem by using an annotation in only one of the two pages and using inline queries in the other one. Semantic MediaWiki includes a simple query language for semantic search, so that users can directly request certain information from the wiki. So it is possible to rebuild the other part of inverse, symmetric or transitive properties by using queries (it needs to republish the page in order to force the system to compute up-to-date values).

Conclusion

Three semantic wikis are used to facilitate the drive of capstone projects: reuse, planning, monitoring and evaluation. Requirements led to define technical solutions that allow the system to run properly.

References

Outils personnels