<html><h3 class="sectionedit1" id="models_2015_10-01">MODELS 2015, 10-01</h3><div class="level3"> </div><h4 id="keynote">Keynote</h4><div class="level4"><p>Gail Murphy, University of British Columbia: Software Supply Chains</p><ul><li class="level1"><div class="li">topic: dependence of software projects, open source, communication etc.</div></li><li class="level1 node"><div class="li">Loose sw chains: not critical open source</div><ul><li class="level2"><div class="li">GitHub issue handling is “not enough”</div></li><li class="level2"><div class="li">not only users of an open source lib contribute to the lib, but in many cases vice versa as well (~35% of social interactions are bi-directional between projects)</div></li><li class="level2 node"><div class="li">quality implications of open source:</div><ul><li class="level3"><div class="li">even components with known vulnerabilities get downloaded by >10000 institutions after the problem is discovered</div></li></ul></li><li class="level2"><div class="li">reuse is not free: technical and social costs are there as well</div></li></ul></li><li class="level1 node"><div class="li">Tight sw chains (critical, like airplane sw)</div><ul><li class="level2"><div class="li">chains of contractual agreements, with complicated info flow</div></li></ul></li></ul></div><h4 id="fundamentals_i">Fundamentals I.</h4><div class="level4"><ul><li class="level1 node"><div class="li">Colin Atkinson: A Unifying Approach to Connections for Multi-Level Modeling</div><ul><li class="level2"><div class="li">multi-level modeling: many meta layers</div></li><li class="level2"><div class="li"><em>clabject</em>: class and object</div></li></ul></li></ul><ul><li class="level1 node"><div class="li">Juan de Lara: A-posteriori Typing for Model-Driven Engineering</div><ul><li class="level2"><div class="li">decopule instantiation and classification</div></li><li class="level2"><div class="li">motivation: reclassification</div></li><li class="level2"><div class="li">mainstream modeling made very inflexible typing choices (types are mandatory, unchangeable, single etc.)</div></li><li class="level2"><div class="li">typing is defined by queries – changing of attributes and connections can change the type of an object</div></li><li class="level2"><div class="li">dynamic type checking (OCL)</div></li></ul></li></ul><ul><li class="level1 node"><div class="li">Enriching Megamodel Management with Collection-Based Operators</div><ul><li class="level2"><div class="li">megamodel: set of models and relationships to ease model management in large projects</div></li><li class="level2"><div class="li">filter, map, reduce operations to manage models in a megamodel</div></li><li class="level2"><div class="li">implementation in MMINT</div></li></ul></li></ul></div><h4 id="behavioural_modeling_ii">Behavioural modeling II</h4><div class="level4"><ul><li class="level1 node"><div class="li">Extracting Frame Conditions from Operation Contracts</div><ul><li class="level2"><div class="li">frame condition: describes what is <strong>not</strong> changing when an operation is called</div></li><li class="level2 node"><div class="li">they have heuristics to extract frame conditions from OCL pre- and postconditions of operations</div><ul><li class="level3"><div class="li">eg. attributes is mentioned in the post condition is likely to change</div></li></ul></li></ul></li></ul></div></html>