Files
logseq/assets/Cicchetti et al_2012_Managing the evolution of data-intensive Web applications by model-driven.edn
T
2025-06-02 17:15:13 +02:00

3524 lines
198 KiB
Clojure
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{:highlights [{:id #uuid "651baf72-64b6-468f-add6-ec26e9485d8b",
:page 1,
:position {:bounding {:x1 0,
:y1 760.1171569824219,
:x2 797.26806640625,
:y2 929.8969116210938,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 718.7535095214844,
:y1 760.1171569824219,
:x2 797.26806640625,
:y2 776.2445678710938,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 449.0183563232422,
:y1 778.331787109375,
:x2 794.4836273193359,
:y2 794.4591674804688,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 909.813720703125,
:x2 0,
:y2 929.8969116210938,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 1},
:content {:text "maintenance and evolution management of such systems is still an issue"},
:properties {:color "purple"}}
{:id #uuid "651bb3da-8ca6-4a9d-986d-b236d69df892",
:page 1,
:position {:bounding {:x1 527.5317230224609,
:y1 796.6557464599609,
:x2 630.1997680664062,
:y2 812.7831268310547,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 527.5317230224609,
:y1 796.6557464599609,
:x2 630.1997680664062,
:y2 812.7831268310547,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 1},
:content {:text "design evolutions"},
:properties {:color "green"}}
{:id #uuid "651bb3f4-3190-4efa-9334-24819d0280d5",
:page 1,
:position {:bounding {:x1 0,
:y1 814.8656158447266,
:x2 798.2245178222656,
:y2 993.8929138183594,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 557.6600952148438,
:y1 814.8656158447266,
:x2 798.1962280273438,
:y2 830.9929962158203,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 449.0183563232422,
:y1 833.1943511962891,
:x2 798.2245178222656,
:y2 849.3217468261719,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 449.0183563232422,
:y1 851.4042358398438,
:x2 512.9459228515625,
:y2 867.5316162109375,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 957.8107299804688,
:x2 0,
:y2 977.8938903808594,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 973.8097534179688,
:x2 0,
:y2 993.8929138183594,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 1},
:content {:text "interconnected artifacts, notably to existing portions of the application which should be co-evolved accordingl"},
:properties {:color "green"}}
{:id #uuid "651bb459-a0f0-4f62-b8f0-bcbd2c1654a2",
:page 1,
:position {:bounding {:x1 0,
:y1 906.2715759277344,
:x2 798.1753997802734,
:y2 1057.8889770507812,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 449.0183563232422,
:y1 906.2715759277344,
:x2 798.1753997802734,
:y2 922.3989562988281,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 449.0183563232422,
:y1 924.4814453125,
:x2 567.2184295654297,
:y2 940.6088256835938,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 1037.8058166503906,
:x2 0,
:y2 1057.8889770507812,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 1},
:content {:text "hand-code the necessary modifications, that is a tedious and error-prone activity"},
:properties {:color "green"}}
{:id #uuid "651bb467-29d7-4946-be24-195674913ffc",
:page 1,
:position {:bounding {:x1 483.83582305908203,
:y1 961.0200500488281,
:x2 789.4495315551758,
:y2 977.1474304199219,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 483.83582305908203,
:y1 961.0200500488281,
:x2 789.4495315551758,
:y2 977.1474304199219,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 1},
:content {:text "holding back the software evolution operations [42]."},
:properties {:color "blue"}}
{:id #uuid "651bb4fb-12e8-4342-a684-03834a4ee25b",
:page 2,
:position {:bounding {:x1 0,
:y1 13.868972778320312,
:x2 424.0165710449219,
:y2 136.65963745117188,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 0,
:y1 13.868972778320312,
:x2 0,
:y2 33.95213317871094,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 29.867996215820312,
:x2 0,
:y2 49.95115661621094,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 264.9857482910156,
:y1 83.99363708496094,
:x2 424.0165710449219,
:y2 100.12101745605469,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.82212829589844,
:y1 102.31761169433594,
:x2 424.0126190185547,
:y2 118.44500732421875,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.82212829589844,
:y1 120.5322265625,
:x2 126.35392761230469,
:y2 136.65963745117188,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 2},
:content {:text "text-based approaches cannot deal with the level of abstraction of models in a profitable way"},
:properties {:color "green"}}
{:id #uuid "651bb506-4dbe-445e-abc9-52fdbf7a40e3",
:page 2,
:position {:bounding {:x1 0,
:y1 45.86700439453125,
:x2 423.9936981201172,
:y2 173.1934814453125,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 0,
:y1 45.86700439453125,
:x2 0,
:y2 65.95016479492188,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 61.86601257324219,
:x2 0,
:y2 81.94917297363281,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 287.3515625,
:y1 120.5322265625,
:x2 423.971923828125,
:y2 136.65963745117188,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.82212829589844,
:y1 138.85623168945312,
:x2 423.9936981201172,
:y2 154.98361206054688,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.82212829589844,
:y1 157.06610107421875,
:x2 191.68148803710938,
:y2 173.1934814453125,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 2},
:content {:text "enhance file-oriented or line-oriented versioning techniques towards more structural recording of change"},
:properties {:color "blue"}}
{:id #uuid "651bc663-edb2-4c8a-83f9-cb934ec9ba88",
:page 2,
:position {:bounding {:x1 91.49628448486328,
:y1 211.9334259033203,
:x2 172.36436462402344,
:y2 228.0608367919922,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 91.49628448486328,
:y1 211.9334259033203,
:x2 172.36436462402344,
:y2 228.0608367919922,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 2},
:content {:text "Contributions"},
:properties {:color "green"}}
{:id #uuid "651bc668-de31-489e-a8f2-6db61bf2201c",
:page 2,
:position {:bounding {:x1 0,
:y1 141.86109924316406,
:x2 423.7113037109375,
:y2 264.5994415283203,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 0,
:y1 141.86109924316406,
:x2 0,
:y2 161.9442596435547,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 313.8267517089844,
:y1 230.14329528808594,
:x2 423.7113037109375,
:y2 246.2707061767578,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.82212829589844,
:y1 248.47203063964844,
:x2 362.65550231933594,
:y2 264.5994415283203,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 2},
:content {:text " evolution of Web applications which consists of the following stages"},
:properties {:color "green"}}
{:id #uuid "651bc66f-8b80-40c3-8719-7b2a1319e50b",
:page 2,
:position {:bounding {:x1 0,
:y1 157.86009216308594,
:x2 423.9607238769531,
:y2 301.01918029785156,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 0,
:y1 157.86009216308594,
:x2 0,
:y2 177.94325256347656,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 173.85911560058594,
:x2 0,
:y2 193.94227600097656,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 370.1261901855469,
:y1 248.47203063964844,
:x2 423.9607238769531,
:y2 264.5994415283203,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.82212829589844,
:y1 266.6819305419922,
:x2 423.67454528808594,
:y2 282.80931091308594,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.82212829589844,
:y1 284.8917999267578,
:x2 398.7341766357422,
:y2 301.01918029785156,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 2},
:content {:text "(a) detection of changes operated on the models of a given Web application by means of model differencing approach"},
:properties {:color "blue"}}
{:id #uuid "651bc679-fed9-4207-9f52-f3e1fb8308e8",
:page 2,
:position {:bounding {:x1 0,
:y1 189.85813903808594,
:x2 423.9948425292969,
:y2 337.5577850341797,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 0,
:y1 189.85813903808594,
:x2 0,
:y2 209.94129943847656,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 205.8571319580078,
:x2 0,
:y2 225.94029235839844,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 406.31036376953125,
:y1 284.8917999267578,
:x2 423.9948425292969,
:y2 301.01918029785156,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.82212829589844,
:y1 303.2205352783203,
:x2 423.96458435058594,
:y2 319.34791564941406,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.82212829589844,
:y1 321.43040466308594,
:x2 130.74508666992188,
:y2 337.5577850341797,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 2},
:content {:text "(b) model-based representation of the detected changes in order to enable,"},
:properties {:color "blue"}}
{:id #uuid "651bc680-0ea9-4f8b-ba70-8bea958644ba",
:page 2,
:position {:bounding {:x1 0,
:y1 221.8561553955078,
:x2 423.9683380126953,
:y2 355.8865203857422,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 0,
:y1 221.8561553955078,
:x2 0,
:y2 241.93931579589844,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 134.3368682861328,
:y1 321.43040466308594,
:x2 423.9683380126953,
:y2 337.5577850341797,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.82212829589844,
:y1 339.75914001464844,
:x2 268.4303894042969,
:y2 355.8865203857422,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 2},
:content {:text "(c) the automated generation of migration tools by means of model transformations. "},
:properties {:color "blue"}}
{:id #uuid "651bc6a2-7ed0-4c6c-bf39-004af671c5a3",
:page 2,
:position {:bounding {:x1 0,
:y1 317.8502311706543,
:x2 423.97283935546875,
:y2 502.03620529174805,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 0,
:y1 317.8502311706543,
:x2 0,
:y2 337.9333915710449,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 333.8492546081543,
:x2 0,
:y2 353.9324150085449,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 349.8482475280762,
:x2 0,
:y2 369.9314079284668,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 275.096435546875,
:y1 431.04621505737305,
:x2 423.97283935546875,
:y2 447.1735954284668,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.82212829589844,
:y1 449.37018966674805,
:x2 423.82810974121094,
:y2 465.4976005554199,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.82212829589844,
:y1 467.5848197937012,
:x2 423.95872497558594,
:y2 483.7122001647949,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.82212829589844,
:y1 485.9087944030762,
:x2 420.4039764404297,
:y2 502.03620529174805,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 2},
:content {:text "Subsequent versions of a beContent model are compared to detect the occurred modifications and bring forth adaptations capable of migrating also those aspects which are not directly derivable from the model"},
:properties {:color "purple"}}
{:id #uuid "651bc6b4-959c-47d7-8632-43ce921b0fdf",
:page 2,
:position {:bounding {:x1 0,
:y1 413.8443145751953,
:x2 424.01438903808594,
:y2 611.5331573486328,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 0,
:y1 413.8443145751953,
:x2 0,
:y2 433.92747497558594,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 429.8433380126953,
:x2 0,
:y2 449.92649841308594,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 445.8423309326172,
:x2 0,
:y2 465.9254913330078,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 235.08567810058594,
:y1 540.6573028564453,
:x2 423.9718017578125,
:y2 556.7846832275391,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.82212829589844,
:y1 558.8719329833984,
:x2 423.92076110839844,
:y2 574.9993133544922,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.82212829589844,
:y1 577.1959075927734,
:x2 424.01438903808594,
:y2 593.3232879638672,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.82212829589844,
:y1 595.4057769775391,
:x2 138.76461791992188,
:y2 611.5331573486328,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 2},
:content {:text "do not embody layout templates or the data which are inserted in the system after the deployment of the generated application and persistently stored in a database."},
:properties {:color "purple"}}
{:id #uuid "651bc6bd-948d-4031-9598-2b6c406bbc43",
:page 2,
:position {:bounding {:x1 0,
:y1 477.8403625488281,
:x2 423.9595947265625,
:y2 648.07177734375,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 0,
:y1 477.8403625488281,
:x2 0,
:y2 497.92352294921875,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 226.31820678710938,
:y1 613.7344970703125,
:x2 423.9595947265625,
:y2 629.8619079589844,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.82212829589844,
:y1 631.9443969726562,
:x2 119.07408142089844,
:y2 648.07177734375,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 2},
:content {:text " “external” artifacts should be supported. "},
:properties {:color "purple"}}
{:id #uuid "651bc6d1-463c-470b-b642-44ec3e431c0a",
:page 2,
:position {:bounding {:x1 0,
:y1 509.83839416503906,
:x2 423.9829864501953,
:y2 721.1489868164062,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 0,
:y1 509.83839416503906,
:x2 0,
:y2 529.9215545654297,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 525.8374176025391,
:x2 0,
:y2 545.9205780029297,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 541.83642578125,
:x2 0,
:y2 561.9195861816406,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 134.4591827392578,
:y1 650.2731323242188,
:x2 423.9829864501953,
:y2 666.4005126953125,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.82212829589844,
:y1 668.4830017089844,
:x2 423.70140075683594,
:y2 684.6103820800781,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.82212829589844,
:y1 686.8117370605469,
:x2 423.96311950683594,
:y2 702.9391174316406,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.82212829589844,
:y1 705.0216064453125,
:x2 420.34373474121094,
:y2 721.1489868164062,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 2},
:content {:text "the proposed process is also applied to manage the evolution of systems which have been developed with WebML, a modeling language which has been employed on full scale projects and is widely used in commercial enterprises"},
:properties {:color "purple"}}
{:id #uuid "651bc6ef-65ee-459e-bf94-cb3f435222ec",
:page 2,
:position {:bounding {:x1 166.52434921264648,
:y1 778.0988159179688,
:x2 283.53642654418945,
:y2 794.2261962890625,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 166.52434921264648,
:y1 778.0988159179688,
:x2 283.53642654418945,
:y2 794.2261962890625,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 2},
:content {:text "model differencing,"},
:properties {:color "blue"}}
{:id #uuid "651bc6f4-5bdd-4301-9db7-0da8c421ef1a",
:page 2,
:position {:bounding {:x1 287.2496528625488,
:y1 778.0988159179688,
:x2 420.2328987121582,
:y2 794.2261962890625,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 287.2496528625488,
:y1 778.0988159179688,
:x2 420.2328987121582,
:y2 794.2261962890625,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 2},
:content {:text "data schema evolution"},
:properties {:color "blue"}}
{:id #uuid "651bc6f9-446b-40e9-b747-cf305045113b",
:page 2,
:position {:bounding {:x1 99.21290969848633,
:y1 796.4227905273438,
:x2 202.79985427856445,
:y2 812.5501708984375,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 99.21290969848633,
:y1 796.4227905273438,
:x2 202.79985427856445,
:y2 812.5501708984375,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 2},
:content {:text "coupled evolution"},
:properties {:color "blue"}}
{:id #uuid "651bc71b-9f18-4b26-88a6-c1944ff330b8",
:page 2,
:position {:bounding {:x1 0,
:y1 717.8255310058594,
:x2 423.9946479797363,
:y2 976.9144592285156,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 0,
:y1 717.8255310058594,
:x2 0,
:y2 737.90869140625,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 733.8245391845703,
:x2 0,
:y2 753.9076995849609,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 749.8235626220703,
:x2 0,
:y2 769.9067230224609,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 765.8225708007812,
:x2 0,
:y2 785.9057312011719,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 118.31019973754883,
:y1 887.7098388671875,
:x2 423.9946479797363,
:y2 903.8372497558594,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.8221321105957,
:y1 905.9244689941406,
:x2 423.9669075012207,
:y2 922.0518493652344,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.8221321105957,
:y1 924.2484741210938,
:x2 423.9674873352051,
:y2 940.3758544921875,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.8221321105957,
:y1 942.4583435058594,
:x2 423.7072944641113,
:y2 958.5857238769531,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 74.8221321105957,
:y1 960.7870788574219,
:x2 289.6228828430176,
:y2 976.9144592285156,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 2},
:content {:text "even though each phase of the proposed process relies on techniques already available in other application domains, their integration and adaptation in a comprehensive modelbased approach to support Web application evolutions represents the main novelty of the paper"},
:properties {:color "purple"}}
{:id #uuid "651bc7a8-41ca-4a42-8f0d-7e2e77611acd",
:page 2,
:position {:bounding {:x1 0,
:y1 467.9319152832031,
:x2 798.1724548339844,
:y2 1137.8840637207031,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 548.5021820068359,
:y1 467.9319152832031,
:x2 798.1724548339844,
:y2 484.0592956542969,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 449.0183563232422,
:y1 486.14178466796875,
:x2 796.5947723388672,
:y2 502.2691650390625,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 1117.8008728027344,
:x2 0,
:y2 1137.8840637207031,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 2},
:content {:text " (e.g., Hera [13], OO-H [15], UWE [19], WebDSL [43], WebML [5] and Webile [11] to mention a few)"},
:properties {:color "purple"}}
{:id #uuid "651bc859-5c2d-48d8-889d-dfabebf4e5bb",
:page 2,
:position {:bounding {:x1 0,
:y1 851.4042358398438,
:x2 798.1977310180664,
:y2 1521.8603515625,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 758.0391540527344,
:y1 851.4042358398438,
:x2 798.1359252929688,
:y2 867.5316162109375,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 449.0183792114258,
:y1 869.7329711914062,
:x2 798.1966934204102,
:y2 885.8603515625,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 449.0183792114258,
:y1 887.9428405761719,
:x2 798.1977310180664,
:y2 904.0702514648438,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 449.0183792114258,
:y1 906.2715759277344,
:x2 798.1457290649414,
:y2 922.3989868164062,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 449.0183792114258,
:y1 924.4814453125,
:x2 615.3469009399414,
:y2 940.6088562011719,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 1453.7801513671875,
:x2 0,
:y2 1473.8633422851562,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 1469.7791748046875,
:x2 0,
:y2 1489.8623657226562,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 1485.7781982421875,
:x2 0,
:y2 1505.861328125,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 1501.7772216796875,
:x2 0,
:y2 1521.8603515625,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 2},
:content {:text "several assets might not be directly reflected in the models, such as the content stored in persistent back-ends and those artifacts which are obtained via manual customizations (as outlined by the gray boxes in Fig. 1b)."},
:properties {:color "purple"}}
{:id #uuid "651bc868-33f0-4487-adb2-7ff7f2620088",
:page 2,
:position {:bounding {:x1 0,
:y1 924.4814758300781,
:x2 798.0833206176758,
:y2 1553.8583984375,
:width 873.0714666666667,
:height 1159.9368000000002},
:rects ({:x1 653.93017578125,
:y1 924.4814758300781,
:x2 797.905029296875,
:y2 940.60888671875,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 449.0183792114258,
:y1 942.8102111816406,
:x2 798.0833206176758,
:y2 958.9376220703125,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 449.0183792114258,
:y1 961.0200805664062,
:x2 506.53857421875,
:y2 977.1474914550781,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 1517.7762451171875,
:x2 0,
:y2 1537.859375,
:width 873.0714666666667,
:height 1159.9368000000002}
{:x1 0,
:y1 1533.7752685546875,
:x2 0,
:y2 1553.8583984375,
:width 873.0714666666667,
:height 1159.9368000000002}),
:page 2},
:content {:text "modifying a model might require additional adaptations in order to keep the overall system valid."},
:properties {:color "purple"}}
{:id #uuid "651bd412-788e-4cc8-864b-8beaa1cbafa5",
:page 2,
:position {:bounding {:x1 0,
:y1 1068.4582977294922,
:x2 870.7486572265625,
:y2 1601.8554077148438,
:width 952.4415999999999,
:height 1265.3855999999998},
:rects ({:x1 847.2173461914062,
:y1 1068.4582977294922,
:x2 870.7486572265625,
:y2 1086.1071319580078,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 489.83605194091797,
:y1 1088.3275146484375,
:x2 870.7347030639648,
:y2 1105.9763488769531,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 489.83605194091797,
:y1 1108.320327758789,
:x2 780.1520004272461,
:y2 1125.9691619873047,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 1565.7732543945312,
:x2 0,
:y2 1585.8563842773438,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 1581.7722778320312,
:x2 0,
:y2 1601.8554077148438,
:width 952.4415999999999,
:height 1265.3855999999998}),
:page 2},
:content {:text " the more such interdependencies are formally defined, the better the adaptation process can be automatized"},
:properties {:color "purple"}}
{:id #uuid "651bd42f-f2d0-4bb9-b203-d2170fa63f7f",
:page 3,
:position {:bounding {:x1 0,
:y1 61.86602020263672,
:x2 462.6442565917969,
:y2 619.4352111816406,
:width 952.4415999999999,
:height 1265.3855999999998},
:rects ({:x1 0,
:y1 61.86602020263672,
:x2 0,
:y2 81.94918060302734,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 346.6864929199219,
:y1 581.9219055175781,
:x2 462.6442565917969,
:y2 599.5707397460938,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.6211166381836,
:y1 601.7863464355469,
:x2 334.3785629272461,
:y2 619.4352111816406,
:width 952.4415999999999,
:height 1265.3855999999998}),
:page 3},
:content {:text "conformance relation between the data and their schema"},
:properties {:color "purple"}}
{:id #uuid "651bd459-3230-4f01-bbb7-f1248c330a87",
:page 3,
:position {:bounding {:x1 0,
:y1 205.8571319580078,
:x2 462.6533203125,
:y2 818.7310791015625,
:width 952.4415999999999,
:height 1265.3855999999998},
:rects ({:x1 0,
:y1 205.8571319580078,
:x2 0,
:y2 225.94029235839844,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 221.8561553955078,
:x2 0,
:y2 241.93931579589844,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 380.4811706542969,
:y1 761.2249755859375,
:x2 462.6533203125,
:y2 778.8738098144531,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.6211166381836,
:y1 781.0894165039062,
:x2 462.59869384765625,
:y2 798.7382507324219,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.6211166381836,
:y1 801.0822448730469,
:x2 126.60579681396484,
:y2 818.7310791015625,
:width 952.4415999999999,
:height 1265.3855999999998}),
:page 3},
:content {:text "(a) the detection of model changes by means of model comparison techniques,"},
:properties {:color "blue"}}
{:id #uuid "651bd461-3754-4858-b993-97356bf8d08b",
:page 3,
:position {:bounding {:x1 135.7678680419922,
:y1 801.0822448730469,
:x2 361.4628601074219,
:y2 818.7310791015625,
:width 952.4415999999999,
:height 1265.3855999999998},
:rects ({:x1 135.7678680419922,
:y1 801.0822448730469,
:x2 361.4628601074219,
:y2 818.7310791015625,
:width 952.4415999999999,
:height 1265.3855999999998}),
:page 3},
:content {:text "b) their model-based representation"},
:properties {:color "blue"}}
{:id #uuid "651bd467-5af9-46cd-bee6-c9155c61e137",
:page 3,
:position {:bounding {:x1 0,
:y1 237.85516357421875,
:x2 462.6470947265625,
:y2 858.5931091308594,
:width 952.4415999999999,
:height 1265.3855999999998},
:rects ({:x1 0,
:y1 237.85516357421875,
:x2 0,
:y2 257.9383239746094,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 253.8541717529297,
:x2 0,
:y2 273.9373321533203,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 445.1935729980469,
:y1 801.0822448730469,
:x2 462.6470947265625,
:y2 818.7310791015625,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.6211166381836,
:y1 820.9514465332031,
:x2 462.5897521972656,
:y2 838.6002807617188,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.6211166381836,
:y1 840.9442749023438,
:x2 231.3490219116211,
:y2 858.5931091308594,
:width 952.4415999999999,
:height 1265.3855999999998}),
:page 3},
:content {:text "(c) the automated generation of migration tools by means of model transformations. "},
:properties {:color "blue"}}
{:id #uuid "651bd475-2a3c-441f-b677-eae40bc99fec",
:page 3,
:position {:bounding {:x1 0,
:y1 301.85121154785156,
:x2 462.49256896972656,
:y2 918.319580078125,
:width 952.4415999999999,
:height 1265.3855999999998},
:rects ({:x1 0,
:y1 301.85121154785156,
:x2 0,
:y2 321.9343719482422,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 173.4384307861328,
:y1 880.8015441894531,
:x2 462.49256896972656,
:y2 898.4503784179688,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.6211166381836,
:y1 900.6707458496094,
:x2 116.65084838867188,
:y2 918.319580078125,
:width 952.4415999999999,
:height 1265.3855999999998}),
:page 3},
:content {:text " differences are based on the considered metamode"},
:properties {:color "purple"}}
{:id #uuid "651bd47e-61a7-4901-9f58-885db34c4867",
:page 3,
:position {:bounding {:x1 0,
:y1 317.8502197265625,
:x2 462.51387786865234,
:y2 958.1768493652344,
:width 952.4415999999999,
:height 1265.3855999999998},
:rects ({:x1 0,
:y1 317.8502197265625,
:x2 0,
:y2 337.9333801269531,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 333.8492431640625,
:x2 0,
:y2 353.9324035644531,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 207.69900512695312,
:y1 900.6707458496094,
:x2 462.50775146484375,
:y2 918.319580078125,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.6211166381836,
:y1 920.66357421875,
:x2 462.51387786865234,
:y2 938.3124084472656,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.6211166381836,
:y1 940.5280151367188,
:x2 247.54415130615234,
:y2 958.1768493652344,
:width 952.4415999999999,
:height 1265.3855999999998}),
:page 3},
:content {:text "adaptation must necessarily consider the technological assets and the architecture of the final system that cannot be generalized."},
:properties {:color "purple"}}
{:id #uuid "651bd4a6-7cd3-48ab-a7e4-f836782dadf8",
:page 3,
:position {:bounding {:x1 0,
:y1 525.83740234375,
:x2 870.8049011230469,
:y2 679.2853088378906,
:width 952.4415999999999,
:height 1265.3855999999998},
:rects ({:x1 0,
:y1 525.83740234375,
:x2 0,
:y2 545.9205627441406,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 489.8360595703125,
:y1 641.6436462402344,
:x2 870.8049011230469,
:y2 659.29248046875,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 489.8360595703125,
:y1 661.636474609375,
:x2 824.6469116210938,
:y2 679.2853088378906,
:width 952.4415999999999,
:height 1265.3855999999998}),
:page 3},
:content {:text "calculation, representation, and visualization (the interested reader can refer to [4] for an extended discussion)."},
:properties {:color "purple"}}
{:id #uuid "651bd4d7-2369-4678-8103-9475b1eed6b0",
:page 3,
:position {:bounding {:x1 602.6992340087891,
:y1 801.0822448730469,
:x2 709.8331909179688,
:y2 818.7310791015625,
:width 952.4415999999999,
:height 1265.3855999999998},
:rects ({:x1 602.6992340087891,
:y1 801.0822448730469,
:x2 709.8331909179688,
:y2 818.7310791015625,
:width 952.4415999999999,
:height 1265.3855999999998}),
:page 3},
:content {:text "model matching "},
:properties {:color "purple"}}
{:id #uuid "651bd52f-cbfc-4b65-87d3-c5c84563d0e7",
:page 4,
:position {:bounding {:x1 0,
:y1 269.85317611694336,
:x2 462.50254821777344,
:y2 729.6500854492188,
:width 952.4415999999999,
:height 1265.3855999999998},
:rects ({:x1 0,
:y1 269.85317611694336,
:x2 0,
:y2 289.936336517334,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 285.8521919250488,
:x2 0,
:y2 305.9353504180908,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 164.52659606933594,
:y1 672.1392211914062,
:x2 462.50254821777344,
:y2 689.7880554199219,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.6211166381836,
:y1 692.1320190429688,
:x2 462.48961639404297,
:y2 709.7808837890625,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.6211166381836,
:y1 712.0012512207031,
:x2 276.88280487060547,
:y2 729.6500854492188,
:width 952.4415999999999,
:height 1265.3855999999998}),
:page 4},
:content {:text " it relies on a metamodel independent matching algorithm and can be used for differencing models conforming to any modeling language."},
:properties {:color "blue"}}
{:id #uuid "651bd542-a5ce-4338-845a-30d9ba928ff4",
:page 4,
:position {:bounding {:x1 0,
:y1 397.84529972076416,
:x2 462.54486083984375,
:y2 928.9459838867188,
:width 952.4415999999999,
:height 1265.3855999999998},
:rects ({:x1 0,
:y1 397.84529972076416,
:x2 0,
:y2 417.9284601211548,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 413.8443126678467,
:x2 0,
:y2 433.9274711608887,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 429.8433265686035,
:x2 0,
:y2 449.92648696899414,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 445.8423385620117,
:x2 0,
:y2 465.92549896240234,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 420.9143371582031,
:y1 831.5778198242188,
:x2 462.54486083984375,
:y2 849.2266845703125,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.6211166381836,
:y1 851.4470520019531,
:x2 462.5299606323242,
:y2 869.0958862304688,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.6211166381836,
:y1 871.4398498535156,
:x2 462.5279769897461,
:y2 889.0886840820312,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.6211166381836,
:y1 891.3043212890625,
:x2 462.4592514038086,
:y2 908.9531555175781,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.6211166381836,
:y1 911.2971496582031,
:x2 290.0848617553711,
:y2 928.9459838867188,
:width 952.4415999999999,
:height 1265.3855999999998}),
:page 4},
:content {:text "In this respect, the Epsilon Comparison Language [22] (ECL) significantly simplify the customization of the matching algorithm and permits the definition of domain-specific heuristics for the modeling language at use"},
:properties {:color "purple"}}
{:id #uuid "651bd585-56a8-4518-977d-ef45bde44e46",
:page 4,
:position {:bounding {:x1 0,
:y1 843.3453063964844,
:x2 871.0326538085938,
:y2 977.8939208984375,
:width 952.4415999999999,
:height 1265.3855999999998},
:rects ({:x1 766.5884399414062,
:y1 843.3453063964844,
:x2 870.4150390625,
:y2 860.994140625,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 489.8360481262207,
:y1 866.3762817382812,
:x2 871.0326538085938,
:y2 884.0251159667969,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 489.8360481262207,
:y1 883.2073364257812,
:x2 870.690845489502,
:y2 900.8561706542969,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 489.8360481262207,
:y1 903.0718078613281,
:x2 797.2578735351562,
:y2 920.7206420898438,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 925.812744140625,
:x2 0,
:y2 945.8958740234375,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 941.811767578125,
:x2 0,
:y2 961.8948974609375,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 957.810791015625,
:x2 0,
:y2 977.8939208984375,
:width 952.4415999999999,
:height 1265.3855999999998}),
:page 4},
:content {:text "the metaclasses AddedWebPage, DeletedWebPage and ChangedWebPage are derived and permit the specification of additions, deletions, and changes of WebPage instances, respectively."},
:properties {:color "green"}}
{:id #uuid "651bd5bf-621c-4061-9b9c-0ac6a0c54aaf",
:page 5,
:position {:bounding {:x1 0,
:y1 45.86701965332031,
:x2 462.62599182128906,
:y2 311.4411163330078,
:width 952.4415999999999,
:height 1265.3855999999998},
:rects ({:x1 0,
:y1 45.86701965332031,
:x2 0,
:y2 65.95018005371094,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 61.86601257324219,
:x2 0,
:y2 81.94917297363281,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 77.86503601074219,
:x2 0,
:y2 97.94819641113281,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 93.86405944824219,
:x2 0,
:y2 113.94721984863281,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 109.86305236816406,
:x2 0,
:y2 129.9462127685547,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 125.86207580566406,
:x2 0,
:y2 145.9452362060547,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 141.86109924316406,
:x2 0,
:y2 161.9442596435547,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 111.77764129638672,
:y1 154.3465118408203,
:x2 462.60902404785156,
:y2 171.99534606933594,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 103.81529235839844,
:y1 174.33934020996094,
:x2 462.4850311279297,
:y2 191.98817443847656,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.6211166381836,
:y1 194.2085418701172,
:x2 93.6072998046875,
:y2 211.8573760986328,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 103.81529235839844,
:y1 194.2085418701172,
:x2 462.6219024658203,
:y2 211.8573760986328,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 103.81529235839844,
:y1 214.2013702392578,
:x2 462.5443572998047,
:y2 231.85020446777344,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 103.81529235839844,
:y1 234.06581115722656,
:x2 268.86572265625,
:y2 251.7146453857422,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.6211166381836,
:y1 253.9302520751953,
:x2 93.6072998046875,
:y2 271.57908630371094,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 103.81529235839844,
:y1 253.9302520751953,
:x2 462.62599182128906,
:y2 271.57908630371094,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 103.81529235839844,
:y1 273.92784118652344,
:x2 462.5374298095703,
:y2 291.57667541503906,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 103.81529235839844,
:y1 293.7922821044922,
:x2 442.07566833496094,
:y2 311.4411163330078,
:width 952.4415999999999,
:height 1265.3855999999998}),
:page 5},
:content {:text "on-breaking changes: modifications which do not invalidate the existing systems with the corresponding models; breaking and resolvable changes: modifications which invalidate the existing systems even though they can be automatically co-adapted; breaking and unresolvable changes: modifications which invalidate the existing applications and cannot automatically co-evolved and the user intervention is required"},
:properties {:color "blue"}}
{:id #uuid "651bd5fa-5205-4342-b9de-59bfb63c9e78",
:page 5,
:position {:bounding {:x1 0,
:y1 445.8423309326172,
:x2 462.5171661376953,
:y2 732.8118438720703,
:width 952.4415999999999,
:height 1265.3855999999998},
:rects ({:x1 0,
:y1 445.8423309326172,
:x2 0,
:y2 465.9254913330078,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 461.8413543701172,
:x2 0,
:y2 481.9245147705078,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 287.18882751464844,
:y1 675.3057403564453,
:x2 462.5171661376953,
:y2 692.9546051025391,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.6211166381836,
:y1 695.1701812744141,
:x2 462.4769821166992,
:y2 712.8190460205078,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.6211166381836,
:y1 715.1630401611328,
:x2 342.84593963623047,
:y2 732.8118438720703,
:width 952.4415999999999,
:height 1265.3855999999998}),
:page 5},
:content {:text "adapting customized source code requires the ability to extract and query the corresponding abstract syntaxes in order to refactor it"},
:properties {:color "blue"}}
{:id #uuid "651bd697-80f0-4a50-987d-fc5641916dbf",
:page 5,
:position {:bounding {:x1 0,
:y1 251.14883422851562,
:x2 870.7188034057617,
:y2 721.9096984863281,
:width 952.4415999999999,
:height 1265.3855999999998},
:rects ({:x1 710.0913391113281,
:y1 251.14883422851562,
:x2 869.7044372558594,
:y2 268.79766845703125,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 489.83605194091797,
:y1 271.14166259765625,
:x2 870.7188034057617,
:y2 288.7904968261719,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 489.83605194091797,
:y1 291.006103515625,
:x2 572.2700042724609,
:y2 308.65496826171875,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 685.8275451660156,
:x2 0,
:y2 705.9106750488281,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 701.8265686035156,
:x2 0,
:y2 721.9096984863281,
:width 952.4415999999999,
:height 1265.3855999999998}),
:page 5},
:content {:text "WebML enables the specification of navigation concerns which cannot be expressed by beConten"},
:properties {:color "purple"}}
{:id #uuid "651bd6a4-2aae-43f7-88b9-13ee6072572f",
:page 5,
:position {:bounding {:x1 509.7581481933594,
:y1 370.7254219055176,
:x2 790.9454956054688,
:y2 388.3742561340332,
:width 952.4415999999999,
:height 1265.3855999999998},
:rects ({:x1 509.7581481933594,
:y1 370.7254219055176,
:x2 790.9454956054688,
:y2 388.3742561340332,
:width 952.4415999999999,
:height 1265.3855999999998}),
:page 5},
:content {:text "outlining its application on WebML models."},
:properties {:color "blue"}}
{:id #uuid "651bd6ca-1451-410b-af83-43c47669e7f8",
:page 5,
:position {:bounding {:x1 0,
:y1 695.1701965332031,
:x2 870.7980041503906,
:y2 1009.8919067382812,
:width 952.4415999999999,
:height 1265.3855999999998},
:rects ({:x1 723.8495483398438,
:y1 695.1701965332031,
:x2 870.7980041503906,
:y2 712.8190307617188,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 489.83605194091797,
:y1 715.1630249023438,
:x2 582.0294036865234,
:y2 732.8118591308594,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 989.8087768554688,
:x2 0,
:y2 1009.8919067382812,
:width 952.4415999999999,
:height 1265.3855999999998}),
:page 5},
:content {:text "structure, composition, and data entry"},
:properties {:color "purple"}}
{:id #uuid "651bd6e9-8da7-4ccd-a701-fe2244bef3aa",
:page 6,
:position {:bounding {:x1 0,
:y1 45.86700439453125,
:x2 462.5374755859375,
:y2 542.6256713867188,
:width 952.4415999999999,
:height 1265.3855999999998},
:rects ({:x1 0,
:y1 45.86700439453125,
:x2 0,
:y2 65.95015716552734,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 61.86601257324219,
:x2 0,
:y2 81.94917297363281,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 292.90501403808594,
:y1 485.1195373535156,
:x2 462.5374755859375,
:y2 502.7684020996094,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.6211166381836,
:y1 505.11236572265625,
:x2 462.5295639038086,
:y2 522.7611999511719,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.6211166381836,
:y1 524.9768371582031,
:x2 158.38187408447266,
:y2 542.6256713867188,
:width 952.4415999999999,
:height 1265.3855999999998}),
:page 6},
:content {:text " for instance a textual content can be edited by means of text fields, text areas, or richtext editors. "},
:properties {:color "purple"}}
{:id #uuid "651bd8b5-9bad-42ae-9de4-b35edb36011b",
:page 6,
:position {:bounding {:x1 0,
:y1 544.9696502685547,
:x2 870.8257141113281,
:y2 602.3521575927734,
:width 952.4415999999999,
:height 1265.3855999999998},
:rects ({:x1 671.8094482421875,
:y1 544.9696502685547,
:x2 870.8257141113281,
:y2 562.6184844970703,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 557.8354339599609,
:x2 0,
:y2 577.9185943603516,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 489.83605194091797,
:y1 564.8388519287109,
:x2 870.7017135620117,
:y2 582.4876861572266,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 573.8344573974609,
:x2 0,
:y2 593.9176177978516,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 489.83605194091797,
:y1 584.7033233642578,
:x2 631.6363754272461,
:y2 602.3521575927734,
:width 952.4415999999999,
:height 1265.3855999999998}),
:page 6},
:content {:text " CustomEntity is the metaclass used by modelers to specify the data entities of the application being developed."},
:properties {:color "blue"}}
{:id #uuid "651bd8db-d3ec-463c-80a6-26ea10859340",
:page 6,
:position {:bounding {:x1 0,
:y1 813.8196411132812,
:x2 870.8295593261719,
:y2 941.0938110351562,
:width 952.4415999999999,
:height 1265.3855999999998},
:rects ({:x1 0,
:y1 813.8196411132812,
:x2 0,
:y2 833.9028015136719,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 829.8186645507812,
:x2 0,
:y2 849.9018249511719,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 845.8176574707031,
:x2 0,
:y2 865.9008178710938,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 508.02690505981445,
:y1 863.718505859375,
:x2 870.7648506164551,
:y2 881.3673400878906,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 489.83605194091797,
:y1 883.7113342285156,
:x2 870.8295593261719,
:y2 901.3601684570312,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 489.83605194091797,
:y1 906.6186828613281,
:x2 870.7286071777344,
:y2 921.8331909179688,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 489.83605194091797,
:y1 923.4449768066406,
:x2 746.9897994995117,
:y2 941.0938110351562,
:width 952.4415999999999,
:height 1265.3855999999998}),
:page 6},
:content {:text "The beContent metamodel provides also a built-in support for RSS (Really Simple Syndication): the metaclass Channel is provided to define RSS channels and for each of them to specify the corresponding data source"},
:properties {:color "blue"}}
{:id #uuid "651bd917-1301-441e-a58f-f541dd639035",
:page 7,
:position {:bounding {:x1 0,
:y1 61.865997314453125,
:x2 462.6781597137451,
:y2 770.5200805664062,
:width 952.4415999999999,
:height 1265.3855999999998},
:rects ({:x1 0,
:y1 61.865997314453125,
:x2 0,
:y2 81.94915771484375,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 77.86502075195312,
:x2 0,
:y2 97.94818115234375,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 93.86404418945312,
:x2 0,
:y2 113.94718933105469,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 109.86305236816406,
:x2 0,
:y2 129.94619750976562,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 0,
:y1 125.862060546875,
:x2 0,
:y2 145.94522094726562,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 280.85937309265137,
:y1 653.1590881347656,
:x2 462.60934257507324,
:y2 670.8079528808594,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.62111854553223,
:y1 676.1900634765625,
:x2 462.5771541595459,
:y2 691.4046020507812,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.62111854553223,
:y1 693.0211181640625,
:x2 462.2100467681885,
:y2 710.6699829101562,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.62111854553223,
:y1 713.0139465332031,
:x2 462.52337074279785,
:y2 730.6627807617188,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.62111854553223,
:y1 732.87841796875,
:x2 462.6781597137451,
:y2 750.5272521972656,
:width 952.4415999999999,
:height 1265.3855999999998}
{:x1 81.62111854553223,
:y1 752.8712158203125,
:x2 228.86398124694824,
:y2 770.5200805664062,
:width 952.4415999999999,
:height 1265.3855999999998}),
:page 7},
:content {:text ". For instance, the metaclass Editor is used to edit the content of textual attributes by means of a rich-text editor. The management of files and images to be uploaded or deleted is completely transparent to the users which can use the specific File, FileToFolder, and Image metaclasses"},
:properties {:color "green"}}
{:id #uuid "651bd96f-dc26-41b5-a988-720a18a1ba15",
:page 7,
:position {:bounding {:x1 0,
:y1 254,
:x2 578.2163696289062,
:y2 1282.7000122070312,
:width 1190.552,
:height 1581.732},
:rects ({:x1 0,
:y1 254,
:x2 0,
:y2 273.5999755859375,
:width 1190.552,
:height 1581.732}
{:x1 0,
:y1 270,
:x2 0,
:y2 289.6000061035156,
:width 1190.552,
:height 1581.732}
{:x1 310.16326904296875,
:y1 1210.875,
:x2 578.1786499023438,
:y2 1232.875,
:width 1190.552,
:height 1581.732}
{:x1 102.02500915527344,
:y1 1239.6625061035156,
:x2 578.2163696289062,
:y2 1258.8625183105469,
:width 1190.552,
:height 1581.732}
{:x1 102.02500915527344,
:y1 1260.7000122070312,
:x2 381.24900817871094,
:y2 1282.7000122070312,
:width 1190.552,
:height 1581.732}),
:page 7},
:content {:text "Handlers consist of a number of Content each related to the entity which contains data to be retrieved and collected together."},
:properties {:color "green"}}
{:id #uuid "651bd97f-285d-487b-9baa-a05091e5cf80",
:page 7,
:position {:bounding {:x1 0,
:y1 350.0000305175781,
:x2 578.1307983398438,
:y2 1432.175048828125,
:width 1190.552,
:height 1581.732},
:rects ({:x1 0,
:y1 350.0000305175781,
:x2 0,
:y2 369.6000061035156,
:width 1190.552,
:height 1581.732}
{:x1 0,
:y1 366.0000305175781,
:x2 0,
:y2 385.6000061035156,
:width 1190.552,
:height 1581.732}
{:x1 365.6559753417969,
:y1 1360.3500366210938,
:x2 578.1307983398438,
:y2 1382.3500366210938,
:width 1190.552,
:height 1581.732}
{:x1 102.02500915527344,
:y1 1385.1875610351562,
:x2 578.0698089599609,
:y2 1407.1875610351562,
:width 1190.552,
:height 1581.732}
{:x1 102.02500915527344,
:y1 1410.175048828125,
:x2 126.35362243652344,
:y2 1432.175048828125,
:width 1190.552,
:height 1581.732}),
:page 7},
:content {:text "they are entities containing graphical directives which are then merged with the retrieved dat"},
:properties {:color "blue"}}
{:id #uuid "651bd9d4-c6f8-4032-8ca1-14833afd091b",
:page 7,
:position {:bounding {:x1 0,
:y1 541.9999847412109,
:x2 1088.4783935546875,
:y2 1137.34375,
:width 1190.552,
:height 1581.732},
:rects ({:x1 0,
:y1 541.9999847412109,
:x2 0,
:y2 561.599983215332,
:width 1190.552,
:height 1581.732}
{:x1 0,
:y1 557.9999847412109,
:x2 0,
:y2 577.599983215332,
:width 1190.552,
:height 1581.732}
{:x1 715.1625366210938,
:y1 1065.5187377929688,
:x2 1088.459716796875,
:y2 1087.5187377929688,
:width 1190.552,
:height 1581.732}
{:x1 612.2937622070312,
:y1 1090.3500061035156,
:x2 1088.4783935546875,
:y2 1112.3500061035156,
:width 1190.552,
:height 1581.732}
{:x1 612.2937622070312,
:y1 1115.34375,
:x2 731.4008178710938,
:y2 1137.34375,
:width 1190.552,
:height 1581.732}),
:page 7},
:content {:text "Employer home page handler is specified to gather data from the Employer entity and publish its content in a Web page."},
:properties {:color "purple"}}
{:id #uuid "651bda36-8d7f-4b3a-b557-2177e1559357",
:page 10,
:position {:bounding {:x1 0,
:y1 114.58125495910645,
:x2 1088.3873291015625,
:y2 689.6000232696533,
:width 1190.552,
:height 1581.732},
:rects ({:x1 1002.2421875,
:y1 114.58125495910645,
:x2 1087.9891357421875,
:y2 136.58125495910645,
:width 1190.552,
:height 1581.732}
{:x1 612.2937622070312,
:y1 139.56875801086426,
:x2 1087.6385498046875,
:y2 161.56875801086426,
:width 1190.552,
:height 1581.732}
{:x1 612.2937622070312,
:y1 164.40625190734863,
:x2 1088.3873291015625,
:y2 186.40625190734863,
:width 1190.552,
:height 1581.732}
{:x1 612.2937622070312,
:y1 189.39375495910645,
:x2 762.8275756835938,
:y2 211.39375495910645,
:width 1190.552,
:height 1581.732}
{:x1 0,
:y1 637.9999866485596,
:x2 0,
:y2 657.6000232696533,
:width 1190.552,
:height 1581.732}
{:x1 0,
:y1 653.9999866485596,
:x2 0,
:y2 673.6000232696533,
:width 1190.552,
:height 1581.732}
{:x1 0,
:y1 669.9999866485596,
:x2 0,
:y2 689.6000232696533,
:width 1190.552,
:height 1581.732}),
:page 10},
:content {:text " Whenever data entry models are modified, new SQL code is generated and the previous implementation of the CRUD operations is simply substituted."},
:properties {:color "green"}}
{:id #uuid "651bda4d-4d42-4e8d-9172-17803ec717e1",
:page 11,
:position {:bounding {:x1 0,
:y1 46,
:x2 273.3519592285156,
:y2 394.83750915527344,
:width 1190.552,
:height 1581.732},
:rects ({:x1 0,
:y1 46,
:x2 0,
:y2 65.60000610351562,
:width 1190.552,
:height 1581.732}
{:x1 0,
:y1 62.00000762939453,
:x2 0,
:y2 81.60000610351562,
:width 1190.552,
:height 1581.732}
{:x1 102.02500915527344,
:y1 336.18125915527344,
:x2 273.3519592285156,
:y2 354.98126220703125,
:width 1190.552,
:height 1581.732}
{:x1 102.02500915527344,
:y1 356.1125183105469,
:x2 261.05084228515625,
:y2 374.9125061035156,
:width 1190.552,
:height 1581.732}
{:x1 102.02500915527344,
:y1 376.0375061035156,
:x2 224.86483764648438,
:y2 394.83750915527344,
:width 1190.552,
:height 1581.732}),
:page 11},
:content {:text "Table 1 Fragment of the change classification of beContent models"},
:properties {:color "green"}}
{:id #uuid "651bda72-16fc-475b-b53b-bc78986e47de",
:page 10,
:position {:bounding {:x1 760.9937744140625,
:y1 264.05625915527344,
:x2 1037.92333984375,
:y2 286.05625915527344,
:width 1190.552,
:height 1581.732},
:rects ({:x1 760.9937744140625,
:y1 264.05625915527344,
:x2 1037.92333984375,
:y2 286.05625915527344,
:width 1190.552,
:height 1581.732}),
:page 10},
:content {:text "additive, subtractive, and updative"},
:properties {:color "purple"}}
{:id #uuid "651bda97-5a45-47ef-a275-2eb0230c3a9d",
:page 10,
:position {:bounding {:x1 639.69384765625,
:y1 637.65625,
:x2 970.1826171875,
:y2 659.65625,
:width 1190.552,
:height 1581.732},
:rects ({:x1 639.69384765625,
:y1 637.65625,
:x2 970.1826171875,
:y2 659.65625,
:width 1190.552,
:height 1581.732}),
:page 10},
:content {:text "(a) keeping the system in a consistent state"},
:properties {:color "green"}}
{:id #uuid "651bda9e-be2f-495a-9d66-4f5951f2da5a",
:page 10,
:position {:bounding {:x1 0,
:y1 637.65625,
:x2 1088.410400390625,
:y2 1009.6000061035156,
:width 1190.552,
:height 1581.732},
:rects ({:x1 1007.7886962890625,
:y1 637.65625,
:x2 1088.410400390625,
:y2 659.65625,
:width 1190.552,
:height 1581.732}
{:x1 612.2937622070312,
:y1 662.6500244140625,
:x2 1088.3714599609375,
:y2 684.6500244140625,
:width 1190.552,
:height 1581.732}
{:x1 612.2937622070312,
:y1 687.4812622070312,
:x2 1040.5384521484375,
:y2 709.4812622070312,
:width 1190.552,
:height 1581.732}
{:x1 0,
:y1 974.0000305175781,
:x2 0,
:y2 993.6000061035156,
:width 1190.552,
:height 1581.732}
{:x1 0,
:y1 990.0000305175781,
:x2 0,
:y2 1009.6000061035156,
:width 1190.552,
:height 1581.732}),
:page 10},
:content {:text " (b) assisting the designer in managing the coupled evolution of certain components by prescribing their possible adaptations."},
:properties {:color "green"}}
{:id #uuid "651bdae4-4bad-4a85-9f79-a21a4365ad85",
:page 10,
:position {:bounding {:x1 762.0437622070312,
:y1 1071.187484741211,
:x2 1100.3533935546875,
:y2 1097.5874938964844,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 762.0437622070312,
:y1 1071.187484741211,
:x2 1100.3533935546875,
:y2 1097.5874938964844,
:width 1428.6624,
:height 1898.0783999999999}),
:page 10},
:content {:text "Adding and removing a data entity,"},
:properties {:color "green"}}
{:id #uuid "651bdb3f-306b-4df4-90c2-e0e85dfd7cb9",
:page 13,
:position {:bounding {:x1 0,
:y1 382.0000061392784,
:x2 882.77197265625,
:y2 1698.3313293457031,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 382.0000061392784,
:x2 0,
:y2 401.60000652074814,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 882.7657470703125,
:y1 1671.9313049316406,
:x2 882.77197265625,
:y2 1698.3313293457031,
:width 1428.6624,
:height 1898.0783999999999}),
:page 13},
:content {:text nil},
:properties {:color "green"}}
{:id #uuid "651bdb62-6b5c-464a-9a30-ca464eef50a9",
:page 10,
:position {:bounding {:x1 0,
:y1 1278.0000457763672,
:x2 1306.139892578125,
:y2 1456.4063110351562,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 1278.0000457763672,
:x2 0,
:y2 1297.6000518798828,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 1199.6761474609375,
:y1 1399.9375610351562,
:x2 1306.139892578125,
:y2 1426.3375549316406,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1429.737548828125,
:x2 1282.23193359375,
:y2 1456.1375427246094,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 919.90625,
:y1 1436.081298828125,
:x2 1017.5438232421875,
:y2 1456.4063110351562,
:width 1428.6624,
:height 1898.0783999999999}),
:page 10},
:content {:text "Fig. 13a by removing the table Picture and consequently all its data"},
:properties {:color "green"}}
{:id #uuid "651bdb93-2850-4774-8102-c3ad65c53219",
:page 10,
:position {:bounding {:x1 762.0437622070312,
:y1 1459.7250671386719,
:x2 1129.5166015625,
:y2 1486.1250610351562,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 762.0437622070312,
:y1 1459.7250671386719,
:x2 1129.5166015625,
:y2 1486.1250610351562,
:width 1428.6624,
:height 1898.0783999999999}),
:page 10},
:content {:text "Changing properties of a data entity,"},
:properties {:color "purple"}}
{:id #uuid "651bdbb0-4c5a-4637-8d9b-77e731898b22",
:page 11,
:position {:bounding {:x1 0,
:y1 510.0000305175781,
:x2 693.7843627929688,
:y2 1313.5875549316406,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 510.0000305175781,
:x2 0,
:y2 529.6000366210938,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 1257.3875427246094,
:x2 693.7843627929688,
:y2 1283.7875366210938,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 255.15625,
:y1 1263.5437927246094,
:x2 316.2124938964844,
:y2 1283.8688049316406,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 1287.1875305175781,
:x2 372.70733642578125,
:y2 1313.5875549316406,
:width 1428.6624,
:height 1898.0783999999999}),
:page 11},
:content {:text "Changing the name of a data entity requires to alter the name of the corresponding table"},
:properties {:color "green"}}
{:id #uuid "651bdbb4-be0b-4bfb-ac60-4970ab79345b",
:page 11,
:position {:bounding {:x1 149.71875,
:y1 1317.1813049316406,
:x2 457.1728515625,
:y2 1343.581298828125,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 149.71875,
:y1 1317.1813049316406,
:x2 457.1728515625,
:y2 1343.581298828125,
:width 1428.6624,
:height 1898.0783999999999}),
:page 11},
:content {:text "Merging or splitting data entities"},
:properties {:color "purple"}}
{:id #uuid "651bdbe3-4eb4-432e-9e85-5937bda208a3",
:page 11,
:position {:bounding {:x1 0,
:y1 686.0000305175781,
:x2 693.88818359375,
:y2 1702.1250610351562,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 686.0000305175781,
:x2 0,
:y2 705.6000366210938,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 702.0000305175781,
:x2 0,
:y2 721.6000366210938,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 718.0000305175781,
:x2 0,
:y2 737.6000366210938,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 513.0672607421875,
:y1 1586.1375427246094,
:x2 693.4882202148438,
:y2 1612.5375671386719,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 1616.1250610351562,
:x2 693.8348846435547,
:y2 1642.5250549316406,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 1645.925048828125,
:x2 693.88818359375,
:y2 1672.3250427246094,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 1675.7250671386719,
:x2 194.79771423339844,
:y2 1702.1250610351562,
:width 1428.6624,
:height 1898.0783999999999}),
:page 11},
:content {:text "This kind of operation requires to split also the stored data and this can be done by considering the value of the attribute type in the existing data set"},
:properties {:color "purple"}}
{:id #uuid "651bdbe9-afb2-4e49-bbf2-09fbfe4fae21",
:page 11,
:position {:bounding {:x1 762.0437622070312,
:y1 1167.7999877929688,
:x2 1088.966064453125,
:y2 1194.1999816894531,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 762.0437622070312,
:y1 1167.7999877929688,
:x2 1088.966064453125,
:y2 1194.1999816894531,
:width 1428.6624,
:height 1898.0783999999999}),
:page 11},
:content {:text "Adding or removing entity fields"},
:properties {:color "purple"}}
{:id #uuid "651bdc06-d72a-4710-b10a-df0151e4e0cd",
:page 11,
:position {:bounding {:x1 0,
:y1 814.0000152587891,
:x2 1306.1434326171875,
:y2 1343.5812683105469,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 814.0000152587891,
:x2 0,
:y2 833.6000213623047,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 823.6500854492188,
:y1 1287.1875305175781,
:x2 1306.1434326171875,
:y2 1313.5875244140625,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1317.1812744140625,
:x2 1044.4361572265625,
:y2 1343.5812683105469,
:width 1428.6624,
:height 1898.0783999999999}),
:page 11},
:content {:text "corresponding table must be altered in order to accommodate the new column."},
:properties {:color "blue"}}
{:id #uuid "651bdc0f-90f0-4332-b239-c0af1b541c34",
:page 11,
:position {:bounding {:x1 0,
:y1 830,
:x2 1306.169921875,
:y2 1403.3687438964844,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 830,
:x2 0,
:y2 849.5999908447266,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 846,
:x2 0,
:y2 865.5999908447266,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 1254.9422607421875,
:y1 1317.1812438964844,
:x2 1306.0946044921875,
:y2 1343.5812683105469,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1346.9812622070312,
:x2 1306.169921875,
:y2 1373.3812561035156,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1376.96875,
:x2 848.2849731445312,
:y2 1403.3687438964844,
:width 1428.6624,
:height 1898.0783999999999}),
:page 11},
:content {:text "mandatory attributes, default values or specific policies have to be provided"},
:properties {:color "blue"}}
{:id #uuid "651bdc14-78f0-42a5-9a1c-fb664f6b4679",
:page 11,
:position {:bounding {:x1 762.0437622070312,
:y1 1406.7687683105469,
:x2 1163.7935791015625,
:y2 1433.1687622070312,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 762.0437622070312,
:y1 1406.7687683105469,
:x2 1163.7935791015625,
:y2 1433.1687622070312,
:width 1428.6624,
:height 1898.0783999999999}),
:page 11},
:content {:text "Changing properties of an entity field,"},
:properties {:color "purple"}}
{:id #uuid "651bdd5f-3ebd-4d69-83fb-8c6796eb6424",
:page 11,
:position {:bounding {:x1 0,
:y1 957.9999694824219,
:x2 1306.2244873046875,
:y2 1672.3249816894531,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 957.9999694824219,
:x2 0,
:y2 977.5999755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 973.9999694824219,
:x2 0,
:y2 993.5999755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 989.9999694824219,
:x2 0,
:y2 1009.5999755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 812.2607421875,
:y1 1556.3374786376953,
:x2 1306.2244873046875,
:y2 1582.7374877929688,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 929.90625,
:y1 1562.4937438964844,
:x2 1112.9749755859375,
:y2 1582.8187255859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1586.1374816894531,
:x2 1306.16015625,
:y2 1612.5374755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1616.1249694824219,
:x2 1306.1746826171875,
:y2 1642.5249938964844,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1645.9249877929688,
:x2 914.0362548828125,
:y2 1672.3249816894531,
:width 1428.6624,
:height 1898.0783999999999}),
:page 11},
:content {:text "Changing a referredEntity from a current entity to a new one, entails to properly alter the corresponding column by changing its type to that of the primary key of the new referred entity"},
:properties {:color "purple"}}
{:id #uuid "651bdd72-8558-4075-9e71-547aa993b865",
:page 12,
:position {:bounding {:x1 149.71875,
:y1 1438.6563415527344,
:x2 457.36700439453125,
:y2 1465.0563354492188,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 149.71875,
:y1 1438.6563415527344,
:x2 457.36700439453125,
:y2 1465.0563354492188,
:width 1428.6624,
:height 1898.0783999999999}),
:page 12},
:content {:text "Adding and removing a handler"},
:properties {:color "purple"}}
{:id #uuid "651bdd79-01ef-4ca2-8700-7a771f4cada2",
:page 12,
:position {:bounding {:x1 762.0437622070312,
:y1 1287.5687561035156,
:x2 1091.5999755859375,
:y2 1313.9687805175781,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 762.0437622070312,
:y1 1287.5687561035156,
:x2 1091.5999755859375,
:y2 1313.9687805175781,
:width 1428.6624,
:height 1898.0783999999999}),
:page 12},
:content {:text "Changing properties of a handle"},
:properties {:color "purple"}}
{:id #uuid "651bdd8d-c5d1-4118-96af-caa5f667ec85",
:page 12,
:position {:bounding {:x1 0,
:y1 206,
:x2 693.798583984375,
:y2 1644.237548828125,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 206,
:x2 0,
:y2 225.60003662109375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 222,
:x2 0,
:y2 241.60003662109375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 181.2308349609375,
:y1 1558.237548828125,
:x2 693.798583984375,
:y2 1584.6375732421875,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 1588.0375366210938,
:x2 693.7637786865234,
:y2 1614.4375610351562,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 1617.8375244140625,
:x2 165.38919067382812,
:y2 1644.237548828125,
:width 1428.6624,
:height 1898.0783999999999}),
:page 12},
:content {:text "Both operations do not require particular adaptations even though handler removals might invalidate the navigation."},
:properties {:color "blue"}}
{:id #uuid "651bddae-4c35-4973-b892-04751844c509",
:page 12,
:position {:bounding {:x1 0,
:y1 413.99993896484375,
:x2 1306.1832275390625,
:y2 1582.9249877929688,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 413.99993896484375,
:x2 0,
:y2 433.5999755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 429.99993896484375,
:x2 0,
:y2 449.5999755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 445.99993896484375,
:x2 0,
:y2 465.5999755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 461.99993896484375,
:x2 0,
:y2 481.5999755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 899.4376831054688,
:y1 1436.9499816894531,
:x2 1306.100341796875,
:y2 1463.3499755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1466.9374694824219,
:x2 1306.142578125,
:y2 1493.3374938964844,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1496.7374877929688,
:x2 1306.1539306640625,
:y2 1523.1374816894531,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1526.7249755859375,
:x2 1306.1832275390625,
:y2 1553.1249694824219,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1556.5249938964844,
:x2 890.9937744140625,
:y2 1582.9249877929688,
:width 1428.6624,
:height 1898.0783999999999}),
:page 12},
:content {:text "Modifying this reference means adding or removing new contents in the handler and might require the template to be consistently adapted, i.e., to include or remove the correct tags which are depending on the data to be presented."},
:properties {:color "blue"}}
{:id #uuid "651bddd7-b57a-419c-9c4c-47e222528b4b",
:page 13,
:position {:bounding {:x1 149.71875,
:y1 1612.1375122070312,
:x2 441.5244140625,
:y2 1638.5374755859375,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 149.71875,
:y1 1612.1375122070312,
:x2 441.5244140625,
:y2 1638.5374755859375,
:width 1428.6624,
:height 1898.0783999999999}),
:page 13},
:content {:text "Adding and removing a content"},
:properties {:color "purple"}}
{:id #uuid "651bddf1-a355-49e7-a136-8f3cdcdc7985",
:page 13,
:position {:bounding {:x1 762.0437622070312,
:y1 1432.7750549316406,
:x2 1100.2650146484375,
:y2 1459.175048828125,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 762.0437622070312,
:y1 1432.7750549316406,
:x2 1100.2650146484375,
:y2 1459.175048828125,
:width 1428.6624,
:height 1898.0783999999999}),
:page 13},
:content {:text "Changing properties of a content,"},
:properties {:color "purple"}}
{:id #uuid "651bde0d-1013-45be-b2c9-84175a64b0b9",
:page 14,
:position {:bounding {:x1 0,
:y1 30,
:x2 693.8193359375,
:y2 1658.6625366210938,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 30,
:x2 0,
:y2 49.60003662109375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 46,
:x2 0,
:y2 65.60003662109375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 149.71875,
:y1 1572.4688110351562,
:x2 693.8193359375,
:y2 1598.8687744140625,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 1602.4625244140625,
:x2 693.7699432373047,
:y2 1628.862548828125,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 1632.2625732421875,
:x2 512.9340667724609,
:y2 1658.6625366210938,
:width 1428.6624,
:height 1898.0783999999999}),
:page 14},
:content {:text "So far, we have described the different ways a beContent model can be modified and discussed the countermeasures necessary to adapt the system accordingly."},
:properties {:color "purple"}}
{:id #uuid "651bde22-fab9-41cf-acf6-c41debe9c54b",
:page 14,
:position {:bounding {:x1 0,
:y1 221.99999713897705,
:x2 1306.0782470703125,
:y2 493.0500030517578,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 221.99999713897705,
:x2 0,
:y2 241.59999561309814,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 999.0740966796875,
:y1 436.8500061035156,
:x2 1306.0782470703125,
:y2 463.25,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 466.6499938964844,
:x2 1065.9417724609375,
:y2 493.0500030517578,
:width 1428.6624,
:height 1898.0783999999999}),
:page 14},
:content {:text "EMF Compare and customizing its matching algorithm with ECL"},
:properties {:color "purple"}}
{:id #uuid "651bde80-fb41-430a-882c-be29ca2cf53a",
:page 14,
:position {:bounding {:x1 0,
:y1 366,
:x2 1306.126953125,
:y2 792,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 366,
:x2 0,
:y2 385.5999984741211,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 382,
:x2 0,
:y2 401.5999984741211,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 1056.254638671875,
:y1 705.8125,
:x2 1306.126953125,
:y2 732.2124938964844,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 735.6062622070312,
:x2 1306.1226806640625,
:y2 762.0062561035156,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 765.6000061035156,
:x2 1235.1107177734375,
:y2 792,
:width 1428.6624,
:height 1898.0783999999999}),
:page 14},
:content {:text "Even though such detected differences are correct from a structural point of view, very likely they do not reflect the intentions of the modeler."},
:properties {:color "blue"}}
{:id #uuid "651bde8f-ca3a-4c76-8d74-236d6f224b48",
:page 14,
:position {:bounding {:x1 0,
:y1 526.0000228881836,
:x2 1306.162109375,
:y2 1090.7562866210938,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 526.0000228881836,
:x2 0,
:y2 545.600025177002,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 542.0000228881836,
:x2 0,
:y2 561.600025177002,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 1068.6312255859375,
:y1 1004.5687866210938,
:x2 1306.162109375,
:y2 1030.9687805175781,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1034.5562744140625,
:x2 1306.1190185546875,
:y2 1060.9562683105469,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1064.3562927246094,
:x2 1255.5975341796875,
:y2 1090.7562866210938,
:width 1428.6624,
:height 1898.0783999999999}),
:page 14},
:content {:text "state-based differencing approaches detect evolutions by comparing two snapshots of application models at selected development times."},
:properties {:color "purple"}}
{:id #uuid "651bdeb2-e581-4b86-8fc4-322cfd69795d",
:page 14,
:position {:bounding {:x1 0,
:y1 782.0000610351562,
:x2 1306.134765625,
:y2 1569.0688018798828,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 782.0000610351562,
:x2 0,
:y2 801.6000366210938,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 798.0000610351562,
:x2 0,
:y2 817.6000366210938,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1482.8813018798828,
:x2 1306.134765625,
:y2 1509.2812957763672,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1512.6813049316406,
:x2 1306.1285400390625,
:y2 1539.081298828125,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1542.6688079833984,
:x2 790.9386596679688,
:y2 1569.0688018798828,
:width 1428.6624,
:height 1898.0783999999999}),
:page 14},
:content {:text "According to this rule, two custom entities match when they are similarly named or when they are involved in a split operation."},
:properties {:color "purple"}}
{:id #uuid "651bdf71-1009-403a-a6af-93823dd2d5cb",
:page 17,
:position {:bounding {:x1 0,
:y1 675.6312713623047,
:x2 1306.19921875,
:y2 1153.6000061035156,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 1280.0423583984375,
:y1 675.6312713623047,
:x2 1306.19921875,
:y2 702.0312805175781,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 705.4312744140625,
:x2 1306.1951904296875,
:y2 731.8312683105469,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 735.4187622070312,
:x2 1306.0806884765625,
:y2 761.8187866210938,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 765.2187805175781,
:x2 832.5015869140625,
:y2 791.6187744140625,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 1102.0000305175781,
:x2 0,
:y2 1121.6000061035156,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 1118.0000305175781,
:x2 0,
:y2 1137.6000061035156,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 1134.0000305175781,
:x2 0,
:y2 1153.6000061035156,
:width 1428.6624,
:height 1898.0783999999999}),
:page 17},
:content {:text " In the following, the generation of the adaptations will be illustrated for both data and graphical templates for the LAMP platform. "},
:properties {:color "purple"}}
{:id #uuid "651be00d-b48b-4368-b6f3-dc5d58c2d445",
:page 17,
:position {:bounding {:x1 0,
:y1 974.7687683105469,
:x2 1306.1302490234375,
:y2 1265.6000366210938,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 734.7562866210938,
:y1 974.7687683105469,
:x2 1306.0980224609375,
:y2 1001.1687622070312,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1004.5687561035156,
:x2 1306.1302490234375,
:y2 1030.9687805175781,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1034.5562744140625,
:x2 1017.4193115234375,
:y2 1060.9562683105469,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 1230.0000305175781,
:x2 0,
:y2 1249.6000366210938,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 1246,
:x2 0,
:y2 1265.6000366210938,
:width 1428.6624,
:height 1898.0783999999999}),
:page 17},
:content {:text "Whenever the structure part of a model is modified, the adaptation must account for the evolution of the schema and the migration of the existing data."},
:properties {:color "purple"}}
{:id #uuid "651be01d-6d6e-465d-bb6c-f0c2f99b37e8",
:page 17,
:position {:bounding {:x1 0,
:y1 1034.5562438964844,
:x2 1306.13037109375,
:y2 1313.5999755859375,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 1121.39208984375,
:y1 1034.5562438964844,
:x2 1304.8271484375,
:y2 1060.9562377929688,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1064.3562316894531,
:x2 1306.13037109375,
:y2 1090.7562561035156,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1094.34375,
:x2 1306.0921630859375,
:y2 1120.7437438964844,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1124.1437377929688,
:x2 937.4207153320312,
:y2 1150.5437316894531,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 1262,
:x2 0,
:y2 1281.6000061035156,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 1278,
:x2 0,
:y2 1297.6000061035156,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 1294,
:x2 0,
:y2 1313.5999755859375,
:width 1428.6624,
:height 1898.0783999999999}),
:page 17},
:content {:text " different SQL queries must be generated to consistently manage this operation according to the data change classification summarized in the upper part of Table 1."},
:properties {:color "green"}}
{:id #uuid "651be156-1ab7-4d4b-bb6c-d1986e5e64af",
:page 17,
:position {:bounding {:x1 0,
:y1 1124.1437377929688,
:x2 1305.7076416015625,
:y2 1345.6000061035156,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 1015.8958740234375,
:y1 1124.1437377929688,
:x2 1305.7076416015625,
:y2 1150.5437316894531,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1154.1374816894531,
:x2 1305.0057373046875,
:y2 1180.5375061035156,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1183.9375,
:x2 1081.5550537109375,
:y2 1210.3374938964844,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 1310,
:x2 0,
:y2 1329.6000061035156,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 1326,
:x2 0,
:y2 1345.6000061035156,
:width 1428.6624,
:height 1898.0783999999999}),
:page 17},
:content {:text "structure model changes imply the generation of SQL queries to update the database schema, and to migrate the already stored data"},
:properties {:color "blue"}}
{:id #uuid "651be199-85aa-4f0a-ab32-ac3460ab4a7f",
:page 17,
:position {:bounding {:x1 0,
:y1 1303.5125122070312,
:x2 1306.1756591796875,
:y2 1473.6000061035156,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 888.2440795898438,
:y1 1303.5125122070312,
:x2 1306.1756591796875,
:y2 1329.9125061035156,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1333.3125,
:x2 1305.212158203125,
:y2 1359.7124938964844,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1363.3000183105469,
:x2 1306.13623046875,
:y2 1389.7000122070312,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1393.1000061035156,
:x2 1306.148681640625,
:y2 1419.5,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 798.3312377929688,
:y1 1399.4500122070312,
:x2 883.7726440429688,
:y2 1419.7749938964844,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 1406,
:x2 0,
:y2 1425.6000061035156,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 1422,
:x2 0,
:y2 1441.6000061035156,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1423.09375,
:x2 1187.8631591796875,
:y2 1449.4937438964844,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 874.1937866210938,
:y1 1429.25,
:x2 1118.2625732421875,
:y2 1449.5750122070312,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 1438,
:x2 0,
:y2 1457.6000061035156,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 1454,
:x2 0,
:y2 1473.6000061035156,
:width 1428.6624,
:height 1898.0783999999999}),
:page 17},
:content {:text " the deletion of data entities is managed by the lines 115 in Listing 3: it produces the SQL queries in the lines 15 in Listing 4 to deal with the deletion of the data entity Picture, as represented in the difference model in Fig. 18 by the DeletedCustomEntity element"},
:properties {:color "green"}}
{:id #uuid "651be1a3-8be0-454a-a7cb-7922e2665c72",
:page 17,
:position {:bounding {:x1 0,
:y1 1482.8812866210938,
:x2 1306.1204833984375,
:y2 1539.0812683105469,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 966.0562744140625,
:y1 1482.8812866210938,
:x2 1306.1204833984375,
:y2 1509.2812805175781,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 1502.0000305175781,
:x2 0,
:y2 1521.6000366210938,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1512.6812744140625,
:x2 1133.6187744140625,
:y2 1539.0812683105469,
:width 1428.6624,
:height 1898.0783999999999}),
:page 17},
:content {:text "employer table since it has a column which refers to tuples of the table picture."},
:properties {:color "green"}}
{:id #uuid "651be216-8e18-4482-b931-b898758a68c3",
:page 18,
:position {:bounding {:x1 0,
:y1 174,
:x2 1306.2440185546875,
:y2 1563.1875,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 174,
:x2 0,
:y2 193.5999755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 190,
:x2 0,
:y2 209.5999755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 206,
:x2 0,
:y2 225.5999755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 222,
:x2 0,
:y2 241.5999755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 762.0437622070312,
:y1 1417.4000091552734,
:x2 1306.2440185546875,
:y2 1443.8000030517578,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1447.1999969482422,
:x2 1306.078369140625,
:y2 1473.6000061035156,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1477,
:x2 1305.6884765625,
:y2 1503.3999938964844,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1506.9875183105469,
:x2 1306.0679931640625,
:y2 1533.3875122070312,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1536.7875061035156,
:x2 1148.4022216796875,
:y2 1563.1875,
:width 1428.6624,
:height 1898.0783999999999}),
:page 18},
:content {:text "The existing queries to retrieve the appropriate data for page contents are generated as relying on the structure model definition in a beContent model. Therefore, whenever the structure concern is manipulated, the corresponding queries are automatically and consistently updated."},
:properties {:color "green"}}
{:id #uuid "651be220-bcd0-4d5b-b47d-38ce8c88c0de",
:page 18,
:position {:bounding {:x1 0,
:y1 269.99993896484375,
:x2 1306.1434326171875,
:y2 1682.7624816894531,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 269.99993896484375,
:x2 0,
:y2 289.5999755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 285.99993896484375,
:x2 0,
:y2 305.5999755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 1203.718994140625,
:y1 1596.5749816894531,
:x2 1306.1396484375,
:y2 1622.9749755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1626.5687255859375,
:x2 1306.1434326171875,
:y2 1652.9687194824219,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1656.3624877929688,
:x2 1077.174072265625,
:y2 1682.7624816894531,
:width 1428.6624,
:height 1898.0783999999999}),
:page 18},
:content {:text "tate-based techniques are adopted as in our case, which required an additional tuning by means of ECL"},
:properties {:color "purple"}}
{:id #uuid "651be23f-80cd-4f9b-a988-3c865bb04055",
:page 19,
:position {:bounding {:x1 0,
:y1 142,
:x2 693.7982635498047,
:y2 1299.9250183105469,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 142,
:x2 0,
:y2 161.5999755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 158,
:x2 0,
:y2 177.5999755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 174,
:x2 0,
:y2 193.5999755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 190,
:x2 0,
:y2 209.5999755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 206,
:x2 0,
:y2 225.5999755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 222,
:x2 0,
:y2 241.5999755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 304.1161193847656,
:y1 1094.34375,
:x2 693.7866821289062,
:y2 1120.7437438964844,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 1124.1437683105469,
:x2 693.7625579833984,
:y2 1150.5437622070312,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 1154.1375122070312,
:x2 693.7982635498047,
:y2 1180.5375061035156,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 1183.9375,
:x2 693.7723846435547,
:y2 1210.3374938964844,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 1213.9250183105469,
:x2 693.6732635498047,
:y2 1240.3250122070312,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 1243.7250061035156,
:x2 693.7949676513672,
:y2 1270.125,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 1273.5249938964844,
:x2 650.6190643310547,
:y2 1299.9250183105469,
:width 1428.6624,
:height 1898.0783999999999}),
:page 19},
:content {:text "Unfortunately, it cannot be as accurate as in the previous case since the adaptation has to be manually performed by the designer. Nevertheless, interesting documents can be generated to describe the kind of operations which the designer might consider during the management of the migration stage, as the fragment in Listing 5 which is directly generated from the difference model in Fig"},
:properties {:color "purple"}}
{:id #uuid "651be2bb-f9dc-425b-9f75-13c127b56a23",
:page 28,
:position {:bounding {:x1 0,
:y1 398,
:x2 1306.1353759765625,
:y2 1502.4500427246094,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 398,
:x2 0,
:y2 417.60003662109375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 414,
:x2 0,
:y2 433.60003662109375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 430,
:x2 0,
:y2 449.60003662109375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 446,
:x2 0,
:y2 465.60003662109375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 876.9086303710938,
:y1 1356.4687805175781,
:x2 1306.1353759765625,
:y2 1382.8687744140625,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1386.4562683105469,
:x2 1306.0771484375,
:y2 1412.8562927246094,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1416.2562866210938,
:x2 1306.1253662109375,
:y2 1442.6562805175781,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1446.2500305175781,
:x2 1306.1082763671875,
:y2 1472.6500244140625,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1476.0500183105469,
:x2 957.0636596679688,
:y2 1502.4500427246094,
:width 1428.6624,
:height 1898.0783999999999}),
:page 28},
:content {:text " In order to keep the system in a valid and consistent state, regenerating it does not suffice because of a variety of aspects which are either subject to customization or are referring to information which has been created after deployment."},
:properties {:color "purple"}}
{:id #uuid "651be2ca-b9b3-4bda-8462-500277326b19",
:page 28,
:position {:bounding {:x1 0,
:y1 493.99993896484375,
:x2 1306.097900390625,
:y2 1622.0249938964844,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 493.99993896484375,
:x2 0,
:y2 513.5999755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 509.99993896484375,
:x2 0,
:y2 529.5999755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 1203.713134765625,
:y1 1535.8374938964844,
:x2 1306.0751953125,
:y2 1562.2374877929688,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1565.8249816894531,
:x2 1306.097900390625,
:y2 1592.2249755859375,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1595.6249694824219,
:x2 1114.6683349609375,
:y2 1622.0249938964844,
:width 1428.6624,
:height 1898.0783999999999}),
:page 28},
:content {:text "from automated tools to prescriptions which can help the designer to consistently evolve the affected assets. "},
:properties {:color "purple"}}
{:id #uuid "651be2d7-0b61-4323-93f9-cf2266144634",
:page 28,
:position {:bounding {:x1 0,
:y1 558.0000610351562,
:x2 1306.0843505859375,
:y2 1711.6188049316406,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 558.0000610351562,
:x2 0,
:y2 577.6000366210938,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 768.61572265625,
:y1 1655.4187927246094,
:x2 1306.0843505859375,
:y2 1681.8188171386719,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 734.7562866210938,
:y1 1685.2188110351562,
:x2 771.9375610351562,
:y2 1711.6188049316406,
:width 1428.6624,
:height 1898.0783999999999}),
:page 28},
:content {:text "differencing, data schema evolution, and coupled evolution"},
:properties {:color "purple"}}
{:id #uuid "651be2e7-505a-46bc-a0bb-8d90068b955e",
:page 29,
:position {:bounding {:x1 0,
:y1 14,
:x2 693.8932495117188,
:y2 253.51251983642578,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 14,
:x2 0,
:y2 33.600006103515625,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 30,
:x2 0,
:y2 49.599998474121094,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 46.00000762939453,
:x2 0,
:y2 65.5999984741211,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 149.71875,
:y1 137.3375015258789,
:x2 693.8932495117188,
:y2 163.73751068115234,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 167.32500457763672,
:x2 693.7593841552734,
:y2 193.72501373291016,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 197.12500762939453,
:x2 693.3744964599609,
:y2 223.5250015258789,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 227.11249542236328,
:x2 380.7509002685547,
:y2 253.51251983642578,
:width 1428.6624,
:height 1898.0783999999999}),
:page 29},
:content {:text "The techniques presented here have been validated using the beContent metamodel which permits the declarative specification of Web applications generated by means of automated transformations."},
:properties {:color "purple"}}
{:id #uuid "651be331-4e19-457e-b4c3-ae2dd0feee58",
:page 29,
:position {:bounding {:x1 0,
:y1 62,
:x2 693.8423309326172,
:y2 373.09375,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 62,
:x2 0,
:y2 81.60000038146973,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 78,
:x2 0,
:y2 97.60000228881836,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 94,
:x2 0,
:y2 113.60000228881836,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 110,
:x2 0,
:y2 129.5999984741211,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 386.6521911621094,
:y1 227.1125030517578,
:x2 693.7257690429688,
:y2 253.5124969482422,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 256.9125061035156,
:x2 693.8174896240234,
:y2 283.3125,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 286.90625,
:x2 693.7648773193359,
:y2 313.30625915527344,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 316.7062683105469,
:x2 693.8423309326172,
:y2 343.10626220703125,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 346.6937561035156,
:x2 405.87596130371094,
:y2 373.09375,
:width 1428.6624,
:height 1898.0783999999999}),
:page 29},
:content {:text "By differencing beContent models, migration routines are obtained through model-to-code transformations whenever exact adaptations were possible, otherwise in order to re-establish the system consistency a migration recipe is proposed"},
:properties {:color "blue"}}
{:id #uuid "651be33c-0252-4f35-83e1-f915d6317853",
:page 29,
:position {:bounding {:x1 0,
:y1 126.0000057220459,
:x2 693.8203735351562,
:y2 462.6812744140625,
:width 1428.6624,
:height 1898.0783999999999},
:rects ({:x1 0,
:y1 126.0000057220459,
:x2 0,
:y2 145.60000610351562,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 142.00000619888306,
:x2 0,
:y2 161.60000658035278,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 0,
:y1 158.00000667572021,
:x2 0,
:y2 177.6000051498413,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 611.7601928710938,
:y1 346.6937561035156,
:x2 693.8203735351562,
:y2 373.09376525878906,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 376.49375915527344,
:x2 693.7648162841797,
:y2 402.8937530517578,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 406.48126220703125,
:x2 693.5048065185547,
:y2 432.8812561035156,
:width 1428.6624,
:height 1898.0783999999999}
{:x1 122.43125915527344,
:y1 436.28125,
:x2 496.48777770996094,
:y2 462.6812744140625,
:width 1428.6624,
:height 1898.0783999999999}),
:page 29},
:content {:text "to better clarify the generality of the proposed technique an outline is provided of the needed steps to implement the same evolution support for WebML-based applications"},
:properties {:color "blue"}}],
:extra {:page 1}}