CSC2125:  Modeling Methods, Tools and Techniques

Winter 2018

Reading List


 

This page lists the papers that will be covered in lectures and paper presentations this term.  Most links are to ACM, IEEE, Springer-Verlag, and other publisher digital libraries, which means that you may need to retrieve the papers from Toronto addresses (because the university has subscriptions to these services).

 

Introduction and Foundations

Introduction to Modelling and MDE

[1] J. Ludewig, Models in Software Engineering - An Introduction, In Software and Systems Modeling, 2(1): pp. 5-14, (March 2003).

[2] Jean Bézivin: On Unification power of models. J. Software and System Modeling 4(2): 171-188 (2005)

[3] Hutchinson, J.E., Whittle, J., Roucefied, M.  Model-driven Engineering Practices in Industry:  Social, Organizational and Managerial Factors that Lead to Success or Failure.  In Science of Computer Programming, vol. 89, pp. 144-161 (2014)

[4] Whittle, J., Hutchinson, J.E., Roucefield, M.  The State of Practice in Model-Driven Engineering, IEEE Software, 31(3), pp. 78-85 (2014)

[5] B. Selic.  Personal reflections on automation, programming culture, and model-based software engineering.  In J. of Automated Software Engineering, 15 (3-4): 379-391, Dec. 2008.

[6] Schmidt, D.C.: Model-Driven Engineering. IEEE Computer vol. 39, no. 2, 2006.

[7] G. Reggio, M. Leotta, F. Ricca.  Who Knows/Uses What of the UML:  A Personal Opinion Survey.  In Proceedings of MODELS’14, Lecture Notes Vol. 8767, pp. 149-165, Springer, 2014.

 

Modelling Notations

(background)  Fowler, M. UML Distilled, 3ed, Addison-Wesley, 2004. (available through UofT library)

[8] Jackson, D., Alloy: a lightweight object modelling notation. In ACM Transactions on Software Engineering and Methodology, 11(2): 256-290 (Apr. 2002) and Alloy tutorial on Alloy website at MIT.

[9] Harel, D., On Visual FormalismsCommunications of the ACM, 31(5), pp. 514-530, 1988. 

[10] Daniel L. Moody, The "Physics" of Notations: Toward a Scientific Basis for Constructing Visual Notations in Software Engineering, In IEEE Transactions on Software Engineering,  35(6): 756-779, (Nov-Dec, 2009).

[11] Harel, D, Rumpe, B. Meaningful Modeling: What’s the Semantics of “Semantics”?, IEEE Computer, 2004

(background) Online Petri net tutorial by Wil van der Aalst

[12] M. Petre.  Why looking isn’t always seeing:  readership skills and graphical programming.  Communications of the ACM, 38(6), 1995.

 

Domain-Specific (Modeling) Languages (DSLs and DSMLs)

(background) Dmitriev, S. Language Oriented Programming: The Next Programming Paradigm , 2005.  

[13] Bentley, J. Programming pearls: little languages. In Communications of the ACM, 29(8):711-721, (Aug. 1986).

[14] Wile, D.S. Supporting the DSL spectrum. In Journal of Computing and Information Technology, 9(4):263–287, (Dec. 2001).

[15] Gray, J., Neema, S., Tolvanen, J.-P., Gokhale, A., Kelly, S., Sprinkle, J. Domain-Specific Modeling.  In Handbook of Dynamic System Modeling, Chapter 7, 2007.  Available through googlebooks.

 

 

Model Analysis, Model Transformations, Transformation Analysis

 

Meta-Modeling

[16] Kühne, T., Matters of (Meta-)Modeling. In Software and System Modeling, vol. 5, no. 4, pp. 369-385, (2006)

[17] J. de Lara, E. Guerra, J.S. Cuadrado.  When and How to Use Multilevel Modelling.  ACM Transactions on Software Engineering Methodology.  24(2), 2014. 

 

 

Model Transformations and Their Analysis

[18] L. Baresi, R. Heckel.  Tutorial Introduction to Graph Transformation:  A Software Engineering Perspective.  In Proceedings of International Conference on Graph Transformations (ICGT), 2002.  

 

[19] E. Biermann, S. Jurack, C. Krause, T. Arendt, G. Taentzer.  Henshin:  Advanced Concepts and Tools for In-Place EMF Model Transformations. In Proceedings of  MoDELS’10, 2010

[20] B. Baecker, L. Lambers, J. Dyck, S. Birth, H. Giese.  Iterative Development of Consistency-Preserving Rule-Based Refactorings.  In Proceedings of International Conference on Model Transformations (ICMT), LNCS Vol. 6707, pp. 123-137, 2011

