1 / 17

Ontology-based Software Engineering

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.

gigi
Download Presentation

Ontology-based Software Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ontology-based Software Engineering • Shao-yen Cheng Date

  2. 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

  3. 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

  4. Software Engineers’ Job • Mostly, communications • Human-to-Human • Human-to-Machine • Machine-to-Machine

  5. Semiotic Triangle

  6. Conceptual Modeling • E/R Model • UML

  7. 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>

  8. 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

  9. Goals • Knowledge Sharing • Knowledge Reuse

  10. Languages • First Order Logic • OWL • Modal Logic • Higher Order Logic • Logic Programming Language • UML

  11. Application of Ontologies • Neutral Authoring • Specification • Common Access to Information • Ontology-based Search

  12. In Software Engineering Context • Analysis • Domain Ontologies • Design • Component Reuse • Implementation • Coding support • Documentation support

  13. In SE Context (cont.) • Deployment • Semantic Web Services • Maintenance • Traceability

  14. Potentials • Open Ontology • Domain Ontology Libraries • Domain Specific Languages Generation • Model Transformation • Model Driven Engineering

  15. Contribution to 577 • Build a shared knowledge base • Reduce time to learn domain knowledge • Ontology-based search on components

  16. 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.

  17. 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.

More Related