Ontology Driven Software Engineering: A Review of Challenges and Opportunities

Ontologies are formal representations of knowledge about a given domain. Based on them, it is possible to create more expressive knowledge bases that can be shared, extended and reused in different scenarios. In software engineering, ontologies can contribute in many different ways to improve the models, methods, techniques and processes of software development. Nevertheless, the use and benefits of ontologies and Semantic Web technologies in Software Engineering is spread across several articles and books available in the literature. In this context, this paper aims at compiling and presenting the research findings and potential benefits when applying ontologies to address three major challenges in software engineering: (1) difficulty in communicating and sharing information; (2) effective management of software development phases; and (3) development techniques and environments to support the production of semantic software through an interdisciplinary approach. We believe that the review of the literature and discussions presented in this work can contribute to disseminate best practices of using ontologies in software development as well as to give directions about this field of research, its challenges and opportunities.

[1]  Miltiadis D. Lytras,et al.  The Semantic Web: Real-World Applications from Industry , 2007, The Semantic Web: Real-World Applications from Industry.

[2]  Seiji Isotani,et al.  Estado da Arte em Web Semântica e Web 2.0: Potencialidades e Tendências da Nova Geração de Ambientes de Ensino na Internet , 2009 .

[3]  Colin Atkinson,et al.  A Flexible Infrastructure for Multilevel Language Engineering , 2009, IEEE Transactions on Software Engineering.

[4]  M. L. Caliusco,et al.  The Use of Ontologies in Requirements Engineering , 2010 .

[5]  Daniele Nardi,et al.  Building Tools for software engineering with artificial intelligence techniques , 1990, Appl. Artif. Intell..

[6]  Thomas Memmel,et al.  Agile human-centered software engineering , 2007, BCS HCI.

[7]  Ig Ibert Bittencourt,et al.  JOINT: Java ontology integrated toolkit , 2013, Expert Syst. Appl..

[8]  Anthony Hall,et al.  Seven myths of formal methods , 1990, IEEE Software.

[9]  Seiji Isotani,et al.  Towards an Ontological Infrastructure for Content Modeling and Personalization , 2012, 2012 Seventh International Workshop on Semantic and Social Media Adaptation and Personalization.

[10]  Javier Garzás,et al.  An ontology for microarchitectural design knowledge , 2005, IEEE Software.

[11]  Martha Grabowski,et al.  Software complexity and its impacts in embedded intelligent real-time systems , 2005, J. Syst. Softw..

[12]  Mario Piattini,et al.  Ontologies for Software Engineering and Software Technology , 2010 .

[13]  Jonathan P. Bowen,et al.  Software engineering and formal methods , 2008, CACM.

[14]  Dirk Deridder,et al.  The Use of Ontologies as a Backbone for Software Engineering Tools , 1999 .

[15]  Yusuke Hayashi,et al.  Toward a Learning/Instruction Process Model for Facilitating the Instructional Design Cycle , 2009, WCCE.

[16]  Alta van der Merwe,et al.  A Functional Semantic Web Architecture , 2008, ESWC.

[17]  José Ramón Hilera,et al.  Using Ontologies in Software Engineering and Technology , 2006, Ontologies for Software Engineering and Software Technology.

[18]  Jeff Z. Pan,et al.  Towards Ontology-driven Requirements Engineering , 2011 .

[19]  James A. Hendler,et al.  Web science: an interdisciplinary approach to understanding the web , 2008, CACM.

[20]  Mark Lycett,et al.  Ontology-driven software engineering , 2009, OOPSLA Companion.

[21]  Ian Sommerville,et al.  Requirements Engineering: Processes and Techniques , 1998 .

[22]  Jeffrey C. Carver,et al.  A systematic literature review to identify and classify software requirement errors , 2009, Inf. Softw. Technol..

[23]  Tharam S. Dillon,et al.  Ieee Transactions on Knowledge and Data Engineering, Manuscript Id 1 Development of a Software Engineering Ontology for Multi-site Software Development , 2022 .

[24]  Jéssyka Vilela,et al.  A Systematic Review on the Use of Ontologies in Requirements Engineering , 2014, 2014 Brazilian Symposium on Software Engineering.

[25]  Nancy G. Leveson,et al.  Intent specifications: an approach to building human-centered specifications , 1998, Proceedings of IEEE International Symposium on Requirements Engineering: RE '98.

[26]  Riichiro Mizoguchi Tutorial on Ontological Engineering: Part 1: Introduction to Ontological Engineering. , 2003 .

[27]  Jörg Rech,et al.  Artificial Intelligence and Software Engineering: Status and Future Trends , 2004, Künstliche Intell..

[28]  Michael Martin,et al.  Developing Semantic Web Applications with the OntoWiki Framework , 2009, Networked Knowledge - Networked Media - Integrating Knowledge Management.

[29]  Elvinia Riccobene,et al.  Proving Invariants of I/O Automata with TAME , 2004, Automated Software Engineering.

[30]  Wendy Hall,et al.  The Semantic Web Revisited , 2006, IEEE Intelligent Systems.

[31]  Greg Goth,et al.  Currents: Trends, People, Projects , 2007, IEEE Software.

[32]  Vladan Devedzic Semantic Web and education , 2006 .

[33]  Jonathan P. Bowen,et al.  Seven More Myths of Formal Methods , 1994, FME.

[34]  Tharam S. Dillon,et al.  Ontology-Based Software Engineering- Software Engineering 2.0 , 2008, 19th Australian Conference on Software Engineering (aswec 2008).

[35]  Bernardo Cuenca Grau,et al.  A possible simplification of the semantic web architecture , 2004, WWW '04.

[36]  Mitsuru Ikeda,et al.  The foundations of a theory-aware authoring tool for CSCL design , 2010, Comput. Educ..

[37]  David R. Karger,et al.  Potluck: Data Mash-Up Tool for Casual Users , 2007, ISWC/ASWC.

[38]  Nima Kaviani,et al.  Ontologies and Software Engineering , 2009, Handbook on Ontologies.

[39]  C. A. R. Hoare,et al.  Intelligent Systems and Formal Methods in Software Engineering , 2006, IEEE Intelligent Systems.

[40]  Elizabeth Chang,et al.  Ontology-Based Software Engineering- Software Engineering 2.0 , 2008 .

[41]  Christopher A. Welty,et al.  Artificial Intelligence and Software Engineering: Breaking the Toy Mold , 2004, Automated Software Engineering.