ModelLAND: Where Do Models Come from?

  • Marco Autili
  • Davide Di Ruscio
  • Paola Inverardi
  • Patrizio Pelliccione
  • Massimo Tivoli
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8378)

Abstract

The way in which software systems are produced is radically changing, by increasingly promoting the (re-)use of existent software artifacts. A flourishing of model-based engineering techniques has been defined for building, managing, verifying, validating and controlling software systems. Most approaches build on the assumption that suitable models of software artifacts exist. However, when moving from theory to practice, a question raises up: where do models come from?

The thesis of this paper is that there is the need of explore techniques to automatically extract models from existent software. This paper proposes a general overview of the exploring problem and shows two different techniques, tailored to specific domains, to automatically build models (of different nature) from software artifacts.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    WSDL: Web Services Description Languages v1.1 spec., http://www.w3.org/TR/2001/NOTE-wsdl-20010315
  2. 2.
    Alur, R., Cerný, P., Madhusudan, P., Nam, W.: Synthesis of interface specifications for Java classes. In: POPL, pp. 98–109 (2005)Google Scholar
  3. 3.
    Angluin, D.: Learning regular sets from queries and counterexamples. Inf. Comput. 75, 87–106 (1987)MathSciNetCrossRefMATHGoogle Scholar
  4. 4.
    Autili, M., Cortellessa, V., Di Ruscio, D., Inverardi, P., Pelliccione, P., Tivoli, M.: Eagle: Engineering software in the ubiquitous globe by leveraging uncertainty. In: Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering, ESEC/FSE 2011, pp. 488–491. ACM, New York (2011)Google Scholar
  5. 5.
    Autili, M., Cortellessa, V., Di Ruscio, D., Inverardi, P., Pelliccione, P., Tivoli, M.: Integration architecture synthesis for taming uncertainty in the Digital Space. In: Calinescu, R., Garlan, D. (eds.) Monterey Workshop 2012. LNCS, vol. 7539, pp. 118–131. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  6. 6.
    Baresi, L., Ghezzi, C.: The disappearing boundary between development-time and run-time. In: Proceedings of FoSER 2010, pp. 17–22. ACM (2010)Google Scholar
  7. 7.
    Berg, T., Jonsson, B., Raffelt, H.: Regular Inference for State Machines Using Domains with Equality Tests. In: Fiadeiro, J.L., Inverardi, P. (eds.) FASE 2008. LNCS, vol. 4961, pp. 317–331. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  8. 8.
    Bertolino, A., Inverardi, P., Pelliccione, P., Tivoli, M.: Automatic synthesis of behavior protocols for composable web-services. In: Proceedings of The 7th Joint Meeting of the European Software Engineering Conference (ESEC) and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE), pp. 141–150 (August 2009)Google Scholar
  9. 9.
    Bézivin, J.: On the Unification Power of Models. SOSYM 4(2), 171–188 (2005)Google Scholar
  10. 10.
    Bézivin, J., Gerbé, O.: Towards a Precise Definition of the OMG/MDA Framework. In: Automated Software Engineering (ASE 2001), Los Alamitos, CA, pp. 273–282. IEEE Computer Society Press (2001)Google Scholar
  11. 11.
    Blair, G., Bencomo, N., France, R.B.: Models@run.time. Computer 42, 22–27 (2009)CrossRefGoogle Scholar
  12. 12.
    Ceri, S., Braga, D., Corcoglioniti, F., Grossniklaus, M., Vadacca, S.: Search computing challenges and directions. In: Dearle, A., Zicari, R.V. (eds.) ICOODB 2010. LNCS, vol. 6348, pp. 1–5. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  13. 13.
    Crameri, O., Knezevic, N., Kostic, D., Bianchini, R., Zwaenepoel, W.: Staged deployment in mirage, an integrated software upgrade testing and distribution system. SIGOPS Oper. Syst. Rev. 41(6), 221–236 (2007)CrossRefGoogle Scholar
  14. 14.
    Dallmeier, V., Knopp, N., Mallon, C., Fraser, G., Hack, S., Zeller, A.: Automatically generating test cases for specification mining. IEEE Transactions on Software Engineering 38(2), 243–257 (2012)CrossRefGoogle Scholar
  15. 15.
    Di Cosmo, R., Di Ruscio, D., Pelliccione, P., Pierantonio, A., Zacchiroli, S.: Supporting software evolution in component-based FOSS systems. Sci. Comput. Program. 76(12), 1144–1160 (2011)CrossRefGoogle Scholar
  16. 16.
    Garlan, D.: Software engineering in an uncertain world. In: Proc. of FSE/SDP 2010, pp. 125–128 (2010)Google Scholar
  17. 17.
    Ghezzi, C., Mocci, A., Monga, M.: Synthesizing Intentional Behavior Models by Graph Transformation. In: ICSE 2009, Vancouver, Canada (2009)Google Scholar
  18. 18.
    Giannakopoulou, D., Rakamarić, Z., Raman, V.: Symbolic learning of component interfaces. In: Miné, A., Schmidt, D. (eds.) SAS 2012. LNCS, vol. 7460, pp. 248–264. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  19. 19.
    Hilliard, R., Malavolta, I., Muccini, H., Pelliccione, P.: On the composition and reuse of viewpoints across architecture frameworks. In: 10th Working IEEE/IFIP Conference on Software Architecture (WICSA) & 6th European Conference on Software Architecture (ECSA) - WICSA/ECSA 2012, (August 2012)Google Scholar
  20. 20.
    Hungar, H., Margaria, T., Steffen, B.: Test-based model generation for legacy systems. In: Proceedings of International Test Conference ITC 2003, September 30-October 2, vol. 1, pp. 971–980 (2003)Google Scholar
  21. 21.
    Inverardi, P.: Software of the future is the future of software? In: Montanari, U., Sannella, D., Bruni, R. (eds.) TGC 2006. LNCS, vol. 4661, pp. 69–85. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  22. 22.
    Inverardi, P., Spalazzese, R., Tivoli, M.: Application-layer connector synthesis. In: Bernardo, M., Issarny, V. (eds.) SFM 2011. LNCS, vol. 6659, pp. 148–190. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  23. 23.
    Inverardi, P., Tivoli, M.: The Future of Software: Adaptation and Dependability. In: De Lucia, A., Ferrucci, F. (eds.) ISSSE 2006-2008. LNCS, vol. 5413, pp. 1–31. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  24. 24.
    Inverardi, P., Tivoli, M.: Automatic synthesis of modular connectors via composition of protocol mediation patterns. In: 35th International Conference on Software Engineering, ICSE 2013 (2013)Google Scholar
  25. 25.
    Krogmann, K., Kuperberg, M., Reussner, R.: Using genetic search for reverse engineering of parametric behavior models for performance prediction. IEEE Trans. Softw. Eng. 36(6), 865–877 (2010)CrossRefGoogle Scholar
  26. 26.
    Ljung, L.: Perspectives on system identification. Annual Reviews in Control 34(1), 1–12 (2010)CrossRefGoogle Scholar
  27. 27.
    Lo, D., Mariani, L., Santoro, M.: Learning extended fsa from software: An empirical assessment. Journal of Systems and Software 85(9), 2063–2076 (2012); Selected papers from the 2011 Joint Working IEEE/IFIP Conference on Software Architecture (WICSA 2011)Google Scholar
  28. 28.
    Lorenzoli, D., Mariani, L., Pezzè, M.: Automatic Generation of Software Behavioral Models. In: ICSE 2008, pp. 501–510. ACM, NY (2008)Google Scholar
  29. 29.
    Mateescu, R., Poizat, P., Salaun, G.: Adaptation of service protocols using process algebra and on-the-fly reduction techniques. IEEE Transactions on Software Engineering 38(4), 755–777 (2012)CrossRefGoogle Scholar
  30. 30.
    Meinke, K.: Automated Black-box Testing of Functional Correctness using Function Approximation. SIGSOFT Softw. Eng. Notes 29(4), 143–153 (2004)CrossRefGoogle Scholar
  31. 31.
    Mellor, S.J., Clark, A.N., Futagami, T.: Guest Editors’ Introduction: Model-Driven Development. IEEE Software 20(5), 14–18 (2003)CrossRefGoogle Scholar
  32. 32.
    Object Management Group (OMG). MDA Guide version 1.0.1, OMG Document: omg/2003-06-01 (2003)Google Scholar
  33. 33.
    Olsson, H.H., Alahyari, H., Bosch, J.: Climbing the “stairway to heaven” – a mulitiple-case study exploring barriers in the transition from agile development towards continuous deployment of software. In: 2010 36th EUROMICRO Conference on Software Engineering and Advanced Applications, pp. 392–399 (2012)Google Scholar
  34. 34.
    Seidewitz, E.: What Models Mean. IEEE Software 20(5), 26–32 (2003)CrossRefGoogle Scholar
  35. 35.
    Taylor, R.N., Medvidovic, N., Dashofy, E.M.: Software Architecture: Foundations, Theory, and Practice. Wiley (2009)Google Scholar
  36. 36.
    Tivoli, M., Inverardi, P.: Failure-free coordinators synthesis for component-based architectures. Sci. Comput. Program. 71(3), 181–212 (2008)MathSciNetCrossRefMATHGoogle Scholar
  37. 37.
    van Lamsweerde, A.: Requirements Engineering: From System Goals to UML Models to Software Specifications. Wiley (March 2009)Google Scholar
  38. 38.
    Walkinshaw, N., Lambeau, B., Damas, C., Bogdanov, K., Dupont, P.: Stamina: A competition to encourage the development and assessment of software model inference techniques. Empirical Software Engineering, 1–34 (2012)Google Scholar
  39. 39.
    Wasylkowski, A., Zeller, A.: Mining temporal specifications from object usage. Automated Software Engg. 18(3-4), 263–292 (2011)CrossRefGoogle Scholar
  40. 40.
    Wasylkowski, A., Zeller, A., Lindig, C.: Detecting Object Usage Anomalies. In: ESEC-FSE 2007, pp. 35–44. ACM (2007)Google Scholar
  41. 41.
    White, R.W., Roth, R.A.: Exploratory Search: Beyond the Query-Response Paradigm. Synthesis Lect. on ICRS. Morgan & Claypool Publishers (2009)Google Scholar
  42. 42.
    BobbyWoolf, G.H.: Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions. Addison-Wesley Professional (October 2003)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Marco Autili
    • 1
  • Davide Di Ruscio
    • 1
  • Paola Inverardi
    • 1
  • Patrizio Pelliccione
    • 1
  • Massimo Tivoli
    • 1
  1. 1.Dipartimento di Ingegneria e Scienze dell’Informazione e MatematicaUniversità dell’AquilaItaly

Personalised recommendations