[21] T. Mens, K. Czarnecki, and P. Van Gorp. A Taxonomy of Model Transformations. In Jean Bézivin and Reiko Heckel, editors, Language Engineering for Model-Driven Software Development, 29. February - 5. March 2004, volume 04101 of Dagstuhl Seminar Proceedings, 2004.

[22] Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.  ATL: A model transformation tool. In Science of Computer Programming. 72(1-2): 31-39 (2008)

[23] Czarnecki, K. and Helsen, S. : Feature-based survey of model transformation approaches. IBM Syst. J., Vol. 45, No.. 3, pp. 621-645, 2006.

[24] L. Lucio, M. Amrani, J. Dingel, L. Lambers, R. Salay, G. Selim, E. Syriani, M. Wimmer.  Model transformation intents and their properties.  J. of Software and Systems Modeling, 2014. 

[25] R. Heckel.  Graph Transformation in a Nutshell.  Foundations of Visual Modelling Techniques.  EETCS:  148(1), pp. 187-198, Elsevier, 2006.

[26] A. Schurr.  Specification of Graph Translators with Triple Graph Grammars.  Graph-Theoretic Concepts in Computer Science, LNCS, Vol. 903, pp. 151-163, Springer-Verlag, 1994. 

[27] A. Schurr, F. Klar.  15 Years of Triple Graph Grammars, Proc. of Int. Conf. on Graph Transformation, LNCS Vol. 5214, pp. 411-425, 2008. 

[28] Stevens,  P. A Landscape of Bidirectional Model TransformationsIn Proc. of GTTSE’07, pp. 408-424, 2007 

[29] Hidaka, S., Tisi, M., Cabot, J., Hu, Z.  Feature-Based Classification of Bidirectional Transformation ApproachesJ. of Software and Systems Modeling, 15(3), pp. 907-928, 2016

[30] M. Tisi, S. Martínez, F. Jouault, J. Cabot: Lazy Execution of Model-to-Model Transformations, In Proceedings of MODELS’11, 2011

