Advertisement

Requirements Engineering

, Volume 16, Issue 2, pp 133–160 | Cite as

Integrating ontologies, model driven, and CNL in a multi-viewed approach for requirements engineering

  • Paulo F. Pires
  • Flávia C. Delicato
  • Raphael Cóbe
  • Thais Batista
  • Joseph G. Davis
  • Joo Hee Song
Original Article

Abstract

Research in requirements engineering (RE) has been growing in the last few years. RE researchers are generally concerned with a set of open issues such as: (i) the need for a well-defined process to identify and specify the requirements scope, (ii) suitable mechanisms to support communication among different stakeholders and development teams involved in the RE process, (iii) mechanisms to deal with the inherent volatility of requirements, and (iv) the need for a traceability scheme to help managing requirements in the downstream phases of the development process. In this work, we address some of these open issues by proposing the use of an iterative and incremental model-driven RE process combined with the employment of different notations such as controlled natural language and ontology in each activity of RE process. Based on the argument that there is no single notation suitable to represent requirements from the different perspectives of all the stakeholders and development teams, we propose a RE process encompassing different views, representing each perspective. This paper describes the proposed process, its tool support, and presents a controlled experiment that illustrates the proposal and evaluates its benefits.

Keywords

Requirement engineering process Model-driven development MDA Ontology Controlled natural language 

