A Semantic Web-based Learning Environment for Control Engineering Education García, I. * Benavides, C. * Aláiz, H. * Alfonso, J. * Alija, J. M. ** Alonso, A.* *Systems Engineering and Control Group, Universidad de León, Spain (e-mail: isaias.garcia, carmen.benavides, hmoreton, javier.alfonso,
[email protected]; ). **Languages and systems group, Universidad de León, Spain (e-mail:
[email protected])
Abstract: This paper describes the design and development of a Semantic Web-based learning environment for control engineering education, in particular in the field of lead-lag controller design with the root locus method. The environment is composed of three subsystems: First, a knowledge based system devoted to the generation of solved and “semantically-enriched” exercises. Second, a Semantic Web based system for the automatic annotation, persistence, search and retrieval of exercises over the Internet. And third, an application working as a graphical user interface that shows and gives explanations about the design process using the very rich information available for each exercise. The first and third subsystems have, as their core component, a domain ontology reflecting the concepts, relationships and tasks involved in the design of controllers, plus a rule engine devoted to the execution of the design process reflected in the ontology. The second subsystem also works around an ontology whose concepts are the source of the terms for the annotation of the exercises. The paper shows the architectural design of the system, its functionalities and a number of advantages obtained with its use regarding learning purposes.
1. INTRODUCTION The evolution of the capabilities of the computer and the communication technologies over the last two decades has increased the possibilities for the construction of new software applications devoted to the field of control engineering. In particular, the improvement in the graphical user interfaces and the multimedia representation of the information has made it possible, for first time, to build software applications specifically devoted to the field of control engineering education (Johanson et. al., 1998). These applications are usually built with a very rich level of interactivity (Guzman et. al., 2008) but, on the other hand, exhibit a serious problem: the gap existing between the elements, that are shown in the graphical user interface, and the corresponding underlying theoretical concepts. The solution to this problem consists in finding ways to fill this conceptual gap. This can be achieved with the use of knowledge modeling techniques in such a way that the control engineering concepts can be stored, retrieved and used without any (or with very few) losing of their conceptual richness. The techniques devoted to build such knowledge models come from the field of knowledge engineering and are, in the present days, reaching a maturity state regarding their techniques, tools and methodologies. Computable knowledge models are built with a two step process. The first step consists in the conceptualization of the knowledge (found in a given domain) and the second one is devoted to express this conceptual model in a computable formalism. These structures, this way created, are called
ontologies, and can be defined as an explicit (and formalized) specification of a conceptualization (Gruber, 1995). This paper describes the combination of these ideas from the knowledge engineering field and the development of highly interactive computer-aided control engineering education applications in order to build a richer interaction with the user. The advent of the Internet and the Web has also supposed the opportunity of using this technological infrastructure in the field of education. Several discussions have been held about the possibilities and most suitable uses of this networked and universal environment for control engineering education (Dormido, 2004), (Antsaklis et. al., 1999). The future of the Web Service is said, according to the World Wide Web Consortium (W3C), to be based on the use of the aforementioned ontologies and knowledge models as the core structures for the representation of the information in the socalled Semantic Web (World Wide Web Consortium, 2009a). The Semantic Web is based on the representation of knowledge at a high abstraction level in such a way that computers will be able of performing some of the semantical processing that, to date, can only be achieved by the human being (Berners-Lee et. al., 2001). This paper also describes the use of these Semantic Web technologies, along with Web 2.0 standards, in order to build a cooperative learning environment on the Internet. The rest of the paper is organized as follows: Section 2 describes the overall architecture of the environment while section 3 is devoted to the description of the exercise
generation subsystem. Section 4 shows the details of the Semantic Web based annotation, search and retrieval of information about the exercises previously generated. Section 5 describes the application that implements the graphical user interface used to show the exercise data and to interact with the user. Finally, some conclusions are presented. 2. OVERALL DESCRIPTION OF THE SYSTEM Figure 1 shows the overall structure of the system. A coarse grain description of this system may be stated as follows: First, there is a system devoted to the (semi-automatically) generation of solved and “semantically-enriched exercises” about the design of lead-lag controllers with the root locus method. This way, a repository of exercises is at the disposal of any user that can search and retrieve them over the Internet. To help in the search process, the exercises are annotated by stating a series of subject-predicate-object triples corresponding to the RDF (Resource Description Framework) (World Wide Web Consortium, 2009b) format. These annotations are the data against which the user can pose semantic rich queries that allow her to find the exercises she is interested in. Once the user has received the list of exercises matching her desires, she can choose the one she is more interested in, and get the corresponding file from the repository. Once the user has seen and interacted with the exercise, she can evaluate it, incorporating her opinions as new annotations to the exercise and, in this way, helping other users.
concepts, relationships and tasks involved in this process). The ontology was developed with the Protégé ontology editor (Genari et. al., 2002), using a frame-like formalism. The dynamical knowledge representation structures are automatically translated into a set of Jess (Friedman-Hill, 2007) rules in order to implement and execute the design process. The election of these environments was based on their open-source nature and their free availability. Also, because both of them are mature tools with a great number of years of continuous development, the existence of a big community of users, the support offered by the developing teams and the seamless integration of both environments by using the Java programming language. Both the ontology and the rule system, as well as the synchronization and execution issues of these structures, can be found in (García et. al., 2006). An expert (a control engineering teacher) is responsible for the introduction of different sets of problem data (the transfer function of the system to be controlled and the set of design specifications about the performance of the controlled system) into the KBS. Then, the rules in the KBS are fired against these data until a result is obtained. Once this happens, the results are presented to the teacher using the same graphical user interface described in section 5. This way, the teacher can check whether the result and the design process can be considered correct (and so let the exercise to be incorporated into the repository of solved exercises) or not (and so discard the exercise and try a new set of input data). Each of the solved exercises contains the following information:
!+
•
The whole ontology describing the domain of controller design (as previously mentioned).
•
Each and all of the transfer functions, polynomials, roots, complex numbers, etc, and their possible characteristics (real parts, moduli, rise times, percent overshoots, orders, types, root loci segments, etc), for each of the systems that have been generated during the execution of the design process.
•
A representation of the different design steps that have been achieved within the process, along with the actions and design decisions taken in each of these steps.
# '#
-*
(')*!
, +
!
"! # $ %&
Fig. 1. Overall architecture of the system. The next sections will deepen the description of these subsystems. 3. EXERCISE GENERATION SUBSYTEM The software system devoted to the generation of the “semantically-enriched exercises” that will populate the exercise repository consists of a human-controlled knowledge based system (KBS). This KBS comprises an ontology, a rule engine and a knowledge base. The ontology has a representation of the static and the dynamic knowledge of the domain (that is, the knowledge about the design of lead-lag controllers with the root locus method, including the
This information is internally stored as a text file representing the ontology and the knowledge base. For an average exercise, the size of the file is about 2.5 Mbytes. Figure 2 shows a small portion of such a text file, the whole file may have a length of about 20000 to 50000 lines. This format for the exercise file is ideal for its transmission over the Internet (any plain text file can be easily transported over the HTTP protocol). When the exercise is going to be presented to the user, the knowledge structures and concepts existing in the text file are converted to a rich graphical
representation consisting of text labels, curves, points, and so on. This graphical user interface is described in section 5. ! """## $% % %% & '% ()# % % # *+!'% $## ! ,"$-()## " ! ,")$-## .+/ 01 ' 1'2 3 + )# ' 12 4%3 + -## -' 12 4% 3 + 2 4% "# % ## )01 ' 1'2 3 + '2 # 01 ## 5 + . !5 + ") ")-. !5 + 6 57 . '++ ")# 8 9. ")-# ! "## 5 + . !5 + ") $. !5 + 6 57 . '++ ")# 8 9. $# ! "##
This ontology must comprise all the important terms by means of which the exercises can be categorized and described. The main strength of the OWL language is the definition of terms (classes) by establishing a series of restrictions over the concept properties (Allemang and Hendler, 2008). The language behind OWL is a restricted set of first order logic so-called description logics (DL) (Baader et. al., 2007). The formal nature of logic allows the existence of reasoners that are able to automatically classify both classes (that is, saying if a given class is a subclass of another one) and instances (that is, saying if a given instance belongs to a given class). A lot of properties are used to describe each exercise. This can be done due to the huge amount of information available as the result of the “exercise generation” process. Among others, the following properties are used: •
Properties related to the characterization of the system to be controlled (its order, type, number of poles and zeros, stability, if it is a minimum phase system, etc)
•
Properties related to the design specifications (if they are about the rise time, the settling time, the percent overshoot, if there are transient and/or steady state response specifications, etc).
•
Properties related to the design process. For example the kind of controller obtained in the final design (if it is a proportional, lag, lead or lead-lag compensator), the zero positioning techniques used, the number of redesign steps that have been necessary, whether extra poles are involved or not, etc.
Fig. 2. Excerpt of a solved exercise (exercise_6400012) represented as a text file.
Each of the exercises that pass this validation phase is stored in the repository and is also fed into the annotation subsystem where a series of RDF triples describing it are generated. These triples are the ones going to be visible in the Internet and are the data against which the user queries will be performed. The annotation, search and retrieval of exercises are described in the next section. 4. SEMANTIC WEB BASED ANNOTATION AND SEARCH
With all these properties, a great number of classes can be defined. These classes are used to categorize the exercises. A simple example could be: The class “Complex_Exercise” could be defined as “the one comprising the exercises that have both transient and steady state response specifications and deal with a minimum phase plant and have needed more than two redesign steps for the lead-zero positioning task”.
4.1 Exercise annotation The exercise annotation subsystem is responsible for the annotation of each of the exercises and the subsequent introduction of these annotations into a triple store, along with the triples corresponding to other exercises. Annotation is a process of assigning a series of attributevalue pairs (a set of tags) to the exercise identifier (becoming, then, a triple) in order to ease and augment the possibilities of the search and retrieval of the data. The annotations are metainformation about the exercise, they categorize and describe the exercise with a rich set of tags. The terms used in these annotations come from the concepts existing in an ontology used for this purpose. This ontology is described next. The ontology used as the annotation source for the terms has been built using the standard W3C language OWL (Web Ontology Language) (World Wide Web Consortium, 2009c).
This way, all the exercises accomplishing these restrictions on the mentioned properties will be automatically classified as belonging to the class “Complex_Exercise”. By giving this intentional definition to the classes in the ontology, the automatic classification of exercises can be achieved. This classification is itself an annotation of the exercise, because it can be seen as a triple stated as (see also figure 2): exercise_2200039 is-a Complex_Exercise1
1
Many class definitions in OWL may be interpreted as “pre-solved queries”, as they group individuals under certain property restrictions that could likely appear in a query.
It is important to note that, with OWL, the same instance may belong to more than one class and so, the same exercise may be classified under the classes Intermediate_Course_Exercise, Steady_State_Exercise, and so on. Semantic Web infrastructure and nature allows anyone to know who has created and categorized a given exercise and what is the exact meaning of a given category she has been shown relating to this exercise. This is a key idea for allowing the user to trust more or less in one exercise depending on its source. Figure 3 shows an example of the triples generated in the annotation process. The syntax shown is RDF/XML. This set of triples representing the annotations corresponding to the characterization of an exercise are stored in the triple store. As well as information regarding the exercise, also information about the author of this exercise can be stored.
4.2 Semantic Web search and retrieval of exercises The RDF triple is the basic unit of information in the Semantic Web. RDF triples may be queried using the SPARQL (Simple Protocol and RDF Query Language) language (World Wide Web Consortium, 2009d). SPARQL allows the specification of an aggregation of RDF triples and/or RDF documents over which the query will be performed. In the developed application, the SPARQL query is automatically generated from the user requests performed in the Web browser application.
! ! " # $ %%
! " &'( )"*"!$ + &'", &' ) !*!$ - - ! " ! " &'( )"*"!$ + $ . &'"", / 0 " # + -$ . - ! " ! " &'( )"*"!$ + $ 1
&'"", / 0 " # ! ( 2) -$ 1
- ! "
Triples about the teacher who has proposed the exercise
! " &'( )"*"!$ + $ 3 ", &' ) !*345- - ! " ! " &'( )"* ! 678 &'", &' ) !* ! - - ! " ! " &'( )"* ! 678 &'", &' ) !*9 " " ! - - ! "
distributed all over the Internet (in fact, each triple could exist independently from each other one, building the so called “Web of data”, as opposed to the current “Web of documents”). The universally name schema feature (the use of universal URIs for the identification of each and every resource) and the triple structure allow the triples to be transparently aggregated and the queries to be posed over this composition of triples. This way, any data about exercises annotated with the same ontology could be transparently queried all over the Internet. Instead of having a “centralized” repository of exercises, this architecture allows the existence of a “distributed” one, which fits in better with the distributed nature of the information and application in the Internet. The Semantic Web technologies and languages guarantee the interoperability of these distributed data.
Inferred triple: the exercise has been classified as a member of IntermediateExercise
! " &'( )"* ! 678 $ !$ &' ) !*"!$ +- - ! " ! " &'( )"* ! 678 $ # :"$ &' ) !*(! :"$ 678- - ! " ; " # $ %% ! " &'( )"* ! 678 $ < " +) &' ) !* " 678- - ! " ! " &'( )"* ! 678 $ # = !&!" &' ) !* ! " $ "678- - ! " ; " # $ %% - &'><
Fig. 3. Excerpt of a RDF/XML file containing triples.
The Semantic Web architecture is highly modular. The triples can be all stated in one document, may be spread across many documents in a server or across many documents
The user’s browser query interface is (only visually) similar to other search forms used in Web applications. The web browser shows a search form where the search categories, combo boxes, etc, are fed from the concepts in the OWL ontology. This way, the user may ask for “complex exercises” or can also indicate the kind of individually stated restrictions she wants for the exercises to be retrieved. For example, she may ask for exercises where the lead-zero positioning method involving the cancellation of a plant’s pole is used. Once the result is presented, the user must decide which exercise to choose. Then the exercise is retrieved and shown using the graphical user interface described in section 5. 4.3 Collaborative annotation of exercises Along with the automatic, ontology generated annotations, there is also information attached to each exercise consisting of comments and ranking scores coming from other users’ experiences with the same exercises. User-generated annotations about the exercises are built using generic Web 2.0 tools. These annotations integrate easily into the whole annotation structure because they are stored also as RDF triples in the triple store. In order to be able to use these features, the user must be previously registered in the system.
Fig. 4. GUI and ontology snapshots. 5. GRAPHICAL USER INTERFACE FOR THE DISPLAY AND INTERACTION WITH AN EXERCISE Once the user has received the exercise she has selected, it is displayed in an application consisting of a graphical user interface where the different steps of the design process are shown and where the user may ask questions or explanations about any of the elements appearing in the interface. This application is an evolution of the one presented in (García et. al., 2006) and can be seen in figure 4, along with some snapshots of some ontology concepts corresponding to the elements being shown in the interface. As the ontology is distributed along with the data corresponding to the exercise, no further connections with the server are needed. The application generates a tab panel for each of the design steps that have been performed. The application window (for each of the tabs) has three main areas: The top left is a graphical panel where the graphical concepts are shown (no direct manipulation of the curves, poles and zeros is possible here, as is the case in systems like Sysquake, here, there is
because of a different point of view regarding performing the interactivity). The top right panel shows the names of the different systems involved in the design and their corresponding transfer functions for this design step. It also shows the tasks executed during that design step as well as the actions performed and design decisions taken for each of these tasks. Finally, the bottom panel is the place where the explanations resulting from the user’s questions and interactions are displayed. In the figure 4, for example, the user has asked for the poles of the transfer function corresponding to the total system in the current design step. The most important characteristic of this application is the fact that every element in the GUI, from the terms in the text labels to the curves and points in the graphical panel, are the representation of an ontology concept and is linked to it, as represented by the arrows in figure 4. This binding of elements in the GUI to ontology concepts allow the automatic, on the fly, generation of menu items when the user interacts with one of these elements. The ontology structure is also the source for the explanations that are presented to the user. These explanations may be of different nature: •
Explanations about the definition of a term.
•
Explanations about the reasons behind some assertion appearing in the GUI.
•
Explanations about the design process, for example the reason for the execution of a given task or how a given parameter has been calculated. 6. CONCLUSIONS
This paper has presented an architecture for an Internet based learning environment relying on two main approaches. First, the use of knowledge models represented in an ontology capturing the complex information regarding control engineering design processes. And second, the use of the Semantic Web techniques and tools to build a flexible and distributed annotation-query-retrieval-interaction system. The use of an ontology to capture the knowledge of the domain has many advantages. One of them is the possibility of obtaining a very rich description of the exercise. This representation of the exercise, along with the original ontology describing the general control concepts is the base for building the interactions in the graphical user interface. As was mentioned, the elements in the GUI are generated from the concepts in the exercise representation and are linked to them. This way, one of main problems of this kind of control education software (that is, the gap existing between the elements in the GUI and the underlying theoretical concepts) may be solved. Another advantage of this semantically-enriched way of describing the exercises is the possibility of automatically creating a series of annotations that describe them with a great detail, helping in process of Internet based search. The use of Semantic Web technologies for building the annotation, search and retrieval processes also have many advantages. One of the more important is the formal and semantical definition of the exercise annotations, allowing a great level of automatization and the possibility for distributing and aggregating these descriptions. Some tests with a group of students have been carried out, with very promising results. The more valuable characteristics for the students were: First, the mere existence of an online repository of solved exercises was pointed out as a great help. Second, the great level of detail in the description of the design process, which helps them to know what is the correct sequence of tasks to be performed and how are the design parameters calculated. Third, the way in which the GUI presents the information and the flexibility in the interaction with the elements appearing there. Fourth, the great amount of searching possibilities and filtering of exercises based on the problem description and on the design process characteristics. And fifth, the possibility of giving an opinion about the exercise and seeing others’ opinions, in a similar way as other Web 2.0 systems that they are used to. Among the less valued features were the relatively low to medium level of difficulty of the exercises or the impossibility of getting a printed copy of the design process
description. The students would also like to have a system with very similar characteristics but letting them to do the design and taking the design decisions. About the future work, many possibilities are opened. For example, incorporating the users’ comments previously cited. Also, other domains, apart from the design with root locus methods, could be represented in the ontology. REFERENCES Allemang, D.; Hendler, J. (2008) Semantic Web for the Working Ontologist. Morgan Kaufmann, Elsevier. Antsaklis, P.; Basar, T.; DeCarlo, R.; McClamroch, N.H.; Spong, M.; Yurkovich, S. (1999) Report on the NSF/CSS Workshop on new directions in control engineering education. IEEE Control Systems Magazine, 19(5), pp. 53 - 58Dormido, S. (2004) Control learning: present and future, Annual Reviews in Control, 28, pp. 115 – 136. Baader, F.; Calvanese, D.; McGuinness, D. L.; Nardi, D.; Patel-Schneider, P. F. (2007) The Description Logic Handbook: Theory, Implementation, and Applications. Cambridge University Press. Berners-Lee, T.; Hendler, J.; Lassila, O. (2001) The Semantic Web. Scientific American, 284(5), pp. 34 – 43. Friedman-Hill, E. et al. (2007) JESS (Java Expert System Shell) Online: http://herzberg.ca.sandia.gov/jess García, I.; Benavides, C.; Villar, J. R.; Rodríguez, F. J.; Aláiz, H.; Alonso, A. (2006) An intelligent tutoring system based on a domain ontology for the design of lead-lag controllers. In: Proceedings of the 7th IFAC Symposium on Advances in Control Education. Gennari, J. H.; Musen, M. A.; Fergerson, R. W.; Grosso, W. E.; Crubézy, M.; Eriksson, H.; Noy, N. F.; Tu. S. W. (2002) The evolution of Protégé: An environment for knowledge-based systems development. Technical Report SMI-2002-0943, Stanford Medical Institute. Gruber, T. R. (1995) Towards principles for the design of ontologies used for knowledge sharing. International Journal of Human and Computer Studies, vol. 43, pp. 907 – 928. Guzman, J. L.; Astrom, K.J.; Dormido, S.; Hagglund, T.; Berenguel, M.; Piguet, Y. (2008) Interactive learning modules for PID control, IEEE Control Systems Magazine, 28(5), pp. 118 – 134. Johanson, M., Gäfvert, M., Åström, K. J., (1998) Interactive tools for education in automatic control IEEE Control Systems Magazine, 18(3), pp. 33 - 40. World Wide Web Consortium (2009a) The Semantic Web Activity. Online, available: http://www.w3.org/2001/sw/ World Wide Web Consortium (2009b) Resource Description Framework. Online, available: http://www.w3.org/RDF/ World Wide Web Consortium (2009c) OWL Web Ontology Language. Overview. Online, available: http://www.w3.org/TR/owl-features/ World Wide Web Consortium (2009d) SPARQL RDF Query Language. Online, available: http://www.w3.org/TR/rdfsparql-query/