[31] F. Buettner, M. Egea, J. Cabot. On verifying ATL transformations using `off-the-shelf‘ SMT solvers.  In Proceedings of MODELS’12 , 2012

 

 

Model Analysis and Verification

[32]  Semerath, O, Barta, A., Horvath, A., Szatmari, Z., Varro, D. Formal Validation of Domain-Specific Languages with Derived Features and Well-Formedness Constraints. J. of Software and System Modeling, 16(2), pp. 357-392, 2017. 

[33] W. Grieskamp, N. Kicillof, K. Stobie, V. Braberman.  Model-based quality assurance of protocol documentation:  tools and methodology.  Soft. Test. Verif. Reliability, 21:55-71, 2011

[34] S. Maoz, J.O. Ringert, B. Rumpe.  CD2Alloy:  Class Diagrams Analysis Using Alloy Revisited.  In Proceedings of MoDELS’11, 2011

[35] A. Egyed, E. Letier, A. Finkelstein.  Generating and Evaluating Choices for Fixing Inconsistencies in UML Design Models.  In Proceedings of ASE’08, 2008.  

[36] M. Famelis, R. Salay, M. Chechik.  Partial Models: Towards Modeling and Reasoning with Uncertainty. In Proceedings of ICSE'12, pp. 573-583, May 2012. 

[37] Nentwich, C., Emmerich, W., and Finkelstein, A., Static consistency checking for distributed specifications, In Proceedings of the 16th Annual International Conference on Automated Software Engineering (ASE), pp. 115- 124, (Nov. 2001).

[38] McUmber, W. E. and Cheng, B. H. A general framework for formalizing UML with formal languages. In Proceedings of the 23rd International Conference on Software Engineering (ICSE), pp. 433-442, 2001.

[39] Hausmann, J. H., Heckel, R., and Taentzer, G. Detection of conflicting functional requirements in a use case-driven approach: a static analysis technique based on graph transformation. In Proceedings of the 24th International Conference on Software Engineering (ICSE), pp. 105-115. 2002.

[40] Xiong, Y., Liu, D., Hu, Z., Zhao, H., Takeichi, M., and Mei, H. Towards automatic model synchronization from model transformations. In Proceedings of the 22nd International Conference on Automated Software Engineering (ASE), 2007, pp. 164-173.

[41] B. Meyers, R. Deshayes, L. Lucio, E. Syriani, H. Vangheluwe, M. Wimmer.  ProMoBox:  A Framework for Generating Domain-Specific Property LanguagesProc. of Software Language Engineering (SLE’14), LNCS 8706, pp. 1-20, 2014.

 

 

Model Evolution and Management  

[42] Brunet, G., Chechik, M., Easterbrook, S., Nejati, S., Niu, N., Sabetzadeh., M. A Manifesto for Model Merging, In Proc. of the 1st International Workshop on Global Integrated Model Management (associated with ICSE'06), May 2006.

[43] Kolovos, D,S., Paige R.F., Polack, F. Merging Models with the Epsilon Merging Language (EML). In Proceedings of the 9th International Conference on Model Driven Engineering Languages and Systems (MoDELS), LNCS 4199, pp. 215-229, 2006.

[44] Salay, R., Kokaly, S., Di Sandro, A., Chechik, M. Enriching megamodel management with collection-based operators.  In Proceedings of the 9th International Conference on Model Driven Engineering Languages and Systems (MoDELS), pp. 236-245, 2016. 

[45] R. Salay, J. Mylopoulos, S. Easterbrook: Using Macromodels to Manage Collections of Related Models. In Proceedings of the 21st international Conference on Advanced information Systems Engineering (CAiSE), pp. 141-155, 2009.

[46] Ohst, D., Welle, M., and Kelter, U. Differences between versions of UML diagrams. In Proc. of the 11th ACM SIGSOFT Symposium on Foundations of Software Engineering (FSE/ESEC), pp. 227-236, (Sep. 2003).

[47] Heimdahl, M. P. E., Whalen, M.W. Reduction and slicing of hierarchical state machines. In Proceedings of the 6th European Software Engineering Conference held jointly with the 5th ACM SIGSOFT international Symposium on Foundations of Software Engineering (ESEC/FSE), 1997, pp. 450-467.

[48] Bernstein, P.: Applying Model Management to Classical Meta Data Problems. In Proc. Conf. on Innovative Database Research, pp. 209-220, 2003.

[49] M. Chechik, S. Nejati, M. Sabetzadeh. A Relationship-Based Approach to Model Integration, Journal of Innovations in Systems and Software Engineering, 2012

[50] Antonio Cicchetti, Davide Di Ruscio, Romina Eramo, Alfonso Pierantonio: Automating Co-evolution in Model-Driven Engineering, Proc. of EDOC'08, 2008. 

 

 

Product Lines

[51] Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. In IEEE Transactions on Software Engineering, vol. 30, no. 6 (June 2004), pp. 355-371.

[52] K. Bak, Z. Diskin, M. Antkiewicz, K. Czarnecki, A. Wasowski.  Clafer:  unifying class and feature modeling.  J. of Software and System Modeling, 15(3), pp. 811-845, 2016.

[53] Czarnecki, K., Helsen, S., Eisenecker, U.: Staged configuration using feature models. In Proceedings of the 3rd International Conference on Software Product Lines (SPLC 2004), LNCS 3154, pp. 266–283, 2004.

[54] Andreas Classen, Patrick Heymans, Pierre-Yves Schobbens, Axel Legay, Jean-François Raskin: Model checking lots of systems: efficient verification of temporal properties in software product lines. In Proceedings of the International Conference on Software Engineering (ICSE), pp. 335-344, 2010.

[55] Salay, R., Famelis, M., Rubin, J., Di Sandro, A., Chechik, M.  Lifting Model Transformations to Product Lines.  In Proceedings of the International Conference on Software Engineering (ICSE), pp. 117-128, 2014.

 

 

Model Transformation Testing

[56] Gogolla, M., Vallecillo, A., Burgueno, L., Hilken, F. Testing models and model transformations using classifying termsJ. Software and Systems Modeling, 2017. 

[57] B. Baudry, S. Ghosh, F. Fleurey, R. France, Y. Le Traon, J.-M. Mottu.  Barriers to Systematic Model Transformation Testing.  Communications of the ACM 53(6), pp. 139-143, June 2010

[58] Gonzalez, C.A., Cabot, J.:  Test Data Generation for Model Transformations Combining Partition and Constraint Analysis.  In Proceedings of International Conference on Model Transformations (ICMT), LNCS, Vol. 8568, pp. 25-41, 2014.

[59] Selim, G.M.K., Cordy, J., Dingel, J. Model Transformation Testing:  The State of the Art.  AMT@MODELS, pp. 21-26, 2012.

 



Applications

 

Modeling and Cloud Computing

[60] Rodrigo N. Calheiros, Rajiv Ranjan, Anton Beloglazov, Cesar A. F. De Rose, and Rajkumar Buyya, CloudSim: A Toolkit for Modeling and Simulation of Cloud Computing Environments and Evaluation of Resource Provisioning Algorithms, Software: Practice and Experience (SPE), Volume 41, Number 1, Pages: 23-50, ISSN: 0038-0644, Wiley Press, New York, USA, January, 2011

[61] Ferry, N., Chauvel, F., Rossini, A., Morin, B., Solberg, A.   CloudMF: Applying MDE to Tame the Complexity of Managing Multi-cloud Applications.  In Proceedings of the Second Nordic Symposium on Cloud Computing and Internet Technologies, 2013, pp. 38-45. The wiki page for the project is here.

[62]  Amine Benelallam, Abel Gómez, Massimo Tisi, Jordi Cabot: Distributed model-to-model transformation with ATL on MapReduce. Proceedings of International Conference on Software Language Engineering (SLE) 2015: 37-48

 

 

Cyber-Physical Systems

[63] Patricia Derler, Edward A. Lee, Alberto Sangiovanni-Vincentelli. Modeling Cyber-Physical Systems. Proceedings of the IEEE (special issue on CPS), 100(1):13-28, January 2012.

[64] Ciccozzi, F., Crnkovic, I., Di Ruscio, D., Malavolta, I., Pelliccione, P., Spalazzese, R.  Model-Driven Engineering for Mission-Critical IoT SystemsIEEE Software 34(1), pp. 46-53, 2017.

[65] Van Acker B, Denil J, Vangheluwe H, De Meulenaere P. Managing Heterogeneity in Model-Based Systems Engineering of Cyber-Physical Systems.  In Proceedings of International Conference on P2P, Parallel, Grid, Cloud and Internet Computing (3PGCIC), 2015, pp. 617-622.  

[66]  Vanherpen, K., Denil, J., Vangheluwem H., De Meulaere, P.  Model Transformations for Round-Trip Engineering in Control Deployment Co-Design,  In Proceedings of the Symposium on Theory of Modeling and Simulation (DEVS’15), pp. 55-62, 2015.

 

Models @ Runtime

[67] B.H.C. Cheng et al. Software Engineering for Self-Adaptive Systems:  A Research Roadmap.  Lecture Notes in Computer Science, Vol. 5525, 2009.

[68] B. Morin, O. Barais, J-M. Jezequel, F. Fleurey, A. Solberg.  Models@Run.time to Support Dynamic Adaptation, IEEE Computer, 2009.

[69] F. Fleurey and A. Solberg.  A Domain Specific Modeling Language supporting Specification, Simulation and Execution of Dynamic Adaptive Systems. In Proceedings of MoDELS’09, 2009

 

 

Modeling Software Safety and Security

[70] Kokaly, S., Salay, R., Cassano, V., Maibaum, T., Chechik, M. A model management approach for assurance case reuse due to system evolution. In Proceedings of International Conference on Model-Driven Languages and Systems (MoDELS), pp. 196-206, 2016.

[71] Graydon, P., Knight, J., Strunk, E.  Assurance Based Development of Critical SystemsInternational Conference on Dependable Systems and Networks (DSN), 2007, pp. 347-357.   

 

Biological systems modeling

[72] J. Fisher, D. Harel, T. Henzinger.  Biology as reactivity.  Communications of the ACM, October, 2011.  

[73] Bapodra, M.  Heckel, R.  Abstraction and Training of Stochastic Graph Transformation Systems.  In Proceedings of International Conference on Fundamental Approaches of Software Engineering (FASE), 2013, pp. 312-326. 

[74] Ehrig, K. Heckel, R., Lajios, G.  Molecular Analysis of Metabolic Pathway with Graph Transformation.  In Proceedings of International Conference on Graph Transformations (ICGT), 2006, pp. 107-121.

 

Machine-learning, big data and model-driven engineering

[75] Ceri, S., Della Valle, E., Pedreschi, D., Trasarti, R.  Mega-modeling for Big Data Analytics.  In Proceedings on International Conference of Conceptual Modeling (ER), LNCS Vol. 7532, 2012.    

[76] Hartmann, T., Moawad, A., Fouquet, F., Le Traon, Y. The next evolution of MDE:  a seamless integration of machine learning into domain modelingJ. of Software and Systems Modeling, pp, 1-20, 2017. 

 

Other Suggestions

[77] Kolovos D.S., Matragkas N., Williams J.R., Paige R.F. (2014) Model Driven Grant Proposal Engineering. In Proceedings of International Conference on Model-Driven Engineering Languages and Systems (MoDELS), 2014. Lecture Notes in Computer Science, vol 8767.

[78] Sara Perez-Soler, Esther Guerra, Juan de Lara, Francisco Jurado.  The rise of the (modelling) bots:  towards assisted modeling via social networks.  In Proceedings of International Conference on Automated Software Engineering (ASE), pp. 723-728, 2017.

[79] Harrand, N., Fleurey, F., Morin, B. Husa, K.E. ThingML: a language and code generation framework for heterogeneous targets. In Proceedings of International Conference on Modeling Languages and Systems (MoDELS), 2016, pp. 125-135.  This is a modeling language for IoT.  Web page.

https://ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif

 


Send questions or comments to chechik@cs.toronto.edu

Last updated:  January 8, 2018.