Agile Knowledge Engineering for Mission Critical Software Requirements

  • Paolo Ciancarini
  • Angelo Messina
  • Francesco Poggi
  • Daniel Russo
Part of the Advances in Intelligent Systems and Computing book series (AISC, volume 626)


This chapter explains how a mission critical Knowledge-Based System (KBS) has been designed and implemented within a real case study of a governamental organization. Moreover, the KBS has been developed using a novel agile software development methodology. Due to fast changing operational scenarios and volatile requirements, traditional procedural development methodologies perform poorly. Thus, an Agile-like methodology has been exploited, called iAgile. The KBS is based on an ontology used to merge different mental models of users and developers. Moreover, the ontology of the system is useful for interoperability and knowledge representation. Mission critical functionalities have been developed in 5-week cycles, along with the ontology. So, the KBS serves for three main activities: (i) requirement disambiguation, (ii) interoperability with other legacy systems, and (iii) information retrieval and display of different informative sources.



The Authors wish to thank the Consorzio Interuniversitario Nazionale per l’Informatica (CINI) for the partial support in the context of the AMINSEP project. We also thank CNR for supporting the authors Ciancarini and Russo.


  1. 1.
    Easterbrook, S., Lutz, R., Covington, R., Kelly, J., Ampo, Y., Hamilton, D.: Experiences using lightweight formal methods for requirements modeling. IEEE Trans. Softw. Eng. 24(1), 4–14 (1998)CrossRefGoogle Scholar
  2. 2.
    Lucassen, G., Dalpiaz, F., van der Werf, J., Brinkkemper, S.: Improving agile requirements: the quality user story framework and tool. Requir. Eng. 21(3), 383–403 (2016)CrossRefGoogle Scholar
  3. 3.
    Alliance, A.: Agile manifesto 6(1) (2001).
  4. 4.
    Thamrongchote, C., Vatanawood, W.: Business process ontology for defining user story. In: IEEE/ACIS 15th International Conference on Computer and Information Science (ICIS), pp. 1–4. Japan (2016)Google Scholar
  5. 5.
    Porac, J.F., Thomas, H.: Taxonomic mental models in competitor definition. Acad. Manag. Rev. 15(2), 224–240 (1990)Google Scholar
  6. 6.
    Bearden, J.B.: Command and control enabling the expeditionary aerospace force. Technical report, DTIC Document (2000)Google Scholar
  7. 7.
    Akerlof, G.: The market for lemons: quality uncertainty and the market mechanism. Essential Readings in Economics, pp. 175–188. Springer, Berlin (1995)Google Scholar
  8. 8.
    Sutherland, J.: Agile can scale: inventing and reinventing scrum in five companies. Cut. IT J. 14(12), 5–11 (2001)Google Scholar
  9. 9.
    Staff, C.: Interoperability and supportability of information technology and national security systems. Technical report, CJCSI 6212.01E, Department of Defence (United States of America) (2008)Google Scholar
  10. 10.
    Alberts, D.S., Garstka, J.J., Stein, F.P.: Network centric warfare: developing and leveraging information superiority. Technical report, DTIC Document (2000)Google Scholar
  11. 11.
    Schwaber, K.: Agile Project Management with Scrum. Microsoft Press, Redmond (2004)Google Scholar
  12. 12.
    VersionOne: 11th annual state of agile survey (2016).
  13. 13.
    Cotugno, F.R., Messina, A.: Adapting scrum to the Italian army: methods and (open) tools. In: IFIP International Conference on Open Source Systems, pp. 61–69. Springer, Berlin (2014)Google Scholar
  14. 14.
    Messina, A., Fiore, F., Ruggiero, M., Ciancarini, P., Russo, D.: A new agile paradigm for mission-critical software development. J. Def. Softw. Eng. (CrossTalk) 6, 25–30 (2016)Google Scholar
  15. 15.
    Rubin, K.S.: Essential scrum: a practical guide to the most popular agile process. Addison-Wesley, Upper Saddle River (2012)Google Scholar
  16. 16.
    Harvie, D., Agah, A.: Targeted scrum: applying mission command to agile software development. IEEE Trans. Softw. Eng. 42(5), 476–489 (2016)CrossRefGoogle Scholar
  17. 17.
    Sterling, L., Ciancarini, P., Turnidge, T.: On the animation of not executable specifications by prolog. Int. J. Softw. Eng. Knowl. Eng. 6(1), 63–87 (1996)CrossRefGoogle Scholar
  18. 18.
    Reifer, D.: Industry software cost, quality and productivity benchmarks. DoD SoftwareTech News 7(2), 3–19 (2004)Google Scholar
  19. 19.
    Pressman, R.S.: Software Engineering: A Practitioner’s Approach. Palgrave Macmillan, New York (2005)Google Scholar
  20. 20.
    Benedicenti, L., Cotugno, F., Ciancarini, P., Messina, A., Pedrycz, W., Sillitti, A., Succi, G.: Applying scrum to the army: a case study. In: Proceedings of the 38th International Conference on Software Engineering Companion, pp. 725–727. ACM (2016)Google Scholar
  21. 21.
    Boehm, B., Basili, V.R.: Software defect reduction top 10 list. Computer 34(1), 135–137 (2001)CrossRefGoogle Scholar
  22. 22.
    Gazzerro, S., Marsura, R., Messina, A., Rizzo, S.: Capturing user needs for agile software development. In: Proceedings of 4th International Conference in Software Engineering for Defence Applications, pp. 307–319. Springer, Berlin (2016)Google Scholar
  23. 23.
    Nelson, R.R., Winter, S.G.: An Evolutionary Theory of Economic Change. Harvard University Press, Harvard (2009)Google Scholar
  24. 24.
    Conway, M.: How do committees invent. Datamation 14(4), 28–31 (1968)Google Scholar
  25. 25.
    Johnson-Laird, P.N.: Mental Models: Towards a Cognitive Science of Language, Inference, and Consciousness, vol. 6. Harvard University Press, Harvard (1983)Google Scholar
  26. 26.
    Craik, K.: The nature of exploration (1943)Google Scholar
  27. 27.
    Itzik, N., Reinhartz-Berger, I., Wand, Y.: Variability analysis of requirements: considering behavioral differences and reflecting stakeholders. IEEE Trans. Softw. Eng. 42(7), 687–706 (2016)CrossRefGoogle Scholar
  28. 28.
    Uschold, M., Gruninger, M.: Ontologies: principles, methods and applications. Knowl. Eng. Rev. 11(02), 93–136 (1996)CrossRefGoogle Scholar
  29. 29.
    Kumar, M., Ajmeri, N., Ghaisas, S.: Towards knowledge assisted agile requirements evolution. In: Proceedings of the 2nd International Workshop on Recommendation Systems for Software Engineering, RSSE’10, pp. 16–20. ACM, New York (2010)Google Scholar
  30. 30.
    Machado, J., Isotani, S., Barbosa, A., Bandeira, J., Alcantara, W., Bittencourt, I., Barbosa, E.: Ontosoft process: towards an agile process for ontology-based software. In: 49th Hawaii International Conference on System Sciences (HICSS), pp. 5813–5822. IEEE (2016)Google Scholar
  31. 31.
    Knublauch, H.: Ramblings on agile methodologies and ontology-driven software development. In: Workshop on Semantic Web Enabled Software Engineering (SWESE), Galway, Ireland (2005)Google Scholar
  32. 32.
    Polanyi, M.: The tacit dimension (1966)Google Scholar
  33. 33.
    Ciancarini, P., Presutti, V.: Towards ontology driven software design. Radical Innovations of Software and Systems Engineering in the Future, pp. 122–136. Springer, Berlin (2004)Google Scholar
  34. 34.
    Knublauch, H., Fergerson, R.W., Noy, N.F., Musen, M.A.: The protégé OWL plugin: an open development environment for semantic web applications. In: International Semantic Web Conference, pp. 229–243. Springer, Berlin (2004)Google Scholar
  35. 35.
    Ciancarini, P., Poggi, F., Russo, D.: Big data quality: a roadmap for open data. In: 2nd IEEE International Conference on Big Data Service (BigDataService), pp. 210–215. IEEE (2016)Google Scholar
  36. 36.
    Gomez-Perez, A., Fernández-López, M., Corcho, O.: Ontological Engineering: With Examples from the Areas of Knowledge Management, e-commerce and the Semantic Web. Springer Science & Business Media, New York (2006)Google Scholar
  37. 37.
    Hu, Y., Janowicz, K., Carral, D., Scheider, S., Kuhn, W., Berg-Cross, G., Hitzler, P., Dean, M., Kolas, D.: A geo-ontology design pattern for semantic trajectories. In: International Conference on Spatial Information Theory, pp. 438–456. Springer, Berlin (2013)Google Scholar
  38. 38.
    Russo, D., Lomonaco, V., Ciancarini, P.: A machine learning approach for continuous development. In: Proceedings of 5th International Conference in Software Engineering for Defence Applications. Springer, Advances in Intelligent Systems and Computing (2017)Google Scholar
  39. 39.
    Russo, D.: Benefits of open source software in defense environments. In: Proceedings of 4th International Conference in Software Engineering for Defence Applications. Advances in Intelligent Systems and Computing, vol. 422, pp. 123–131. Springer, Berlin (2016)Google Scholar
  40. 40.
    Russo, D., Ciancarini, P.: A proposal for an antifragile software manifesto. Procedia computer science. In: The 7th International Conference on Ambient Systems, Networks and Technologies (ANT 2016), vol. 83, pp. 982–987 (2016)Google Scholar
  41. 41.
    Russo, D., Ciancarini, P.: Towards Antifragile Architectures. Procedia Computer Science. In: The 8th International Conference on Ambient Systems, Networks and Technologies (ANT 2017), vol. 109, pp. 929–934 (2017)Google Scholar
  42. 42.
    Russo, D., Ciancarini, P., Falasconi, T., Tomasi, M.: A software quality concerns in the Italian bank sector: the emergence of a meta-quality dimension. In: Proceedings of the 39th International Conference on Software Engineering: Software Engineering in Practice Track (ICSE-SEIP), pp. 63–72, IEEE (2017)Google Scholar
  43. 43.
    Ciancarini, P., Russo, D., Sillitti, A., Succi, G.: Reverse engineering: a European IPR perspective. In: Proceedings of the 31st Annual ACM Symposium on Applied Computing, pp. 1498–1503. ACM (2016)Google Scholar
  44. 44.
    Ciancarini, P., Russo, D., Sillitti, A., Succi, G.: A guided tour of the legal implications of software cloning. In: Proceedings of the 38th International Conference on Software Engineering Companion, (ICSE-SEIS), pp. 563–572. ACM (2016)Google Scholar

Copyright information

© Springer International Publishing AG 2018

Authors and Affiliations

  • Paolo Ciancarini
    • 1
  • Angelo Messina
    • 2
  • Francesco Poggi
    • 3
  • Daniel Russo
    • 4
  1. 1.Department of Computer Science and EngineeringConsorzio Interuniversitario Nazionale per l’Informatica (CINI), University of BolognaBolognaItaly
  2. 2.Defense and Security Software Engineers AssociationInnopolis University, Russian FederationRomeItaly
  3. 3.Department of Computer Science and EngineeringUniversity of BolognaBolognaItaly
  4. 4.Department of Computer Science and EngineeringInstitute of Cognitive Sciences and Technologies, Italian National Research Council (CNR), Consorzio Interuniversitario Nazionale per l’Informatica (CINI)BolognaItaly

Personalised recommendations