Abstract
Making distributed teams more efficient is one main goal of Collaborative Software Development (CSD) research. To this end, ontologies, which are models that capture a shared understanding of a specific domain, provide key benefits. Ontologies have formal, machine-interpretable semantics that allow to define semantic mappings for heterogeneous data and to infer implicit knowledge at run-time. Extending development infrastructures and software architectures with ontologies (of problem and solution domains) will address coordination and knowledge sharing challenges in activities such as documentation, requirements specification , component reuse, error handling, and test case management. The purpose of this article is to provide systematic account of how ontologies can be applied in CSD, and to describe benefits of both existing applications such as “semantic wikis ” as well as visionary scenarios such as a “Software Engineering Semantic Web ”.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
W3 Consortium, see http://www.w3.org/2001/sw/BestPractices/SE/ODA/
- 2.
Object Management Group, see http://www.omg.org/ontology/
- 3.
Resource Description Framework, cf. http://www.w3.org/RDF/
- 4.
Web Ontology Language, cf. http://www.w3.org/2004/OWL/
- 5.
Protégé: http://protege.stanford.edu/
- 6.
- 7.
see e.g. http://doapspace.org/
- 8.
References
The friend of a friend (foaf) project (2007) URL http://www.foaf-project.org/.
Foaf vocabulary specification (2007) URL http://xmlns.com/foaf/spec/.
Semantically-interlinked online communities (sioc) ontology submission request to w3c (2007) URL http://www.w3.org/Submission/2007/02/.
Twiki success stories (2007) URL http://twiki.org/cgi-bin/view/Main/TWikiSuccessStories.
Sioc core ontology specification (2008) URL http://rdfs.org/sioc/spec/.
The sioc project (2008) URL http://sioc-project.org/.
Abran A, Moore J, Bourque P, DuPuis R, Tripp L (2004) Guide to the software engineering body of knowledge-2004. IEEE-CS-Professional Practices Committee.
Ankolekar A (2005) Towards a semantic web of community, content and interations. Ph.D. thesis, School of Computer Science, Carnegie Mellon University.
Ankolekar A, Sycara K, Herbsleb J, Kraut R, Welty C (2006) Supporting online problem solving communities with the semantic web. WWW’06. ACM, NY, USA.
Bachmann F, Merson P (2005) Experience using the web-based tool wiki for architecture documentation. Technical Note CMU.
Berners-Lee T, Hendler J, Lassila O (2001) The semantic web. Scientific American, May, pp. 35–43.
Bizer C, Cyganiak R (2006) D2r server-publishing relational databases on the semantic web (poster). International Semantic Web Conference.
Bontcheva K, Sabou M (2006) Learning ontologies from software artifacts: Exploring and combining multiple sources. Workshop on Semantic Web Enabled Software Engineering, GA, USA.
Bruegge B, Dutoit AH (2003) Object-Oriented Software Engineering: Using UML, Patterns and Java, 2nd edn. Englewood Cliffs, NJ: Prentice Hall.
Bruegge B, Dutoit AH, Wolf T (2006) Sysiphus: Enabling informal collaboration in global software development. International Conference on Global Software Engineering. IEEE CS, Washington, DC, USA.
Cheng LT, De Souza CR, Hupfer S, Patterson J, Ross S (2004) Building collaboration into ides. Queue 1(9): 40–50.
Cubranic D, Murphy GC, Singer J, Booth KS (2005) Hipikat: A project memory for software development. IEEE Transactions on Software Engineering 31(6): 446–465.
Dameron O (2005) Keeping modular and platform-independent software up-to-date: Benefits from the semantic web. 8th International Protégé Conference, Stanford Medical Informatics, Stanford University, USA.
Davenport T, Prusak L (1998) Working Knowledge. Boston, MA: Harvard Business School Press.
Desouza KC, Awazu Y, Tiwana A (2006) Four dynamics for bringing use back into software reuse. Communications of the ACM 49(1): 97–100.
Dumbill E (2002) Finding friends with xml and rdf. URL http://www.ibm.com/developerworks/xml/library/x-foaf.html.
Dumbill E (2004) Describe open source projects with xml. URL http://www128.ibm.com/developerworks/xml/library/x-osproj.html.
Noy FN, McGuiness DL (2001) Ontology development 101: A guide to creating your first ontology. Online. URL http://www.ksl.stanford.edu/people/dlm/papers/ontology101/ontology101-noymcguinness.html.
Gasevic D, Djuric D, Devedic V (2006) Model Driven Architecture and Ontology Development, 1st edn. Berlin: Springer.
Genesereth MR, Nilsson NJ (1987) Logical foundations of artificial intelligence. San Francisco, CA: Morgan Kaufmann Publishers Inc.
Gomez-Perez A, Corcho-Garcia O, Fernandez-Lopez M (2003) Ontological Engineering. Secaucus, NJ: Springer-Verlag New York, Inc.
Gruber TR (1993) A translation approach to portable ontology specifications. Knowledge Acquisition 5(2): 199–220.
Hansen MT (1999) The search-transfer problem: The role of weak ties in sharing knowledge across organization subunits. Administrative Science Quarterly 44: 82–111.
Happel HJ, Korthaus A, Seedorf S, Tomczyk P (2006) Kontor: An ontology-enabled approach to software reuse. 18th International Conference on Software Engineering and Knowledge Engineering. San Francisco, CA, USA.
Happel HJ, Maalej W (2008) Potentials and challenges of recommendation systems for software development. International Workshop on Recommendation Systems for Software Engineering. ACM.
Happel HJ, Seedorf S (2006) Applications of ontologies in software engineering. International Workshop on Semantic Web Enabled Software Engineering. Athens, USA.
Happel HJ, Seedorf S (2007) Ontobrowse: A semantic wiki for sharing knowledge about software architectures. 19th International Conference on Software Engineering and Knowledge Engineering, SEKE 2007, Boston, MA, USA, pp 506–512.
Herbsleb JD, Mockus A (2003) Formulation and preliminary test of an empirical theory of coordination in software engineering. SIGSOFT Software Engineering Notes 28(5): 138–147.
Kersten M, Murphy G (2006) Using task context to improve programmer productivity. 14th International Symposium on Foundations of Software Engineering. ACM, NY, USA.
Kraut RE, Streeter LA (1995) Coordination in software development. Communications of the ACM 38(3): 69–81.
Krötzsch M, Vrandecic D, Völkel M (2006) Semantic mediawiki. Proceeding on 5th International Semantic Web Conference (ISWC06), pp 935–942.
Lin J, Fox MS, Bilgic T (1996) A requirement ontology for engineering design. Concurrent Engineering 4: 279–291.
Louridas P (2006) Using wikis in software development. IEEE Software 23: 88–91.
Maalej W, Happel HJ (2008) A lightweight approach for knowledge sharing in distributed software teams. 7th International Conference on Practical Aspects of Knowledge Management, Lecture Notes in Computer Science. Springer.
Maalej W, Panagiotou D, Happel HJ (2008) Towards effective management of software knowledge exploiting the semantic wiki paradigm. Software Engineering, volume 121 of LNI, pp. 183–197.
Majchrzak A, Wagner C, Yates D (2006) Corporate wiki users: results of a survey. ACM, Odense, URL http://portal.acm.org/citation.cfm?id=1149472, pp. 99–104.
Malone TW, Crowston K (1994) The interdisciplinary study of coordination. ACM Computing Surveys 26(1): 87–119. DOI http://doi.acm.org/10.1145/174666.174668.
Ruiz F, Hilera JR (2007) Ontologies for Software Engineering and Technology. Berlin/Heidelberg: Springer.
Sarma A, Noroozi Z, Hoek, Avd (2003) Palantir: raising awareness among configuration management workspaces. 25th International Conference on Software Engineering. IEEE CS, DC, USA.
Sengupta B, Chandra S, Sinha V (2006) A research agenda for distributed software development. ACM, Shanghai, China, pp. 731–740.
Södestrom E, Andersson B, Johannesson P, Perjons E, Wangler B (2001) Towards a framework for comparing process modelling lan.guages. International Conference on Advanced Information Systems Engineering.
Staab S, Studer R (Eds.) (2004) Handbook on Ontologies. Berlin: Springer.
Studer R, Grimm S, Abecker A (2007) Semantic Web Services: Concepts, Technologies, and Applications, 1st edn. Heidelberg: Springer-Verlag.
Wang TD, Parsia B, Hendler J (2006) A survey of the web ontology landscape. Technical Report, University of Maryland and University of Manchester.
Wille C, Abran A, Desharnais J, Dumke R (2003) The quality concepts and subconcepts in swebok: An ontology challenge. Workshop on Software Measurement.
Witte R, Zhang Y, Rilling J (2007) Empowering software maintainers with semantic web technologies. 4th European Semantic Web Conference, LNCS. Springer.
Wouters B, Deridder D, Paesschen EV (2000) The use of ontologies as a backbone for use case management. Workshop on Objects and Classifications, a Natural Convergence.
Ye Y, Fischer G (2005) Supporting reuse by delivering task-relevant and personalized information. Automated Software Engineering 12(2): 199–235.
Zeller A (2007) The future of programming environments. Integration, synergy, and assistance. Future of Software Engineering. IEEE CS, Washington, DC, USA.
Zhang Y, Witte R, Rilling J, Haarslev V (2008) Ontological approach for the semantic recovery of traceability links between software artifacts. IET Software 2(3): 185–203.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Happel, HJ., Maalej, W., Seedorf, S. (2010). Applications of Ontologies in Collaborative Software Development. In: Mistrík, I., Grundy, J., Hoek, A., Whitehead, J. (eds) Collaborative Software Engineering. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-10294-3_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-10294-3_6
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-10293-6
Online ISBN: 978-3-642-10294-3
eBook Packages: Computer ScienceComputer Science (R0)