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.
Similar content being viewed by others
References
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)
Amazon Elastic Compute Cloud (Amazon EC2). http://aws.amazon.com/ec2/ (2012)
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)
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)
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)
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)
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)
Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)
Damm, W., Harel, D.: LSCs: breathing life into message sequence charts. Formal Methods Syst. Des. 19(1), 45–80 (2001)
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)
Generic Eclipse Modeling System (GEMS). http://www.eclipse.org/gmt/gems/
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)
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)
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)
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)
Groovy. http://groovy.codehaus.org/
Hayes, B.: Cloud computing. Commun. of the ACM 51(7), 9–11 (2008)
Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1/2), 31–39 (2008)
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)
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)
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)
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)
Mens, T., Gorp, P.: A taxonomy of model transformation. Workshop on Graph and Model Transformation, vol. 152, pp. 125–142, Talinn, Estonia (2005)
MTBD Project Page. http://students.cis.uab.edu/yusun/mtbd/
Muppala, J., Ciardo, G., Trivedi, K.: Stochastic reward nets for reliability prediction. Commun. Reliab. Maintainab. Serv. 1(2), 9–20 (1994)
OMG, Revised Submission for MOF 2.0 Query/View/ Transformations RFP (ad/2002-04-10), OMG Document ad/2005-07-01 (2005)
Object Management Group, Object Constraint Language Specification. http://www.omg.org/technology/documents/modeling_spec_catalog.htm#OCL (2012)
Schmidt, D.: Model-driven engineering. IEEE. Comput. 39(2), 25–32 (2006)
Schmidt, D., Stal, M., Rohnert, H., Buschman, F.: Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects, vol. 2. Wiley, New York (2000)
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)
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)
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)
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)
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)
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)
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)
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)
W3C, XSLT Transformation version 1.0. http://www.w3.org/TR/xslt (1999)
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)
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)
Acknowledgments
This work was supported by NSF CAREER Award CCF-1052616.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. Martin Gogolla.
Rights 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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-013-0374-0