References

  1. 1.
    Nuseibeh B, Easterbrook S (2000) Requirements engineering: a roadmap. In: ICSE—future of SE track, pp 35–46. http://blueciteseer.ist.psu.edu/article/nuseibeh00requirement.html
  2. 2.
    González-Baixauli B, Laguna M, Crespo Y (2005) Product lines, features, and MDD. In: EWMT 2005 workshopGoogle Scholar
  3. 3.
    Gómez-Pérez A, Fernández-López M, Corcho O (2004) Ontological engineering: with examples from the areas of knowledge management, e-commerce and the semantic web. SpringerGoogle Scholar
  4. 4.
    Paulk M, Weber C, Curtis B, Chrissis M (1995) The capability maturity model: guidelines for improving the software process. Addison-Wesley/Longman Publishing, BostonGoogle Scholar
  5. 5.
    Pressman R (2005) Software engineering: a practitioner’s approach. McGraw-Hill, New YorkGoogle Scholar
  6. 6.
    Sommerville I (2001) Software engineering, 6th edn. Addison-Wesley, HarlowGoogle Scholar
  7. 7.
    Reubenstein H, Waters R (1991) The requirements apprentice: automated assistance for requirements acquisition. IEEE Trans Softw Eng 17(3):226–240CrossRefGoogle Scholar
  8. 8.
    Walz D, Elam J, Curtis B (1993) Inside a software design team: knowledge acquisition, sharing, and integration. Commun ACM 36(10):63–77CrossRefGoogle Scholar
  9. 9.
    Wojcik R, Holmback H (1996) Getting a controlled language off the ground at Boeing. In: Proceedings of the 1st international workshop on controlled language applications, pp 22–31Google Scholar
  10. 10.
    Mylopoulos J, Borgida A, Jarke M, Koubarakis M (1990) Telos: Representing knowledge about information systems. ACM Trans Info Syst 8(4):325–362CrossRefGoogle Scholar
  11. 11.
    Johnson W, Feather M, Harris D (1992) Representation and presentation of requirements knowledge. IEEE Trans Softw Eng 18(10):853–869CrossRefGoogle Scholar
  12. 12.
    Gordon M (2004) Knowledge representation: logical, philosophical, and computational foundations. Distrib Syst Online IEEE 5(1):9.1–9.3CrossRefGoogle Scholar
  13. 13.
    Wang S, Jin L, Jin C (2006) Ontology definition metamodel based consistency checking of UML models. In: 10th International conference on computer supported cooperative work in design, pp 1–5Google Scholar
  14. 14.
    Donini F, Lenzerini M, Nardi D, Schaerf A (1996) Reasoning in description logics. In: Brewka G (ed) Principles of knowledge representation and reasoning. Studies in logic, language and information. CLSI Publications, pp 193–238Google Scholar
  15. 15.
    Lenzerini M (1996) Tbox and abox reasoning in expressive description logics. In: Proceedings of KR-96. Morgan Kaufmann, pp 316–327Google Scholar
  16. 16.
    Christel M, Kang K (1992) Issues in requirements elicitation. Carnegie Mellon University, Software Engineering InstituteGoogle Scholar
  17. 17.
    Carter RA, Anton AI, Dagnino A, Williams L (2001) Evolving beyond requirements creep: a risk-based evolutionary prototyping model. In: Proceedings of IEEE 5th international symposium on requirements engineering (RE’01), pp 94–101Google Scholar
  18. 18.
    Espindola R, Lopes L, Prikladnicki R, Audy J (2005) Uma Abordagem Baseada em Gestão do Conhecimento para Gerência de Requisitos em Desenvolvimento Distribuído de Software. In: VIII workshop on requirements engineeringGoogle Scholar
  19. 19.
    Sage A, Palmer J (1990) Software systems engineering. Wiley, New YorkGoogle Scholar
  20. 20.
    Macaulay L, Flower C, Kirby M, Hutt A (1990) USTM: a new approach to requirements specification. Interact Comput 2(1):92–118CrossRefGoogle Scholar
  21. 21.
    Antón A, Potts C (2001) Functional paleontology: system evolution as the user sees it. In: Proceedings of the 23rd international conference on software engineering. IEEE Computer Society, pp 421–430Google Scholar
  22. 22.
    Stark G, Oman P, Skillicorn A, Ameele A (1999) An examination of the effects of requirements changes on software maintenance releases. J Softw Maintenance 11(5):293–310CrossRefGoogle Scholar
  23. 23.
    Dubois E, Hagelstein J, Rifaut A (1989) Formal requirements engineering with ERAE. Philips J Res 43(4):393–414Google Scholar
  24. 24.
    Al-Rawas A, Easterbrook S (1996) Communication problems in requirements engineering: a field studyGoogle Scholar
  25. 25.
    Bhat J, Gupta M, Murthy S, Technologies I (2006) Overcoming requirements engineering challenges: lessons from offshore outsourcing. Softw IEEE 23(5):38–44CrossRefGoogle Scholar
  26. 26.
    Goguen JA, Linde C (1993) Techniques for requirements elimination. In: Proceedings of international symposium on requirements engineering. IEEE CS Press, Los Alamitos, pp 152–164. http://blueciteseer.ist.psu.edu/goguen93techniques.html
  27. 27.
    Nurmuliani N, Zowghi D, Powell S (2004) Analysis of requirements volatility during software development life cycle. In: Software engineering conference, 2004. Proceedings 2004 Australian, pp 28–37Google Scholar
  28. 28.
    Breitman K, do Prado Leite J (2004) Lexicon based ontology construction. In: LNCS, vol 19–34Google Scholar
  29. 29.
    Bryant B, Lee B, Cao F, Zhao W, Burt C, Gray J, Raje R, Olson A, Auguston M (2003) From natural language requirements to executable models of software components. In: Proceedings of the monterey workshop on software engineering for embedded systems: from requirements to implementation, pp 51–58. http://blueciteseer.ist.psu.edu/bryant03from.html
  30. 30.
    Debnath N, Leonardi M, Mauco M, Montejano G, Riesco D (2008) Improving model driven architecture with requirements models. In: 5th International conference on information technology: new generations, 2008 (ITNG 2008), pp 21–26Google Scholar
  31. 31.
    van Lamsweerde A (2008) Requirements engineering: from craft to discipline. In: Proceedings of the 16th ACM SIGSOFT international symposium on foundations of software engineering. ACM, New York, pp 238–249Google Scholar
  32. 32.
    White S (2004) Process modeling notations and workflow patterns. In: Workflow handbook, pp 265–294Google Scholar
  33. 33.
    Kavakli E, Loucopoulos P (2008) Goal driven requirements engineering: evaluation of current methods. In: Proceedings of 8th CAiSE/IFIP8, vol 1Google Scholar
  34. 34.
    Kaiya H, Saeki M (2006) Using domain ontology as domain knowledge for requirements elicitation. In: Proceedings of the 14th IEEE international requirements engineering conference (RE’06). IEEE Computer Society, Washington, pp 186–195Google Scholar
  35. 35.
    Gotel O, Finkelstein C (1994, April) An analysis of the requirements traceability problem. In: Proceedings of the 1st international conference on requirements engineering, pp 94–101Google Scholar
  36. 36.
    Gotel O, Finkelstein A (1997, January) Extended requirements traceability: results of an industrial case study. In: Proceedings of the 3rd IEEE international symposium on requirements engineering, pp 169–178Google Scholar
  37. 37.
    Cleland-Huang J, Chang C, Christensen M (2003) Event-based traceability for managing evolutionary change. IEEE Trans Softw Eng 29(9):796–810CrossRefGoogle Scholar
  38. 38.
    Egyed A (2003) A scenario-driven approach to trace dependency analysis. IEEE Trans Softw Eng 29(2):116–132CrossRefGoogle Scholar
  39. 39.
    Fuchs NE, Schwertel U, Schwitter R (1999, June) Attempto controlled English—not just another logic specification language. In: Flener P (ed) Logic-based program synthesis and transformation. No. 1559 in Lecture Notes in Computer Science. 8th International workshop LOPSTR’98. Springer, ManchesterGoogle Scholar
  40. 40.
    Mellor S (2004) MDA distilled: principles of model driven architecture. Addison-Wesley Professional, CanadaGoogle Scholar
  41. 41.
    Kleppe A, Warmer J, Bast W (2003) MDA explained: the model driven architecture: practice and promise. Co., Inc. Addison-Wesley/Longman Publishing, BostonGoogle Scholar
  42. 42.
    Wohlin C, Höst M, Henningsson K (2003) Empirical research methods in software engineering. In: Conradi R, Wang AI (eds) Empirical methods and studies in software engineering, Lecture Notes in Computer Science. Springer, Heidelberg, pp 7–23Google Scholar
  43. 43.
    OMG (2009) OMG unified modeling language TM (OMG UML), Superstructure. http://www.omg.org/cgi-bin/doc?formal/09-02-02.pdf. Accessed 10 May 2010
  44. 44.
    Rumbaugh J, Jacobson I, Booch G (2004) Unified modeling language reference manual, The Pearson Higher EducationGoogle Scholar
  45. 45.
    Breitman K, do Prado Leite J (2003, September) Ontology as a requirements engineering product. In: 11th IEEE international conference on requirements engineering proceedings, pp 309–319Google Scholar
  46. 46.
    Kaljurand K (2008) ACE view—an ontology and rule editor based on Attempto Controlled English. In: 5th OWL experiences and directions workshop (OWLED 2008). Karlsruhe, 26–27 October, 12 ppGoogle Scholar
  47. 47.
    Smith M, Welty C, McGuinness D (2004) Owl web ontology language guide. W3C recommendation 10Google Scholar
  48. 48.
    Stumme G, Maedche A (2001) FCA-merge: bottom-up merging of ontologies. In: 7th international conference on artificial intelligence (IJCAI01), pp 225–230Google Scholar
  49. 49.
    Steve G, Gangemi A, Pisanelli D (1998) lntegrating medical terminologies with ONIONS methodology. In: Information modelling and knowledge bases, vol IXGoogle Scholar
  50. 50.
    Noy N, Musen M (2000) PROMPT: algorithm and tool for automated ontology merging and alignment. In: Proceedings of the national conference on artificial intelligence (AAAI), pp 450–455Google Scholar
  51. 51.
    Knublauch H (2004) Ontology-driven software development in the context of the semantic web: an example scenario with protege/OWL. In: Proceedings of MDSW2004, MontereyGoogle Scholar
  52. 52.
    Sirin E, Parsia B (2004) Pellet: an owl dl reasoner. In: 2004 International workshop on description logics. Citeseer, p 212Google Scholar
  53. 53.
    Tsarkov D, Horrocks I (2006) FaCT++ description logic reasoner: system description. In: Automated reasoning, pp 292–297Google Scholar
  54. 54.
    Fuchs NE, Kaljurand K, Kuhn T (2008) Discourse representation structures for ACE 6.0. Tech. Rep. ifi-2008.02, Department of Informatics, University of Zurich, ZurichGoogle Scholar
  55. 55.
    Colomb R, Raymond K, Hart L, Emery P, Welty C, Xie G, Kendall E (2006) Version 3.3: The object management group ontology definition metamodel. In: Ontologies for software engineering and software technology, pp 1–25Google Scholar
  56. 56.
    Jouault F, Allilaire F, Bézivin J, Kurtev I, Valduriez P (2006) ATL: a QVT-like transformation language. In: Companion to the 21st ACM SIGPLAN symposium on object-oriented programming systems, languages, and applications. ACM, p 720Google Scholar
  57. 57.
    Catalog Of OMG Modeling and metadata specifications. Available at: http://www.omg.org/technology/documents/modeling_spec_catalog.htm#UML
  58. 58.
    MOF 2.0/XMI (XML Metadata Interchange) Mapping specification, v2.1.1. OMG Available Specification, formal/07-12-01. Available at http://www.omg.org/docs/formal/07-12-01.pdf
  59. 59.
    Jedlitschka A, Pfahl D (2005) Reporting guidelines for controlled experiments in software engineering. In: International symposium on empirical software engineering, p 10Google Scholar
  60. 60.
    Basili V, Caldiera G, Rombach H (1994) The goal question metric approach. Encycl Softw Eng 1:528–532Google Scholar
  61. 61.
    Briand L, Penta MD, Labiche Y (2004) Assessing and improving state-based class testing: a series of experiments. Trans. Softw Eng 30(11):770–793CrossRefGoogle Scholar
  62. 62.
    Gravino C, Scanniello G, Tortora G (2010) An empirical investigation on dynamic modeling in requirements engineering. Lect Notes Comput Sci 5301/2010:615–629. doi: 10.1007/978-3-540-87875-9_43 Google Scholar
  63. 63.
    Soares S, Laureano E, Borba P (2002) Implementing distribution and persistence aspects with aspect. J ACM SIGPLAN Notices 37(11):174–190CrossRefGoogle Scholar
  64. 64.
    Guarino N, Welty C (2002) Evaluating ontological decisions with OntoClean. Commun ACM 45(2):65CrossRefGoogle Scholar
  65. 65.
    Oppenheim AN (1992) Questionnaire design, interviewing and attitude measurement. Pinter, LondonGoogle Scholar
  66. 66.
    Gliem JA, Gliem RR (2003, October) Calculating, interpreting, and reporting Cronbach’s Alpha reliability coefficient for Likert-type scales. In: Midwest research-to-practice conference in adult, continuing, and community education, pp 82–88Google Scholar
  67. 67.
    Cronbach LJ (1951) Coefficient alpha and the internal structure of tests. Psychometrika 16:297–334CrossRefGoogle Scholar
  68. 68.
    Hatcher L (1994) A step-by-step approach to using the SAS(R) system for factor analysis and structural equation modeling. SAS Institute, CaryGoogle Scholar
  69. 69.
    Nunnaly J (1978) Psychometric theory. McGraw-Hill, New YorkGoogle Scholar
  70. 70.
    IBM SPSS Statistics 19. Available at: http://www.spss.com. Accessed Dec 2010
  71. 71.
    Gašević D, Kaviani N, Milanović M (2009) Ontologies and software engineering. In: Staab S, Studer R (eds) International handbooks on information systems, part 5, handbook on ontologies, Springer, Berlin, ISBN 978-3-540-70999-2 (print) 978-3-540-92673-3 (online)Google Scholar
  72. 72.
    Maedche A (2002) Ontology learning for the semantic web. Kluwer, BostonzbMATHGoogle Scholar
  73. 73.
    Leite JCSP, Franco APM (1993) A strategy for conceptual model acquisition. In: 1st IEEE international symposium on requirements engineering. IEEE Computer Society Press, Los Alamitos, pp 243–246Google Scholar
  74. 74.
    Vongdoiwang W, Batanov DN (2006) An ontology-based procedure for generating object model from text description. Published in journal: Knowl Inf Syst (KAIS): February 2006. Knowl Inf Syst (2006):93–108. doi: 10.1007/s10115-005-0218-5
  75. 75.
    Völkel M (2006, May) RDFReactor—from ontologies to programatic data access. In: Proceedings of the Jena user conference, 2006. HP, BristolGoogle Scholar
  76. 76.
    Won Lee S, Gandhi R (2005) Ontology-based active requirements engineering framework. In: Proceedings of the 12th Asia-Pacific software engineering conference, pp 481–490Google Scholar
  77. 77.
    Dobson G, Sawyer P (2006) Revisiting ontology-based requirements engineering in the age of the semantic web. In: Dependable requirements engineering of computerised systems at NPPsGoogle Scholar
  78. 78.
    Lin J, Fox MS, Bilgic T (1996) A requirement ontology for engineering design. In: Proceedings of 3rd international conference on concurrent engineering, pp 343–351. A revised version appears in Concurr Eng Res Appl 4(4):279–291Google Scholar
  79. 79.
    Zong-yong L, Zhi-xu W, Ai-hui Z, Yong X (2007, July) The domain ontology and domain rules based requirements model checking. Int J Softw Eng Appl 1(1):89–100Google Scholar
  80. 80.
    Oberle D (2006) Semantic management of middleware, vol I of The semantic web and beyond. Springer, New YorkGoogle Scholar
  81. 81.
    Happel H-J, Seedor S (2006) Applications of ontologies in software engineering. In: International workshop on semantic web enabled software engineering (SWESE’06)Google Scholar
  82. 82.
    Kittredge RI (2003) Sublanguages and controlled languages. In: Mitkov R (ed) The Oxford handbook of computational linguistics. Oxford University Press, Oxford, pp 430–447Google Scholar
  83. 83.
    Bryant B, Lee B (2002) Two-level grammar as an object-oriented requirements specification language. In: Proceedings of the 35th annual Hawaii international conference on system sciences (Hicss’02)-vol 9 (7–10 Jan 2002), HICSS. IEEE Computer Society, Washington, p 280Google Scholar
  84. 84.
    Leal LN, Pires PF, Campos MLM, Delicato FC (2006) Natural MDA: controlled natural language for action specifications on model driven development, on the move to meaningful internet systems 2006: CoopIS, DOA, GADA, and ODBASE, doi: 10.1007/11914853_33, pp 551–568
  85. 85.
    Raistrick C, Francis P, Wright J (2004) Model driven architecture with executable UML. Cambridge University Press, ISBN 0-521-53771-1Google Scholar
  86. 86.
    Kalnins A, Kalnina E, Celms E, Sostaks E (2010) From requirements to code in a model driven way, Lecture Notes in Computer Science v. 5968/2010 (Advances in Databases and Information Systems), pp 161–168. Springer, Berlin, ISBN: 978-3-642-12081-7, ISSN: 0302-9743 (print), pp 1611–3349 (online), doi: 10.1007/978-3-642-12082-4
  87. 87.
    Smialek M, Bojarski J, Nowakowski W et al (2007) Complementary use case scenario representations based on domain vocabularies. In: Engels G, Opdyke B, Schmidt DC, Weil F (eds) MODELS 2007, LNCS, vol 4735. Springer, Heidelberg, pp 544–558Google Scholar
  88. 88.
    ReDSeeDS, Requirements Driven Software Development System Project. EU 6th framework IST project (IST-33596), http://www.redseeds.eu
  89. 89.
    Kalnins A, Barzdins J, Celms E (2005) Model transformation language MOLA. In: Aßmann U, Aksit M, Rensink A (eds) MDAFA 2003, LNCS, vol 3599. Springer, Heidelberg, pp 62–76Google Scholar

Copyright information

© Springer-Verlag London Limited 2011

Authors and Affiliations

  • Paulo F. Pires
    • 1
  • Flávia C. Delicato
    • 1
  • Raphael Cóbe
    • 2
  • Thais Batista
    • 2
  • Joseph G. Davis
    • 3
  • Joo Hee Song
    • 3
  1. 1.Department of Computer Science, Institute of MathematicsFederal University of Rio de Janeiro (UFRJ)Rio de JaneiroBrazil
  2. 2.Department of Informatics and Applied Mathematics (DIMAp)Federal University of Rio Grande do Norte (UFRN)NatalBrazil
  3. 3.School of Information Technologies J12University of SydneySydneyAustralia

Personalised recommendations