Ontology-based Software Engineering Shao-yen Cheng Date Software “Engineering” ✤ Are you calling yourself an ENGINEER? Based on what? ✤ SE is NOT a genuine engineering discipline, yet. ✤ Lack of fundamental principles ✤ Strongly relies on engineering practice instead of science Software ✤ ✤ Essential Difficulties by Frederick Brooks: ✤ Intangibility ✤ Complexity ✤ Conformity ✤ Changeability “Software is a knowledge repository. The knowledge that is stored in software largely relates to the application domain, and not to software as an entity itself.” - Phillip G. Armour Software Engineers’ Job ✤ Mostly, communications ✤ Human-to-Human ✤ Human-to-Machine ✤ Machine-to-Machine Semiotic Triangle Conceptual Modeling ✤ E/R Model ✤ UML Conceptualization ✤ C = (D, W, R) ✤ D: a set of all elements in a domain ✤ W: a set of all possible worlds in the domain ✤ R: a set of conceptual relations in the domain space <D, W> Ontology ✤ ✤ Ontology ✤ is introduced by Aristotle, the study of being qua being ✤ studies the essence of existence An ontology ✤ is a artifact developed to express the meaning of a vocabulary. ✤ must be valid in all possible worlds of the domain. ✤ A good ontology limits possible interpretation of a vocabulary Goals ✤ Knowledge Sharing ✤ Knowledge Reuse Languages ✤ First Order Logic ✤ OWL ✤ Modal Logic ✤ Higher Order Logic ✤ Logic Programming Language ✤ UML Application of Ontologies ✤ Neutral Authoring ✤ Specification ✤ Common Access to Information ✤ Ontology-based Search In Software Engineering Context ✤ Analysis ✤ ✤ Design ✤ ✤ Domain Ontologies Component Reuse Implementation ✤ Coding support ✤ Documentation support In SE Context (cont.) ✤ Deployment ✤ ✤ Semantic Web Services Maintenance ✤ Traceability Potentials ✤ Open Ontology ✤ Domain Ontology Libraries ✤ Domain Specific Languages Generation ✤ Model Transformation ✤ Model Driven Engineering Contribution to 577 ✤ Build a shared knowledge base ✤ Reduce time to learn domain knowledge ✤ Ontology-based search on components Reference ✤ [1] V. Devedzić, "Understanding ontological engineering," Communications of the ACM, vol. 45(4), pp. 136-144, 2002. ✤ [2] R. d. A. Falbo, G. Guizzardi and K. C. Duarte. An ontological approach to domain engineering. Presented at Proceedings of the 14th International Conference on Software Engineering and Knowledge Engineering. 2002, Available: http://doi.acm.org/10.1145/568760.568822. ✤ [3] G. Guizzardi, R. d. A. Falbo and J. G. P. Filho. Using objects and patterns to implement domain ontologies. Presented at 15th Brasilian Symposium on Software Engineering (SBES 2001). 2001, Available: http://doc.utwente.nl/66755/. ✤ [4] G. Guizzardi, G. Wagner and M. S. van. A formal theory of conceptual modeling universals. Presented at Workshop on Philosophy and Informatics (WSPI), Cologne, Germany, 2004. 2004, Available: http://doc.utwente.nl/49866/. ✤ [5] H. Happel and S. Seedorf. Applications of ontologies in software engineering. Presented at In 2nd International Workshop on Semantic Web Enabled Software Engineering (SWESE 2006), Held at the 5th International Semantic Web Conference (ISWC 2006). 2006. ✤ [6] T. S. Dillon, E. Chang and P. Wongthongtham. Ontology-based software engineering- software engineering 2.0. Presented at Software Engineering, 2008. ASWEC 2008. 19th Australian Conference on Title={Ontology-Based Software Engineering- Software Engineering 2.0. 2008, . DOI: 10.1109/ASWEC.2008.4483185. References ✤ [7] P. Kruchten, "An ontology of architectural design decisions in software intensive systems," In 2nd Groningen Workshop on Software Variability, pp. 54-61, Dec. 2004. ✤ [8] W. Hesse. Ontologies in the software engineering process. Presented at In (R. Lenz Et Al., Ed.): EAI 2005 Proceedings of the Workshop on Enterprise Application Integration. 2005. ✤ [9] P. G. Armour. Software: Hard data. Commun ACM 49(9), pp. 15-17. 2006. Available: http://doi.acm.org.libproxy.usc.edu/10.1145/1151030.1151043. DOI: 10.1145/1151030.1151043. ✤ ✤ [10] D. Gašević, N. Kaviani and M. Milanović, "Ontologies and software engineering" in staab, S. & studer, R. (eds.) , , 2009, pp. 593-615," in Handbook on Ontologies, S. Staab, Ed. Berlin-Heidelberg, Germany: Springer, 2009, pp. 593-615. [11] N. Guarino, D. Oberle and S. Staab. What is an ontology? pp. 1-17. 2009. Available: http://dx.doi.org.libproxy.usc.edu/10.1007/978-3-540-92673-3_0. DOI: 10.1007/978-3-540-92673-3_0.