Skip to main content
Log in

A demonstration-based model transformation approach to automate model scalability

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

An important aspect during software development is the ability to evolve and scale software models in order to handle design forces, such as enlarging and upgrading system features, or allocating more resources to handle additional users. Model scalability is the ability to refactor a base model, by adding or replicating the base model elements, connections or substructures, in order to build a larger and more complex model to satisfy new design requirements. Although a number of modeling tools have been developed to create and edit models for different purposes, mechanisms to scale models have not been well supported. In most situations, models are manually scaled using the basic point-and-click editing operations provided by the modeling environment. Manual model scaling is often tedious and error-prone, especially when the model to be scaled has hundreds or thousands of elements and the scaling process involves entirely manual operations. Although model scaling tasks can be automated by using model transformation languages, writing model transformation rules requires learning a model transformation language, as well as possessing a great deal of knowledge about the metamodel. Model transformation languages and metamodel concepts are often difficult for domain experts to understand. This requirement to learn a complex model transformation language exerts a negative influence on the usage of models by domain experts in software development. For instance, domain experts may be prevented from contributing to model scalability tasks from which they have significant domain experience. This paper presents a demonstration-based approach to automate model scaling. Instead of writing model transformation rules explicitly, users demonstrate how to scale models by directly editing the concrete model instances and simulate the model replication processes. By recording a user’s operations, an inference engine analyzes the user’s demonstration and generalizes model transformation patterns automatically, which can be reused to scale up other model instances. Using this approach, users are able to automate scaling tasks without learning a complex model transformation language. In addition, because the demonstration is performed on model instances, users are isolated from the underlying abstract metamodel definitions.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

