|
12 | 12 | ** Active |
13 | 13 |
|
14 | 14 | #+begin: clocktable :maxlevel 3 :scope subtree :indent nil :emphasize nil :scope file :narrow 75 :formula % |
15 | | -#+CAPTION: Clock summary at [2020-05-02 Sat 22:25] |
| 15 | +#+CAPTION: Clock summary at [2020-05-03 Sun 13:15] |
16 | 16 | | <75> | | | | | |
17 | 17 | | Headline | Time | | | % | |
18 | 18 | |--------------------------------------------------------------+---------+-------+-------+-------| |
19 | | -| *Total time* | *77:44* | | | 100.0 | |
| 19 | +| *Total time* | *81:11* | | | 100.0 | |
20 | 20 | |--------------------------------------------------------------+---------+-------+-------+-------| |
21 | | -| Stories | 77:44 | | | 100.0 | |
22 | | -| Active | | 77:44 | | 100.0 | |
23 | | -| Edit release notes for previous sprint | | | 9:22 | 12.0 | |
| 21 | +| Stories | 81:11 | | | 100.0 | |
| 22 | +| Active | | 81:11 | | 100.0 | |
| 23 | +| Edit release notes for previous sprint | | | 9:22 | 11.5 | |
24 | 24 | | Create a demo and presentation for previous sprint | | | 0:25 | 0.5 | |
25 | | -| Sprint and product backlog grooming | | | 9:33 | 12.3 | |
| 25 | +| Sprint and product backlog grooming | | | 10:11 | 12.5 | |
26 | 26 | | Emacs issues and improvements | | | 1:16 | 1.6 | |
27 | | -| Nightly nursing | | | 3:10 | 4.1 | |
28 | | -| Analysis on implementing enablement in physical model | | | 3:10 | 4.1 | |
29 | | -| Replace artefact properties with artefacts | | | 4:06 | 5.3 | |
30 | | -| Papers: Systems variability modeling | | | 2:55 | 3.8 | |
31 | | -| Papers: A Lightweight MDSD Process Applied in Small Projects | | | 0:54 | 1.2 | |
32 | | -| Throw on unexpected dynamic stereotypes | | | 1:08 | 1.5 | |
| 27 | +| Nightly nursing | | | 3:24 | 4.2 | |
| 28 | +| Analysis on implementing enablement in physical model | | | 3:10 | 3.9 | |
| 29 | +| Replace artefact properties with artefacts | | | 4:06 | 5.1 | |
| 30 | +| Papers: Systems variability modeling | | | 2:55 | 3.6 | |
| 31 | +| Papers: A Lightweight MDSD Process Applied in Small Projects | | | 0:54 | 1.1 | |
| 32 | +| Throw on unexpected dynamic stereotypes | | | 1:08 | 1.4 | |
33 | 33 | | Add model name to tracing dumps | | | 1:35 | 2.0 | |
34 | | -| Primitives are using compiler generated default constructors | | | 0:17 | 0.4 | |
35 | | -| Hello world segfaults | | | 0:55 | 1.2 | |
36 | | -| Move code coverage to CDash | | | 4:53 | 6.3 | |
37 | | -| Add physical entities to logical model | | | 25:30 | 32.8 | |
38 | | -| Create the concept of Text-to-Text transforms | | | 8:35 | 11.0 | |
| 34 | +| Primitives use compiler generated default constructors | | | 0:17 | 0.3 | |
| 35 | +| Hello world segfaults | | | 0:55 | 1.1 | |
| 36 | +| Move code coverage to CDash | | | 4:53 | 6.0 | |
| 37 | +| Rename =m2t= to =text= | | | 0:17 | 0.3 | |
| 38 | +| Add physical entities to logical model | | | 25:30 | 31.4 | |
| 39 | +| Create the concept of Text-to-Text transforms | | | 10:53 | 13.4 | |
39 | 40 | #+TBLFM: $5='(org-clock-time%-mod @3$2 $2..$4);%.1f |
40 | 41 | #+end: |
41 | 42 |
|
@@ -466,6 +467,9 @@ Time spent creating the demo and presentation. |
466 | 467 |
|
467 | 468 | *** STARTED Sprint and product backlog grooming :story: |
468 | 469 | :LOGBOOK: |
| 470 | + CLOCK: [2020-05-03 Sun 13:12]--[2020-05-03 Sun 13:15] => 0:03 |
| 471 | + CLOCK: [2020-05-03 Sun 13:08]--[2020-05-03 Sun 13:11] => 0:03 |
| 472 | + CLOCK: [2020-05-03 Sun 12:35]--[2020-05-03 Sun 13:07] => 0:32 |
469 | 473 | CLOCK: [2020-04-30 Thu 22:22]--[2020-04-30 Thu 22:33] => 0:11 |
470 | 474 | CLOCK: [2020-04-29 Wed 22:31]--[2020-04-29 Wed 22:41] => 0:10 |
471 | 475 | CLOCK: [2020-04-28 Tue 08:36]--[2020-04-28 Tue 08:50] => 0:14 |
@@ -525,6 +529,7 @@ Time spent faffing around with Emacs. |
525 | 529 |
|
526 | 530 | *** STARTED Nightly nursing :story: |
527 | 531 | :LOGBOOK: |
| 532 | + CLOCK: [2020-05-03 Sun 09:42]--[2020-05-03 Sun 09:56] => 0:14 |
528 | 533 | CLOCK: [2020-04-28 Tue 21:45]--[2020-04-28 Tue 21:54] => 0:09 |
529 | 534 | CLOCK: [2020-04-28 Tue 08:29]--[2020-04-28 Tue 08:35] => 0:06 |
530 | 535 | CLOCK: [2020-04-26 Sun 22:35]--[2020-04-26 Sun 22:41] => 0:06 |
@@ -919,7 +924,7 @@ Notes: |
919 | 924 | when we are changing an existing generator, whereby we can no longer |
920 | 925 | generate code because the new state is not valid. |
921 | 926 |
|
922 | | -*** COMPLETED Primitives are using compiler generated default constructors :story: |
| 927 | +*** COMPLETED Primitives use compiler generated default constructors :story: |
923 | 928 | CLOSED: [2020-04-24 Fri 18:51] |
924 | 929 | :LOGBOOK: |
925 | 930 | CLOCK: [2020-04-24 Fri 18:52]--[2020-04-24 Fri 18:55] => 0:03 |
@@ -1078,6 +1083,19 @@ Links: |
1078 | 1083 | - [[https://marco-c.github.io/2018/01/09/code-coverage-with-clang-on-windows.html][How to collect code coverage on Windows with Clang]] |
1079 | 1084 | - |
1080 | 1085 |
|
| 1086 | +*** COMPLETED Rename =m2t= to =text= :story: |
| 1087 | + CLOSED: [2020-05-03 Sun 11:15] |
| 1088 | + :LOGBOOK: |
| 1089 | + CLOCK: [2020-05-03 Sun 10:57]--[2020-05-03 Sun 11:14] => 0:17 |
| 1090 | + :END: |
| 1091 | + |
| 1092 | +With the rise of text-to-text transforms, it became clear that the |
| 1093 | +=m2t= model is not just dealing with model-to-text transforms; it is |
| 1094 | +in effect the border of the textual processing. In the future, when we |
| 1095 | +support cartridges we may add many more text transforms. We should |
| 1096 | +rename the model to =text= to make it consistent with the conceptual |
| 1097 | +model. |
| 1098 | + |
1081 | 1099 | *** STARTED Add physical entities to logical model :story: |
1082 | 1100 | :LOGBOOK: |
1083 | 1101 | CLOCK: [2020-05-02 Sat 22:00]--[2020-05-02 Sat 22:24] => 0:24 |
@@ -1584,6 +1602,9 @@ Notes: |
1584 | 1602 |
|
1585 | 1603 | *** STARTED Create the concept of Text-to-Text transforms :story: |
1586 | 1604 | :LOGBOOK: |
| 1605 | + CLOCK: [2020-05-03 Sun 11:15]--[2020-05-03 Sun 12:34] => 1:51 |
| 1606 | + CLOCK: [2020-05-03 Sun 10:11]--[2020-05-03 Sun 10:57] => 0:46 |
| 1607 | + CLOCK: [2020-05-03 Sun 09:57]--[2020-05-03 Sun 10:10] => 0:13 |
1587 | 1608 | CLOCK: [2020-05-02 Sat 09:15]--[2020-05-02 Sat 09:35] => 0:20 |
1588 | 1609 | CLOCK: [2020-05-01 Fri 13:40]--[2020-05-01 Fri 18:03] => 4:23 |
1589 | 1610 | CLOCK: [2020-05-01 Fri 09:57]--[2020-05-01 Fri 12:12] => 2:15 |
@@ -1651,6 +1672,86 @@ Notes: |
1651 | 1672 | - rename generation context to m2t context. Done. |
1652 | 1673 | - rename stitch formatters to have class implementation on the name. |
1653 | 1674 |
|
| 1675 | +*** Wale templates must be bound to logical archetypes :story: |
| 1676 | + |
| 1677 | +A stitch template may make use of a wale template. At present we are |
| 1678 | +loading these from the file system, thus requiring the |
| 1679 | +locator. However, since we already have the templates in memory, we |
| 1680 | +could model these a bit better. |
| 1681 | + |
| 1682 | +Notes: |
| 1683 | + |
| 1684 | +- we could easily add a wale template meta-data parameter to the |
| 1685 | + logical archetype. The problem is, at this point all we are saying |
| 1686 | + is that there are logical associations between elements. We then |
| 1687 | + need to somehow load up the artefact corresponding to the wale |
| 1688 | + template into the element artefacts of all logical archetypes which |
| 1689 | + refer to that template. We could have a =text= transform that does |
| 1690 | + this. Finally we could add a dependency between the stitch artefact |
| 1691 | + and the wale artefact. However, for this to work, we need to supply |
| 1692 | + the entire =element_artefacts= into the text transform and let the |
| 1693 | + stitch transform locate whatever it needs. |
| 1694 | +- a second problem is that we need to load the wale templates from the |
| 1695 | + file system before we reach the physical model. This could be done |
| 1696 | + as part of the wale template. We already do something similar for |
| 1697 | + stitch; if it exists load it, if not create it. We need a similar |
| 1698 | + logic. |
| 1699 | + |
| 1700 | +*** =templating= should not depend on =physical= :story: |
| 1701 | + |
| 1702 | +For some random reason we implemented the =templating= model in terms |
| 1703 | +of artefacts of the physical model. There is no need for this in the |
| 1704 | +new world, so we should try to decouple these models. Templating |
| 1705 | +should not even know of files; it should receive a string and return a |
| 1706 | +string. |
| 1707 | + |
| 1708 | +*** Extend tracing to M2T transforms :story: |
| 1709 | + |
| 1710 | +There is nothing stopping us from having a context with the tracer, |
| 1711 | +and doing a dump of the artefact before and after a M2T transform. |
| 1712 | + |
| 1713 | +*** Rename "model-to-X" to TLAs :story: |
| 1714 | + |
| 1715 | +Given that model-to-text and text-to-model (to a lesser extent) are |
| 1716 | +well known TLAs in MDE we should make use of these in class names. The |
| 1717 | +names we have at present are very long. The additional size is not |
| 1718 | +providing any benefits. |
| 1719 | + |
| 1720 | +*** Replace initialisers with facet-based initialisation :story: |
| 1721 | + |
| 1722 | +Now that we have facets, archetypes, etc as proper meta-model |
| 1723 | +elements, it is becoming clear that the initialiser is just a facet in |
| 1724 | +disguise. We have enough information to generate all initialisers as |
| 1725 | +part of the code generation of facets and backends. Once we do this, |
| 1726 | +we have reached the point where it is possible to create a new |
| 1727 | +meta-model element and add a formatter for it and code will be |
| 1728 | +automatically generated without any manual intervention. Similarly, |
| 1729 | +deleting formatters will delete all traces of it from the code |
| 1730 | +generator. |
| 1731 | + |
| 1732 | +*** Consider making technical spaces a core concept :story: |
| 1733 | + |
| 1734 | +At present we are trying to instantiate a stitch template. It requires |
| 1735 | +knowing the technical space that the original archetype belongs to so |
| 1736 | +that we can locate the appropriate decoration. However, because we are |
| 1737 | +in the text model and the archetype is a physical concept, we have no |
| 1738 | +way of knowing what the original TS was for a given archetype. We |
| 1739 | +could of course locate the associated M2T transform etc - but this |
| 1740 | +perhaps hints at a bigger problem with the conceptual model: technical |
| 1741 | +spaces are much more of a pervasive concept than just logical model: |
| 1742 | + |
| 1743 | +- injectors belong to technical spaces. |
| 1744 | +- logical model entities belong to technical spaces. |
| 1745 | +- text transforms belong to technical spaces. |
| 1746 | +- physical model entities such as archetypes and artefacts belong to |
| 1747 | + technical spaces. |
| 1748 | + |
| 1749 | +It would be nice if we could have this modeled correctly, in some kind |
| 1750 | +of shared model. At present, the only model which does this is |
| 1751 | +=variability= but it does not make a lot of sense to put TS' |
| 1752 | +there. Perhaps we should wait until we have enough entities to see |
| 1753 | +what the name of this "core" model should be. |
| 1754 | + |
1654 | 1755 | *** Inject backend, facets and archetypes into PMM :story: |
1655 | 1756 |
|
1656 | 1757 | At present we only have artefacts in the PMM. We need to inject all |
|
0 commit comments