Advertisement

Type Inference in Flexible Model-Driven Engineering

  • Athanasios ZolotasEmail author
  • Nicholas Matragkas
  • Sam Devlin
  • Dimitrios S. Kolovos
  • Richard F. Paige
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9153)

Abstract

In Model-Driven Engineering (MDE), models conform to metamodels. In flexible modelling, engineers construct example models with free-form drawing tools; these examples may later need to conform to a metamodel. Flexible modelling can lead to errors: drawn elements that should represent the same domain concept could instantiate different types; other drawn elements could be left untyped. We propose a novel type inference approach to calculating types from example models, based on the Classification and Regression Trees (CART) algorithm. We describe the approach and evaluate it on a number of randomly generated models, considering the accuracy and precision of the resultant classifications. Experimental results suggest that on average 80% of element types are correctly identified. In addition, the results reveal a correlation between the accuracy and the ratio of known-to-unknown types in a model.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Kolovos, D.S., Matragkas, N., Rodríguez, H.H., Paige, R.F.: Programmatic muddle management. In: XM 2013-Extreme Modeling Workshop, p. 2 (2013)Google Scholar
  2. 2.
    Gabrysiak, G., Giese, H., Lüders, A., Seibel, A.: How can metamodels be used flexibly. In: Proceedings of ICSE 2011 Workshop on Flexible Modeling Tools, Waikiki/Honolulu, vol. 22. (2011)Google Scholar
  3. 3.
    Paige, R.F., Kolovos, D.S., Rose, L.M., Drivalos, N., Polack, F.A.: The design of a conceptual framework and technical infrastructure for model management language engineering. In: 2009 14th IEEE International Conference on Engineering of Complex Computer Systems, pp. 162–171. IEEE (2009)Google Scholar
  4. 4.
    Mitchell, J.C.: Concepts in programming languages. Cambridge University Press (2003)Google Scholar
  5. 5.
    Breiman, L., Friedman, J., Stone, C.J., Olshen, R.A.: Classification and regression trees. CRC Press (1984)Google Scholar
  6. 6.
    Hindley, R.: The principal type-scheme of an object in combinatory logic. Transactions of the american mathematical society, 29–60 (1969)Google Scholar
  7. 7.
    Milner, R.: A theory of type polymorphism in programming. Journal of computer and system sciences 17(3), 348–375 (1978)MathSciNetCrossRefGoogle Scholar
  8. 8.
    Damas, L., Milner, R.: Principal type-schemes for functional programs. In: Proceedings of the 9th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 207–212. ACM (1982)Google Scholar
  9. 9.
    Kolovos, D.S., Di Ruscio, D., Pierantonio, A., Paige, R.F.: Different models for model matching: an analysis of approaches to support model differencing. In: Proceedings of the 2009 ICSE Workshop on Comparison and Versioning of Software Models, CVSM 2009, pp. 1–6. IEEE Computer Society, Washington, DC (2009)Google Scholar
  10. 10.
    Grammel, B., Kastenholz, S., Voigt, K.: Model matching for trace link generation in model-driven software development. In: France, R.B., Kazmeier, J., Breu, R., Atkinson, C. (eds.) MODELS 2012. LNCS, vol. 7590, pp. 609–625. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  11. 11.
    Alanen, M., Porres, I.: Difference and union of models. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003. LNCS, vol. 2863, pp. 2–17. Springer, Heidelberg (2003) CrossRefGoogle Scholar
  12. 12.
    Reddy, R., France, R., Ghosh, S., Fleurey, F., Baudry, B.: Model composition-a signature-based approach. In: Aspect Oriented Modeling (AOM) Workshop (2005)Google Scholar
  13. 13.
    Cho, H., Gray, J., Syriani, E.: Creating visual domain-specific modeling languages from end-user demonstration. In: 2012 ICSE Workshop on Modeling in Software Engineering (MISE), pp. 22–28. IEEE (2012)Google Scholar
  14. 14.
    Sánchez-Cuadrado, J., de Lara, J., Guerra, E.: Bottom-up meta-modelling: an interactive approach. In: France, R.B., Kazmeier, J., Breu, R., Atkinson, C. (eds.) MODELS 2012. LNCS, vol. 7590, pp. 3–19. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  15. 15.
    Javed, F., Mernik, M., Gray, J., Bryant, B.R.: Mars: A metamodel recovery system using grammar inference. Information and Software Technology 50(9), 948–968 (2008)CrossRefGoogle Scholar
  16. 16.
    Kolovos, D.S., Paige, R.F., Polack, F.A.C.: The epsilon object language (EOL). In: Rensink, A., Warmer, J. (eds.) ECMDA-FA 2006. LNCS, vol. 4066, pp. 128–142. Springer, Heidelberg (2006) CrossRefGoogle Scholar
  17. 17.
    Jiawei, H., Kamber, M.: Data mining: concepts and techniques. Morgan Kaufmann, San Francisco (2001) Google Scholar
  18. 18.
    Mitchell, T.M.: Machine learning, vol. 45. McGraw Hill, Burr Ridge (1997)Google Scholar
  19. 19.
    Williams, J.R., Zolotas, A., Matragkas, N.D., Rose, L.M., Kolovos, D.S., Paige, R.F., Polack, F.A.: What do metamodels really look like? Eessmod@ Models 1078, 55–60 (2013)Google Scholar
  20. 20.
    Williams, J.R., Paige, R.F., Kolovos, D.S., Polack, F.A.: Search-based model driven engineering. Technical report, Technical Report YCS-2012-475, Department of Computer Science, University of York (2012)Google Scholar
  21. 21.
    Powers, D.: Evaluation: From precision, recall and f-factor to roc, informedness, markedness & correlation (tech. rep.). Adelaide, Australia (2007)Google Scholar
  22. 22.
    Meyer, B.: Object-oriented software construction, vol. 2. Prentice hall, New York (1988)Google Scholar
  23. 23.
    Zolotas, A., Kolovos, D.S., Matragkas, N., Paige, R.F.: Assigning semantics to graphical concrete syntaxes. In: XM 2014-Extreme Modeling Workshop, p. 12Google Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Athanasios Zolotas
    • 1
    Email author
  • Nicholas Matragkas
    • 1
  • Sam Devlin
    • 1
  • Dimitrios S. Kolovos
    • 1
  • Richard F. Paige
    • 1
  1. 1.Department of Computer ScienceUniversity of YorkYorkUK

Personalised recommendations