A Requirements-Led Approach for Specifying QoS-Aware Service Choreographies: An Experience Report

  • Neil Maiden
  • James Lockerbie
  • Konstantinos Zachos
  • Antonia Bertolino
  • Guglielmo De Angelis
  • Francesca Lonetti
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8396)

Abstract

[Context and motivation] Choreographies are a form of service composition in which partner services interact in a global scenario without a single point of control. The absence of an explicitly specified orchestration requires changes to requirements practices to recognize the need to optimize software services choreography and monitoring for satisfaction with system requirements. [Question/problem] We developed a requirements-led approach that aims to provide tools and processes to transform requirements expressed on service-based systems to QoS-aware choreography specifications. [Principal ideas/results] The approach is used by domain experts to specify natural language requirements on a service-based system, and by choreography designers to adapt their models to satisfy requirements more effectively. Non-functional requirements are mapped to BPMN choreography diagrams as quality properties, using the Q4BPMN notation, that support analysis and monitoring facilities. [Contribution] We report the new integrated approach and provide lessons learned from applying it to a real-world example of dynamic taxi management.

Keywords

service choreographies requirements monitors user task models adaptive systems quality properties requirements-led life-cycle 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Peltz, C.: Web Services Orchestration and Choreography. IEEE Computer 36(10), 46–52 (2003)CrossRefGoogle Scholar
  2. 2.
    Ouyang, C., Verbeek, E., van der Aalst, W.M.P., Breutel, S., Dumas, M., Hofstede, A.H.M.: Formal Semantics and Analysis of Control Flow in WS-BPEL. Science of Computer Programming 2(3), 162–198 (2007)CrossRefGoogle Scholar
  3. 3.
    Ben Hamida, A., et al.: An Integrated Development and Runtime Environment for the Future Internet. In: Álvarez, F., et al. (eds.) FIA 2012. LNCS, vol. 7281, pp. 81–92. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  4. 4.
    Sawyer, P., Hutchinson, J., Walkerdine, J., Sommerville, I.: Faceted Service Specification. In: Proceedings SOCCER Workshop at RE 2005 Conference, Paris (2005)Google Scholar
  5. 5.
    Bartolini, C., Bertolino, A., Ciancone, A., De Angelis, G., Mirandola, R.: Quality Requirements for Service Choreographies. In: Proceedings WEBIST 2012, pp. 143–148 (2012)Google Scholar
  6. 6.
    ERCIM News. Special Theme: Future Internet Technology. Number 77 (April 2009)Google Scholar
  7. 7.
    Shaw, M.: The Challenge of Pervasive Software to the Conventional Wisdom of Software Engineering. In: Keynote speech at ESEC/FSE (August 2009), http://www.esec-fse-2009.ewi.tudelft.nl/downloads/ESECFSE09-shaw.pdf
  8. 8.
    Autili, M., Di Ruscio, D., Inverardi, P., Lockerbie, J., Tivoli, M.: A Development Process for Requirements Based Service Choreography. In: Proceedings RESS 2011, pp. 59–62 (2011)Google Scholar
  9. 9.
    Bartolini, C., Bertolino, A., Ciancone, A., De Angelis, G., Mirandola, R.: Apprehensive QoS Monitoring of Service Choreographies. In: Proceedings SAC 2013, pp. 1893–1899 (2013)Google Scholar
  10. 10.
    Alexander, I., Stevens, R.: Writing Better Requirements. Addison-Wesley (2002)Google Scholar
  11. 11.
    Maiden, N.A.M., Jones, S.V., Manning, S., Greenwood, J., Renou, L.: Model-Driven Requirements Engineering: Synchronising Models in an Air Traffic Management Case Study. In: Persson, A., Stirna, J. (eds.) CAiSE 2004. LNCS, vol. 3084, pp. 368–383. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  12. 12.
    Gilb, T.: Competitive Engineering: A Handbook For Systems Engineering, Requirements Engineering, and Software Engineering Using Planguage. Elsevier (2005)Google Scholar
  13. 13.
    Nattoch Dag, J., Gervasi, V., Brinkkemper, S., Regnell, B.: A linguistic engineering approach to large-scale requirements management. IEEE Software 22(1), 32–39 (2005)CrossRefGoogle Scholar
  14. 14.
    Zachos, K., Maiden, N.A.M., Zhu, X., Jones, S.: Discovering Web Services To Specify More Complete System Requirements. In: Krogstie, J., Opdahl, A.L., Sindre, G. (eds.) CAiSE 2007 and WES 2007. LNCS, vol. 4495, pp. 142–157. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  15. 15.
    Paterno, F., Santoro, C.: Preventing User Errors by Systematic Analysis of Deviations from the System Task Model. International Journal of Human-Computer Studies 56(2), 225–245 (2002)CrossRefGoogle Scholar
  16. 16.
    Paterno, F., Santoro, C., Spano, L.D.: User Task-based Development of Multi-device Service-oriented Applications. In: Proceedings of the International Conference on Advanced Visual Interfaces, Roma, Italy (2010)Google Scholar
  17. 17.
    Ruiz, M., Pelechano, V., Pastor, O.: Designing Web Services for Supporting User Tasks: A Model Driven Approach. In: CoSS International Workshop on Conceptual Modeling of S-oSS, pp. 193–202 (2006)Google Scholar
  18. 18.
    Zachos, K., Kounkou, A., Maiden, N.A.M.: Exploiting Codified User Task Knowledge to Discover Services at Design-Time. IJSSOE 3(2), 30–66 (2012)Google Scholar
  19. 19.
    Paterno, F., Mancini, C., Meniconi, S.: ConcurTaskTrees: A Diagrammatic Notation for Specifying Task Models. In: Proceedings of the IFIP TC13 International Conference on Human-Computer Interaction, pp. 362–369 (1997)Google Scholar
  20. 20.
    Di Marco, A., Pompilio, C., Bertolino, A., Calabrò, A., Lonetti, F., Sabetta, A.: Yet another meta-model to specify non-functional properties. In: Proceedings QASBA 2011, pp. 9–16 (2011)Google Scholar
  21. 21.
    Bartolini, C., Bertolino, A., Ciancone, A., De Angelis, G., Mirandola, R.: Non-functional analysis of service choreographies. In: Proceedings PESOS 2012, pp. 8–14 (2012)Google Scholar
  22. 22.
    Pohl, K.: Requirements Engineering - Fundamentals, Principles, and Techniques. Springer (2010)Google Scholar
  23. 23.
    Miller, R.B.: Response time in man-computer conversational transactions. In: Proceedings of the Joint Computer Conference, pp. 267–277. ACM, New York (1968)Google Scholar
  24. 24.
    Robinson, W.: A Roadmap for Comprehensive Requirements Monitoring. IEEE Computer, 64–72 (May 2010)Google Scholar
  25. 25.
    Bertolino, A., Calabrò, A., Lonetti, F., Sabetta, A.: GLIMPSE: a generic and flexible monitoring infrastructure. In: Proceedings EWDC 2011, pp. 73–78 (2011)Google Scholar
  26. 26.
    Drools Fusion: Complex Event Processor, http://www.jboss.org/drools/drools-fusion.html
  27. 27.
    Bertolino, A., Calabrò, A., Lonetti, F., Di Marco, A., Sabetta, A.: Towards a Model-Driven Infrastructure for Runtime Monitoring. In: Troubitsyna, E.A. (ed.) SERENE 2011. LNCS, vol. 6968, pp. 130–144. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  28. 28.
    Ali, M., De Angelis, G., Polini, A.: ServicePot – An Extensible Registry for Choreography Governance. In: Proceedings SOSE 2013, pp. 113–124 (2013)Google Scholar
  29. 29.
    Hammond, J., Rawlings, R., Hall, A.: Will it work? In: Proceedings 5th IEEE International Symposium on Requirements Engineering, pp. 102–109. IEEE Computer Society (2001)Google Scholar
  30. 30.

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Neil Maiden
    • 1
  • James Lockerbie
    • 1
  • Konstantinos Zachos
    • 1
  • Antonia Bertolino
    • 2
  • Guglielmo De Angelis
    • 2
  • Francesca Lonetti
    • 2
  1. 1.School of InformaticsCity University LondonLondonUK
  2. 2.Istituto di Scienza e Tecnologie dell’Informazione “A. Faedo” CNRPisaItaly

Personalised recommendations