|
13 | 13 | ** Active |
14 | 14 |
|
15 | 15 | #+begin: clocktable :maxlevel 3 :scope subtree :indent nil :emphasize nil :scope file :narrow 75 :formula % |
16 | | -#+CAPTION: Clock summary at [2022-12-29 Thu 19:59] |
| 16 | +#+CAPTION: Clock summary at [2022-12-30 Fri 11:16] |
17 | 17 | | <75> | | | | | |
18 | 18 | | Headline | Time | | | % | |
19 | 19 | |-----------------------------------------------------------+---------+-------+-------+-------| |
20 | | -| *Total time* | *81:50* | | | 100.0 | |
| 20 | +| *Total time* | *82:09* | | | 100.0 | |
21 | 21 | |-----------------------------------------------------------+---------+-------+-------+-------| |
22 | | -| Stories | 81:50 | | | 100.0 | |
23 | | -| Active | | 81:50 | | 100.0 | |
24 | | -| Edit release notes for previous sprint | | | 10:13 | 12.5 | |
| 22 | +| Stories | 82:09 | | | 100.0 | |
| 23 | +| Active | | 82:09 | | 100.0 | |
| 24 | +| Edit release notes for previous sprint | | | 10:13 | 12.4 | |
25 | 25 | | Create a demo and presentation for previous sprint | | | 2:06 | 2.6 | |
26 | 26 | | Update boost to latest in vcpg | | | 0:20 | 0.4 | |
27 | 27 | | Improve diffing output in tests | | | 0:19 | 0.4 | |
28 | | -| Sprint and product backlog grooming | | | 6:10 | 7.5 | |
| 28 | +| Sprint and product backlog grooming | | | 6:29 | 7.9 | |
29 | 29 | | Nightly builds are failing due to missing environment var | | | 1:07 | 1.4 | |
30 | 30 | | Remove deprecated uses of boost bind | | | 0:09 | 0.2 | |
31 | 31 | | Full generation support in tests is incorrect | | | 3:18 | 4.0 | |
|
38 | 38 | | Create a mock configuration builder | | | 1:58 | 2.4 | |
39 | 39 | | Enable CodeQL | | | 0:21 | 0.4 | |
40 | 40 | | Change namespaces note implementation in PlantUML | | | 1:48 | 2.2 | |
41 | | -| Consider using a different layout engine in PlantUML | | | 1:31 | 1.9 | |
| 41 | +| Consider using a different layout engine in PlantUML | | | 1:31 | 1.8 | |
42 | 42 | | Upgrade PlantUML to latest | | | 0:44 | 0.9 | |
43 | 43 | | Code coverage in CDash has disappeared | | | 0:23 | 0.5 | |
44 | 44 | | Investigate nightly issues | | | 0:15 | 0.3 | |
|
53 | 53 | | Windows package is broken | | | 0:20 | 0.4 | |
54 | 54 | | Warning on OSX build | | | 2:23 | 2.9 | |
55 | 55 | | Use clang format to format the code base | | | 0:58 | 1.2 | |
56 | | -| Add PlantUML relationships to diagrams | | | 17:19 | 21.2 | |
57 | | -| Configuration as stereotype causes noise | | | 2:09 | 2.6 | |
| 56 | +| Add PlantUML relationships to diagrams | | | 17:19 | 21.1 | |
58 | 57 | | Update CMakeLists to match latest | | | 0:45 | 0.9 | |
59 | | -| Thoughts on refactoring variability | | | 0:22 | 0.4 | |
| 58 | +| Configuration as stereotype causes noise | | | 2:09 | 2.6 | |
60 | 59 | | Consider using meta-data within codec model | | | 0:29 | 0.6 | |
| 60 | +| Thoughts on refactoring variability | | | 0:22 | 0.4 | |
61 | 61 | #+end: |
62 | 62 |
|
63 | 63 | Agenda: |
@@ -384,6 +384,9 @@ generation overrides the decoration settings. |
384 | 384 |
|
385 | 385 | *** STARTED Sprint and product backlog grooming :story: |
386 | 386 | :LOGBOOK: |
| 387 | + CLOCK: [2022-12-30 Fri 11:10]--[2022-12-30 Fri 11:16] => 0:06 |
| 388 | + CLOCK: [2022-12-29 Thu 20:05]--[2022-12-29 Thu 20:14] => 0:09 |
| 389 | + CLOCK: [2022-12-29 Thu 20:00]--[2022-12-29 Thu 20:04] => 0:04 |
387 | 390 | CLOCK: [2022-12-29 Thu 15:52]--[2022-12-29 Thu 16:03] => 0:11 |
388 | 391 | CLOCK: [2022-12-29 Thu 15:49]--[2022-12-29 Thu 15:51] => 0:02 |
389 | 392 | CLOCK: [2022-12-29 Thu 15:21]--[2022-12-29 Thu 15:36] => 0:15 |
@@ -1757,7 +1760,7 @@ Notes: |
1757 | 1760 |
|
1758 | 1761 | - always enable tests, do not make it optional. |
1759 | 1762 |
|
1760 | | -*** STARTED Ignore vcpkg path length warning :story: |
| 1763 | +*** POSTPONED Ignore vcpkg path length warning :story: |
1761 | 1764 | :LOGBOOK: |
1762 | 1765 | CLOCK: [2022-09-29 Thu 19:45]--[2022-09-29 Thu 19:57] => 0:12 |
1763 | 1766 | :END: |
@@ -1791,7 +1794,7 @@ Links: |
1791 | 1794 | - [[https://learn.microsoft.com/en-gb/windows/win32/fileio/maximum-file-path-limitation?tabs=registry][Maximum Path Length Limitation]] |
1792 | 1795 | - [[https://github.com/actions/runner-images/issues/1052][MAX_PATH lengths on Windows environment #1052]] |
1793 | 1796 |
|
1794 | | -*** STARTED Windows package is broken :story: |
| 1797 | +*** POSTPONED Windows package is broken :story: |
1795 | 1798 | :LOGBOOK: |
1796 | 1799 | CLOCK: [2022-09-20 Tue 08:21]--[2022-09-20 Tue 08:33] => 0:12 |
1797 | 1800 | CLOCK: [2022-09-18 Sun 07:39]--[2022-09-18 Sun 07:47] => 0:08 |
@@ -1828,7 +1831,7 @@ Links: |
1828 | 1831 | - [[https://gitlab.kitware.com/cmake/cmake/-/issues/20228][IRSL should install MSVCP140_CODECVT_IDS.dll]]: CMake versions after 3.16 should |
1829 | 1832 | install this DLL. |
1830 | 1833 |
|
1831 | | -*** STARTED Warning on OSX build :story: |
| 1834 | +*** POSTPONED Warning on OSX build :story: |
1832 | 1835 | :LOGBOOK: |
1833 | 1836 | CLOCK: [2022-09-30 Fri 10:43]--[2022-09-30 Fri 11:00] => 0:17 |
1834 | 1837 | CLOCK: [2022-09-30 Fri 10:30]--[2022-09-30 Fri 10:37] => 0:07 |
@@ -1977,7 +1980,7 @@ Links: |
1977 | 1980 | - [[https://github.com/Microsoft/vcpkg/issues/4497][Boost linker warnings on OSX #4497]] |
1978 | 1981 | - [[https://github.com/boostorg/serialization/issues/265][Strange "direct access" warning on OSX for basic_text_oprimitive #265]] |
1979 | 1982 |
|
1980 | | -*** STARTED Use clang format to format the code base :story: |
| 1983 | +*** POSTPONED Use clang format to format the code base :story: |
1981 | 1984 | :LOGBOOK: |
1982 | 1985 | CLOCK: [2022-10-07 Fri 08:01]--[2022-10-07 Fri 08:49] => 0:48 |
1983 | 1986 | CLOCK: [2022-10-06 Thu 20:11]--[2022-10-06 Thu 20:16] => 0:05 |
@@ -2011,7 +2014,7 @@ Links: |
2011 | 2014 | - [[https://github.com/lballabio/QuantLib/blob/master/.clang-format][quant lib]] clang format. |
2012 | 2015 | - [[https://github.com/OpenSourceRisk/Engine/blob/master/.clang-format][ORE clang format]] |
2013 | 2016 |
|
2014 | | -*** STARTED Add PlantUML relationships to diagrams :story: |
| 2017 | +*** POSTPONED Add PlantUML relationships to diagrams :story: |
2015 | 2018 | :LOGBOOK: |
2016 | 2019 | CLOCK: [2022-11-12 Sat 17:11]--[2022-11-12 Sat 18:40] => 1:29 |
2017 | 2020 | CLOCK: [2022-10-13 Thu 08:00]--[2022-10-13 Thu 08:13] => 0:13 |
@@ -2078,46 +2081,7 @@ Links: |
2078 | 2081 | - [[https://www.augmentedmind.de/2021/01/17/plantuml-layout-tutorial-styles/]["PlantUML layout and styles tutorial"]] |
2079 | 2082 | - [[https://isgb.otago.ac.nz/infosci/mark.george/Wiki/wiki/PlantUML%20GraphViz%20Layout]["PlantUML GraphViz Layout"]] |
2080 | 2083 |
|
2081 | | -*** STARTED Configuration as stereotype causes noise :story: |
2082 | | - :LOGBOOK: |
2083 | | - CLOCK: [2022-11-13 Sun 21:24]--[2022-11-13 Sun 22:44] => 1:20 |
2084 | | - CLOCK: [2022-11-13 Sun 20:58]--[2022-11-13 Sun 21:10] => 0:12 |
2085 | | - CLOCK: [2022-11-13 Sun 20:21]--[2022-11-13 Sun 20:37] => 0:16 |
2086 | | - CLOCK: [2022-11-13 Sun 10:02]--[2022-11-13 Sun 10:23] => 0:21 |
2087 | | - :END: |
2088 | | - |
2089 | | -At present we have very large classes (in terms of width) because they have |
2090 | | -configuration associated with them as stereotypes. This is a particular problem |
2091 | | -in the text model. Nothing stops us from having a separate way of handling |
2092 | | -configuration - for example a different property which is not a stereotype. It |
2093 | | -could be expressed differently in PlantUML - perhaps a separate section as per |
2094 | | -"Advanced class body". We could name the section "Configuration" or "Profiles". |
2095 | | - |
2096 | | -Notes: |
2097 | | - |
2098 | | -- at present we have several different "kinds" of information in the stereotypes |
2099 | | - field: |
2100 | | - - the meta-type (e.g. enumeration, object, etc). This is probably the most in |
2101 | | - keeping with UML's notion of stereotypes. |
2102 | | - - the associated object templates used by the class. |
2103 | | - - the associated configurations. |
2104 | | - |
2105 | | - We could have two fields for each of these (e.g. templates, configurations) |
2106 | | - and then combine them all as stereotypes in logical model. This allows us to |
2107 | | - express them as different groups within PlantUML. |
2108 | | -- we should express =masd::object= in the UML diagrams even though its the |
2109 | | - default. This would make diagrams clearer. |
2110 | | -- we could create a named section for enumerators, fields, etc. |
2111 | | -- we could express the type of an enumeration, if supplied. |
2112 | | -- we could express the type of a primitive, if supplied. |
2113 | | -- meta information could appear in a group called "meta-information". |
2114 | | -- consider using =struct= or =entity= for =masd::object= and =annotation= for |
2115 | | - =masd::object_template=. |
2116 | | -- if class is abstract, use =abstract=. |
2117 | | -- check why feature model is not available on codec to codec transform and see |
2118 | | - how hard it is to get it. |
2119 | | - |
2120 | | -*** STARTED Update CMakeLists to match latest :story: |
| 2084 | +*** POSTPONED Update CMakeLists to match latest :story: |
2121 | 2085 | :LOGBOOK: |
2122 | 2086 | CLOCK: [2022-11-19 Sat 14:59]--[2022-11-19 Sat 15:00] => 0:01 |
2123 | 2087 | CLOCK: [2022-11-19 Sat 14:07]--[2022-11-19 Sat 14:30] => 0:23 |
@@ -2166,6 +2130,64 @@ Notes: |
2166 | 2130 | perspective we do not want to add references recursively. We want instead to |
2167 | 2131 | rely on transitivity. |
2168 | 2132 |
|
| 2133 | +*** STARTED Configuration as stereotype causes noise :story: |
| 2134 | + :LOGBOOK: |
| 2135 | + CLOCK: [2022-11-13 Sun 21:24]--[2022-11-13 Sun 22:44] => 1:20 |
| 2136 | + CLOCK: [2022-11-13 Sun 20:58]--[2022-11-13 Sun 21:10] => 0:12 |
| 2137 | + CLOCK: [2022-11-13 Sun 20:21]--[2022-11-13 Sun 20:37] => 0:16 |
| 2138 | + CLOCK: [2022-11-13 Sun 10:02]--[2022-11-13 Sun 10:23] => 0:21 |
| 2139 | + :END: |
| 2140 | + |
| 2141 | +At present we have very large classes (in terms of width) because they have |
| 2142 | +configuration associated with them as stereotypes. This is a particular problem |
| 2143 | +in the text model. Nothing stops us from having a separate way of handling |
| 2144 | +configuration - for example a different property which is not a stereotype. It |
| 2145 | +could be expressed differently in PlantUML - perhaps a separate section as per |
| 2146 | +"Advanced class body". We could name the section "Configuration" or "Profiles". |
| 2147 | + |
| 2148 | +Notes: |
| 2149 | + |
| 2150 | +- at present we have several different "kinds" of information in the stereotypes |
| 2151 | + field: |
| 2152 | + - the meta-type (e.g. enumeration, object, etc). This is probably the most in |
| 2153 | + keeping with UML's notion of stereotypes. |
| 2154 | + - the associated object templates used by the class. |
| 2155 | + - the associated configurations. |
| 2156 | + |
| 2157 | + We could have two fields for each of these (e.g. templates, configurations) |
| 2158 | + and then combine them all as stereotypes in logical model. This allows us to |
| 2159 | + express them as different groups within PlantUML. |
| 2160 | +- we should express =masd::object= in the UML diagrams even though its the |
| 2161 | + default. This would make diagrams clearer. |
| 2162 | +- we could create a named section for enumerators, fields, etc. |
| 2163 | +- we could express the type of an enumeration, if supplied. |
| 2164 | +- we could express the type of a primitive, if supplied. |
| 2165 | +- meta information could appear in a group called "meta-information". |
| 2166 | +- consider using =struct= or =entity= for =masd::object= and =annotation= for |
| 2167 | + =masd::object_template=. |
| 2168 | +- if class is abstract, use =abstract=. |
| 2169 | +- check why feature model is not available on codec to codec transform and see |
| 2170 | + how hard it is to get it. |
| 2171 | + |
| 2172 | +*** STARTED Consider using meta-data within codec model :story: |
| 2173 | + :LOGBOOK: |
| 2174 | + CLOCK: [2022-11-27 Sun 18:01]--[2022-11-27 Sun 18:30] => 0:29 |
| 2175 | + :END: |
| 2176 | + |
| 2177 | +At present we are hooking directly into the tags within the codec model in order |
| 2178 | +to access meta-data. This is because we only read in profiles etc later on in |
| 2179 | +the transform graph. In fact the problem is somewhat recursive: the fundamental |
| 2180 | +problem is that we did not expect to bootstrap a full context at the codec |
| 2181 | +level; instead we relied on a "minimal context" bootstrapped within the codec |
| 2182 | +model itself, allowing us to run the conversions without needing orchestration. |
| 2183 | +However, this has now proven to be incorrect: we need meta-data in the codec |
| 2184 | +model therefore we should bootstrap a full context before we perform conversion. |
| 2185 | +This requires a fair bit of surgery. |
| 2186 | + |
| 2187 | +Notes: |
| 2188 | + |
| 2189 | +- we need to move the conversion tests back to orchestration. |
| 2190 | + |
2169 | 2191 | *** STARTED Thoughts on refactoring variability :story: |
2170 | 2192 | :LOGBOOK: |
2171 | 2193 | CLOCK: [2022-12-28 Wed 17:51]--[2022-12-28 Wed 18:05] => 0:14 |
@@ -2208,28 +2230,34 @@ model into the codec model. There are two cases: |
2208 | 2230 |
|
2209 | 2231 | Notes: |
2210 | 2232 |
|
2211 | | -- remove all Dia support. Delete frozen. |
2212 | | -- remove all JSON support. |
2213 | | -- update all reference products to use org-mode only. |
| 2233 | +- update the existing workflow for conversion to bootstrap a complete context. |
2214 | 2234 |
|
2215 | | -*** STARTED Consider using meta-data within codec model :story: |
2216 | | - :LOGBOOK: |
2217 | | - CLOCK: [2022-11-27 Sun 18:01]--[2022-11-27 Sun 18:30] => 0:29 |
2218 | | - :END: |
| 2235 | +*** Conversion as code generation :story: |
2219 | 2236 |
|
2220 | | -At present we are hooking directly into the tags within the codec model in order |
2221 | | -to access meta-data. This is because we only read in profiles etc later on in |
2222 | | -the transform graph. In fact the problem is somewhat recursive: the fundamental |
2223 | | -problem is that we did not expect to bootstrap a full context at the codec |
2224 | | -level; instead we relied on a "minimal context" bootstrapped within the codec |
2225 | | -model itself, allowing us to run the conversions without needing orchestration. |
2226 | | -However, this has now proven to be incorrect: we need meta-data in the codec |
2227 | | -model therefore we should bootstrap a full context before we perform conversion. |
2228 | | -This requires a fair bit of surgery. |
| 2237 | +We may have made a modeling error when we created a distinction between |
| 2238 | +"generation" and "conversion". Generation was the full blown code generation of |
| 2239 | +a project and conversion was taking a model file in one representation and |
| 2240 | +writing it as another (/e.g./ Dia to JSON, org to JSON /etc/). That then |
| 2241 | +resulted in a "conversion" workflow inside of codec, which made things strange - |
| 2242 | +it was as if we were duplicating functionality. In reality, conversion is |
| 2243 | +generation, we just modeled it wrong. We should have an entity that represents a |
| 2244 | +PlantUML diagram and another for org-mode documents inside the LPS. When we read |
| 2245 | +in a model, we must use it to generate these entities. We then need to create a |
| 2246 | +template that generates these files. |
2229 | 2247 |
|
2230 | 2248 | Notes: |
2231 | 2249 |
|
2232 | | -- we need to move the conversion tests back to orchestration. |
| 2250 | +- now that we do not need to convert (org files are final) we can probably get |
| 2251 | + rid of the org-to-org conversion. Having said that, it may be useful to |
| 2252 | + regenerate the org file for other purposes. Round-tripping was considered |
| 2253 | + important in the past, but the reasons for it have been lost in the mists of |
| 2254 | + time. Since we do not have a use case for it yet, maybe we should just remove |
| 2255 | + it. |
| 2256 | +- once this is done for PlantUML, the codec model is now clean from all |
| 2257 | + codec-related responsibilities and becomes a true "intermediate |
| 2258 | + representation". |
| 2259 | +- we no longer need the CMake targets to generate PlantUML, two steps to run |
| 2260 | + tests, etc. which seems to imply we are going in the right direction. |
2233 | 2261 |
|
2234 | 2262 | ** Deprecated |
2235 | 2263 | *** CANCELLED Add nightly builds to C# reference product :story: |
|
0 commit comments