References

  1. Agrawal, A., Karsai, G., Lédeczi, Á.: An end-to-end domain-driven software development framework. In: Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA): Domain-driven Track, pp. 8–15, Anaheim, CA (2003)

  2. Amazon Elastic Compute Cloud (Amazon EC2). http://aws.amazon.com/ec2/ (2012)

  3. Balasubramanian, D., Narayanan, A., Buskirk, C., Karsai, G.: The graph rewriting and transformation language: GreAT. Electron. Commun. Eur. Assoc. Softw. Sci. Technol. 1, 8 (2006)

    Google Scholar 

  4. Balogh, Z., Varró, D.: Advanced model transformation language constructs in the VIATRA2 framework. In: Symposium on Applied Computing (SAC), pp. 1280–1287, Dijon, France, April 2006 (2006)

  5. Bondi, A.: Characteristics of scalability and their impact on performance. In: 2nd International Workshop on Software and Performance, pp. 195–203, Ottawa, Ontario, Canada (2000)

  6. Brosch, P., Langer, P., Seidl, M., Wieland, K., Wimmer, M., Kappel, G., Retschitzegger, W., Schwinger, W.: An example is worth a thousand words: composite operation modeling by-example. In: International Conference on Model Driven Engineering Languages and Systems (MoDELS), pp. 271–285, Spring-Verlag, LNCS 5795, Denver, CO., October 2009 (2009)

  7. Brosch, P., Seidl, M., Wieland, K., Wimmer, M., Langer, P.: The operation recorder: specifying model refactorings by-example. In: International Conference on Object-Oriented Programming Systems Languages and Applications (OOPSLA): Tool Demonstration, pp. 791–792, Orlando, FL, October 2009 (2009)

  8. Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)

    Article  Google Scholar 

  9. Damm, W., Harel, D.: LSCs: breathing life into message sequence charts. Formal Methods Syst. Des. 19(1), 45–80 (2001)

    Article  MATH  Google Scholar 

  10. Edwards, G., Deng, G., Schmidt, D., Gokhale, A., Natarajan, B.: Model-driven configuration and deployment of component middleware publish/subscribe Services. In: Generative Programming and Component Engineering (GPCE), pp. 337–360, Vancouver, BC, October 2004 (2004)

  11. Generic Eclipse Modeling System (GEMS). http://www.eclipse.org/gmt/gems/

  12. Gray, J., Zhang, J., Lin, Y., Wu, H., Roychoudhury, S., Sudarsan, R., Gokhale, A., Neema, S., Shi, F., Bapty, T.: Model-driven program transformation of a large avionics framework. In: Generative Programming and Component Engineering (GPCE), pp. 361–378, Springer, LNCS 3286, Vancouver, BC, October 2004 (2004)

  13. Gray, J., Lin, Y., Zhang, J.: Automating change evolution in model-driven engineering. IEEE Comput. Special Issue Model Driven Eng. 39(2), 51–58 (2006)

    Google Scholar 

  14. Gray, J., Lin, Y., Zhang, J., Nordstrom, S., Gokhale, A., Neema, S., Gokhale, S.: Replicators: Transformations to Address Model Scalability. In: Proceedings of the International Conference on Model-Driven Engineering Languages and Systems (MoDELS), pp. 295–308, Springer, LNCS 3713, Montego Bay, Jamaica, October 2005 (2005)

  15. Gray, J., Tolvanen, J., Kelly, S., Gokhale, A., Neema, S., Sprinkle, J.: Domain-specific modeling. In: Handbook of Dynamic System Modeling, Chapter 7, pp. 7–1 through 7–20. CRC Press, Boca Raton (2007)

  16. Groovy. http://groovy.codehaus.org/

  17. Hayes, B.: Cloud computing. Commun. of the ACM 51(7), 9–11 (2008)

    Article  Google Scholar 

  18. Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1/2), 31–39 (2008)

    Article  MATH  Google Scholar 

  19. Kang, K., Cohen, S., Hess, J., Nowak, W., Peterson, S.: Feature-oriented domain analysis (FODA) feasibility study. Software Engineering Institute, Technical Report CMU-SEI-90-TR21, Carnegie Mellon University (1990)

  20. Kappel, G., Kapsammer, E., Kargl, H., Kramler, G., Reiter, T., Retschitzegger, W., Schwinger, W., Wimmer, M.: Lifting metamodels to ontologies: a step to the semantic integration of modeling languages. In: International Conference on Model-Driven Engineering Languages and Systems (MoDELS), pp. 528–542, Springer, LNCS 4199, Genova, Italy, October 2006 (2006)

  21. Ledeczi, A., Bakay, A., Maroti, M., Volgyesi, P., Nordstrom, G., Sprinkle, J., Karsai, G.: Composing domain-specific design environments. IEEE. Comput. 34(11), 44–51 (2001)

    Google Scholar 

  22. Lin, Y., Gray, J., Zhang, J., Nordstrom, S., Gokhale, A., Neema, S., Gokhale, S.: Model replication: transformations to address model scalability. Softw. Pract. Experience 38(14), 1475–1497 (2008)

    Article  Google Scholar 

  23. Mens, T., Gorp, P.: A taxonomy of model transformation. Workshop on Graph and Model Transformation, vol. 152, pp. 125–142, Talinn, Estonia (2005)

  24. MTBD Project Page. http://students.cis.uab.edu/yusun/mtbd/

  25. Muppala, J., Ciardo, G., Trivedi, K.: Stochastic reward nets for reliability prediction. Commun. Reliab. Maintainab. Serv. 1(2), 9–20 (1994)

    Google Scholar 

  26. OMG, Revised Submission for MOF 2.0 Query/View/ Transformations RFP (ad/2002-04-10), OMG Document ad/2005-07-01 (2005)

  27. Object Management Group, Object Constraint Language Specification. http://www.omg.org/technology/documents/modeling_spec_catalog.htm#OCL (2012)

  28. Schmidt, D.: Model-driven engineering. IEEE. Comput. 39(2), 25–32 (2006)

    Article  Google Scholar 

  29. Schmidt, D., Stal, M., Rohnert, H., Buschman, F.: Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects, vol. 2. Wiley, New York (2000)

  30. Sendall, S., Kozaczynski, W.: Model transformation: the heart and soul of model-driven software development. IEEE Softw Special Issue Model Driven Softw. Dev. 20(5), 42–45 (2003)

    Google Scholar 

  31. Strommer, M., Wimmer, M.: A framework for model transformation by-example: concepts and tool support. In: 46th International Conference on Technology of Object-Oriented Languages and Systems (TOOLS), pp. 372–391, Zurich, Switzerland, July 2008 (2008)

  32. Sun, Y., White, J., Gray, J.: Model transformation by demonstration. In: Model Driven Engineering Languages and Systems (MoDELS), pp. 712–726, Spring-Verlag, LNCS 5795, Denver, CO., October 2009 (2009)

  33. Sun, Y., White, J., Gray, J., Gokhale, A.: Model-driven automated error recovery in cloud computing. In: Model-Driven Analysis and Software Development: Architectures and Functions, IGI Global, Hershey, PA (2009)

  34. Sun, Y., Gray, J., Bulheller, K., von Baillou, N.: A model-driven approach to support engineering changes in industrial robotics software. In: Model Driven Engineering Languages and Systems (MoDELS), pp. 368–382, Springer, LNCS 7590, Innsbruck, Austria, October 2012 (2012)

  35. Sun, Y., Gray, J.: Model transformation by demonstration debugger: end-user support for debugging model transformation execution. In: European Conference on Modeling Foundations and Applications (ECMFA), pp. 86–100, Springer, LNCS 7949, Montpellier, France, July 2013 (2013)

  36. Varró, D.: Model transformation by example. In: Model-driven engineering languages and systems (MoDELS), pp. 410–424, Springer, LNCS 4199, Genova, Italy, October 2006 (2006)

  37. Varró, D., Balogh, Z.: Automating model transformation by example using inductive logic programming. In: Symposium on Applied Computing (SAC), pp. 978–984, Seoul, Korea, March 2007 (2007)

  38. W3C, XSLT Transformation version 1.0. http://www.w3.org/TR/xslt (1999)

  39. White, J., Czarnecki, K., Schmidt, D., Lenz, G., Wienands, C., Wuchner, E., Fiege, L.: Automated model-based configuration of enterprise java applications. In: Enterprise Distributed Object Computing (EDOC), pp. 301–312, Annapolis, Maryland, October 2007 (2007)

  40. Wimmer, M., Strommer, M., Kargl, H., Kramler, G.: Towards model transformation generation by-example. In: Hawaii International Conference on System Sciences (HICSS), pp. 285, Big Island, HI, January 2007 (2007)

Download references

Acknowledgments

This work was supported by NSF CAREER Award CCF-1052616.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yu Sun.

Additional information

Communicated by Prof. Martin Gogolla.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Sun, Y., Gray, J. & White, J. A demonstration-based model transformation approach to automate model scalability. Softw Syst Model 14, 1245–1271 (2015). https://doi.org/10.1007/s10270-013-0374-0

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-013-0374-0

Keywords

Navigation