Role of Ontology Training to Software Engineering Students
aa r X i v : . [ c s . S E ] O c t Role of Ontology Training to Software Engineering Students
Arvind W KiwelekarDepartment of Computer EngineeringDr. B. A. Technological UniversityLonere-402103 Raigad (MS) [email protected]
ABSTRACT
Students of software engineering struggle to develop a systemsperspective because most of the software engineering methodolo-gies focus on developing a particular aspect of a system. Lackof unified coverage to the topic of systems modeling is identifiedas the root cause behind this problem. The paper explains therole of ontology in building systems perspective. A case for thenecessity of ontology training as a means to ovrcome this problemis prsented. The course content for a typical course on ontologyis also described in the paper.
1. INTRODUCTION
The skill of systems modeling is one of the necessary skills forexecuting software engineering projects beside other generic skillssuch as project management and communication skills. One of theshortcomings of the curricula followed for computer engineeringprogrammes spcially in Indian Universities is that the topic ofsystems modeling is either taught in a fragmented way or under-emphasized. Some of the effects of the lack of unified coverage tothe topic of systems modeling are that students fail to develop asystemic view of an engineering application and they also fail torelate theoretical concepts to real world objects.
2. LIMITATIONS OF SE CURRICULA
Table 1 depicts the coverage of the topic of systems modelingincluded in a typical computer engineering curriculum. Thesecourses mainly focus on different approaches to systems model-ing and to explain various process models for building softwaresystems. Few problems associated with such kinds of course cur-ricula are: (i)
Fragmented treatment to the topic of sys-tems modeling.
Systems modeling related topics such as datamodeling, function modeling, agent modeling, kinds of sysems arecovered in different courses. The effect of such isolated treatmentto these topics reflect in students failure to grasp the commonal-ities among similar concepts and their failure to relate the con-cepts studied in different courses. For example, students struggleto relate the similar concepts of Finite Automata and State Di-agram that are taught in the subjects of TOC and OOAD. (ii)
Emphasis on symbolic expression over semantic expres-sion
While teaching the subjects like TOC, OOAD, DM thereis more emphasis on writing efficient symbolic expression and onsyntax of a particular formalism such as state machines, first orderlogic and programming languages. Often neglecting that symbolsstand for the objects from reality. This emphasis get reflected instudent’s failure to relate theoretical concepts to real world knowl-edge. Most of the students always label states with symbols suchas s , s ... and transitions with e , e .... when students are askedto draw a state transition diagram for a library book. More mean-ingful terms such as onT heRack , issued , newArrival are rarelythought over. (iii) Lack of explicit coverage to the notions of System and
Time The notions of system, kinds of systems,emergent properties of systems, environment, and time which arecentral to the task of systems modeling are unaddressed in presentundergraduate computer engineering curricula. Due to this stu-dents face difficulties in understanding more ad- vanced coursessuch as Temporal Logic, and systems archi- tecting. (iv)
Ab-stract mathematical concepts are taught before concreteconcepts
The abstract mathematical con- cepts of graph theory,relations, algebraic structures, queu- ing theory are taught prior tomore concrete SE concepts and they are explained through non-software engineering applications. Students find easier to learnabstract concepts when they are taught in terms of familiar andmore concrete applications. As a result building mathematicalmodels of software systems appear as a major challenge.
3. ONTOLOGY AND SYSTEM MODELING
The term Ontology is primarily used in two different ways. Ontol-ogy as a philosophical discipline[1] studies various kinds of objectsfound in reality. From the information sci- ence point of view, theterm ontology formally specifies con- cepts found in a particularapplication domain [2]. In this paper, the term ontology is usedin both senses to explain the role of ontologies in addressing theissues raised in the last section.As a philosophical discipline, ontologies formally define the no-tions of things, properties, events, processes, agents, in- tentionsand relationships among them thus providing a sin- gle unifiedframework to the concepts employed in systems modeling. In fieldof information systems modeling, ontolo- gies have been applied asa foundational framework to eval- uate the effectiveness of model-ing languages. The topic of ontology is currently partially coveredin AI courses with an objective to represent domain knowledge inAI applications. In such applications, a domain ontology is one ofthe core components. The current trend of build- ing intelligentapplications and devices further justifies the necessity of ontologytraining to software engineers.Ontologies provide a set of categories that can be employed todescribe a particular application domain, analyze an ap- plicationdomain, and express the facts about domain ele- ments. Duringthe task of ontological analysis, the focus of a modeler is directedon semantic issues of model elements and relating model elementsto the kinds of objects found in the reality. During many systemsanalysis task (eg. CRC card, DFD), modelers are trained to thinkin terms of language constructs. During ontological analysis, amodeler engages in a systemic thinking rather than on capturingsome frag- mented views of a system. The philosophical disciplineof Ontology makes least number of assumptions and it definesthe concepts that are taken for granted in many specialized engi-neering courses on modeling languages, mathematics and logics.Hence the notion of sys- tem, kinds of systems, relationships ofystems Modeling Tasks Course Typical CoverageData Modeling Data base Management(DBMS) Entity and Relationship modeling, QueryLanguages, Transaction management, Archi-tecture of DBMSObject Modeling Object Oriented Analysisand De sign (OOAD) Object-Oriented Programming, UML nota-tion, Data Abstraction, Inheritance, Ploy-morphism, and Design PatternsFunction Modeling Information System Analy-sis and Design (ISAD) Information gathering, Structured analysis,Func- tional decomposition.Agent Modeling Artificial Intelligence (AI) Problem solving techniques, Knowledgerepresenta- tion, Logical reasoning.Mathematical Modeling Discrete Mathematics(DM) and Theory ofComputations (TOC) First Order logic and Finite State Au-tomata/State ModelingSoftware Systems Develop-ment Software Engineering (SE) Engineering processes of software systemssuch as re- quirements analysis, design, cod-ing, maintenance etc.
Table 1: Systems Modeling Topics coverage in a Computer Engineering Curriculum systemic properties with its component, time, and time dependentproperties are explicitly defined in an ontology. Thus bridging theloose connections existing between modeling abstractions and do-main knowledge. The abstract concepts of finite automata, logicalformu- lae, language abstractions provide system modelers a setof mechanisms to represent the objects from reality. Ontologiesprovide the content to employ these mechanisms during the taskof systems modeling. The existing curricula adopt the mecha-nisms first approach while teaching systems modeling topics. Thestudentˆa ˘A´Zs comprehension of abstract concepts can be improvedif these concepts are introduced through concrete ontological cat-egories.
4. ONTOLGY:COURSE CONTENT
The course on ontology [3] can be taught during third or fourthsemester of the undergraduate engineering programme. A typicalcourse on ontology may include the topics such as : (i) Ontologyas a philosophical discipline (ii) Upper level on- tologies (iii) Onto-logical categories from Aristotle and Bunge ontology. (iv) Role ofOntology in Information Systems Modeling. (v) Ontology Spec-ification Languages: Descrip- tions Logic, OWL. ( vi) BuildingDomain Ontologies. (vii) Applications of ontologies in engineer-ing applications. The effect of ontology training in understandingscientific concepts has been assessed in other disciplines such asPhysics and Medicine. Similar experiments can be conducted be-fore introducing a full fledged course on ontology in computerengineering programme.
5. REFERENCES [1] M. Bunge.
Treatise on Basic Philosophy: Volume 3: OntologyI: The Furniture of the World . Springer, 1 edition, June 1977.[2] B. Chandrasekaran, J. R. Josephson, and V. R. Benjamins.What are ontologies, and why do we need them?
IEEEIntelligent Systems , 14(1):20–26, Jan. 1999.[3] J. D. Slotta and M. T. H. Chi. Helping Students UnderstandChallenging Topics in Science Through Ontology Training.