Commit graph

181 commits

Author SHA1 Message Date
b38d42b5d0 Fix abstract class check in OD._create_object (wrong MM) 2024-10-21 15:02:34 +02:00
ee790e4a11 Fix parsing primitive types 2024-10-21 15:01:27 +02:00
107f2f750e Associations are like Classes and can also have attributes 2024-10-21 15:00:04 +02:00
cfafbc2efa Fixed multiplicity infinity in class diagrams parser 2024-10-16 09:22:45 +02:00
596abf5cdd Conformance checker: check class-level constraints also on subtypes 2024-10-14 17:00:31 +02:00
4c4edf1963 CD parser: only add ModelRefs for types that don't exist yet 2024-10-09 15:19:54 +02:00
d30844dddd add some comments 2024-10-09 15:11:23 +02:00
52ded8af77 Add concrete syntax for class diagrams + example (woods2.py) 2024-10-09 15:09:16 +02:00
c248fc9090 Fix problems with older versions of Python 2024-10-09 10:32:32 +02:00
7daee41907 fix requirements.txt 2024-10-09 10:03:13 +02:00
8f785db55a add gitignore 2024-10-08 22:36:33 +02:00
17bff66e8e Add conformance checking example 2024-10-08 22:35:47 +02:00
b69efc9af0 Fix bug in conformance checker 2024-10-08 22:34:49 +02:00
e70eae2286 PlantUML: render class cardinalities. Extend constraint checker API. 2024-10-08 21:08:06 +02:00
c351649d23 Add 'cloner'. Example also uses concrete syntax for LHS and RHS. Renders all possible rewrites and morphisms with LHS and RHS. 2024-10-08 12:22:37 +02:00
e875821e70 Concrete syntax no longer indentation-based (nightmare to parse). Add indented multi-line code terminals. 2024-10-07 18:18:05 +02:00
59de61d0a3 Add ActionCode primitive type. Fix constraint checking. 2024-10-07 16:08:23 +02:00
0785b9218e Fix some bugs in conformance checker 2024-10-04 10:50:29 +02:00
03cc568516 Move file. Small fix. 2024-10-04 10:50:16 +02:00
9faa5770a8 (Re)Move some files 2024-10-03 17:19:25 +02:00
175edb64d9 Class diagram can be rendered as object diagram textual syntax, and parsed back, without information loss 2024-10-03 17:01:13 +02:00
f45872d3f7 Abstract away Object Diagram pattern matching in a function that does all the magic 2024-09-13 12:32:12 +02:00
13f19cdec6 Example of rendering the entire match set, and rendering the rewrite (match between RHS and updated host graph) 2024-09-13 12:09:24 +02:00
a926de1998 PlantUML: also render 'matchedWith' traceability links between attributes 2024-09-12 17:10:18 +02:00
264e96c11d Extract function 2024-09-12 15:58:58 +02:00
80beadfe08 PlantUML: Also render 'RAMifies' links between attributes 2024-09-12 15:37:31 +02:00
0bcee87bc1 Extend PlantUML generator with object diagrams and conformance + match links 2024-09-12 15:22:55 +02:00
40552b8dcf Implement PlantUML generation for class diagrams 2024-09-12 12:45:45 +02:00
89b7c83440 Hacked together graph rewriter 2024-09-12 11:04:32 +02:00
f12fd8bd6c Rewriter: deleting elements works 2024-09-11 11:04:44 +02:00
99bcf9a542 MVS adapter: When flattening ModelRefs, prefix the names of all elements in ref'ed models 2024-09-10 13:41:21 +02:00
ae5eaedb4b RAMification + pattern matching: put typing information straight into the Vertices, as a Python attribute (don't put it in separate Vertices+Edges). 2024-09-10 13:18:14 +02:00
700a4d103f and now pattern matching also works with typing information added to the graph 2024-09-06 21:32:03 +02:00
4160a8953e Tweak matcher (compute connected components in advance). Simple pattern matching with RAMification (incl. Python expressions) seems to work. 2024-09-06 21:10:23 +02:00
bed3529676 Add performance comparison between Sten's and Joeri's matcher. Sten's seems to be broken (giving a different match set every time), however. 2024-09-05 11:42:32 +02:00
b4f41cc090 Fix bug in matcher (stopped too early for disconnected patterns) 2024-09-05 10:47:19 +02:00
6752c45cf6 play around with action code in pattern matching 2024-09-04 18:05:26 +02:00
f9049be167 fix bug in matcher 2024-09-04 17:51:45 +02:00
a0ccb3f35d work on my matcher 2024-09-04 17:05:24 +02:00
4b1f61806c ended up rolling my own VF2 variant 2024-09-04 16:47:38 +02:00
ec1a9dbfca replace everywhere: 'is [not] None' -> '(==|!=) None' 2024-09-04 09:50:30 +02:00
3ae35a87d0 pattern matching: convert tabs to spaces 2024-09-04 09:34:26 +02:00
88172d64c5 rename 2024-09-03 19:01:07 +02:00
a7fac15bdc Fix RAMification 2024-09-03 18:59:53 +02:00
7bda71dc1f Implemented RAMification 2024-09-03 18:48:27 +02:00
8be7d6a450 Fix bug 2024-09-03 15:51:27 +02:00
2b22be01ec Object Diagrams: slots work 2024-09-03 14:00:55 +02:00
d2c996f4f7 Turn VF2 matcher into a generator that yields all matches 2024-09-03 12:07:29 +02:00
1320ea29e9 oops 2024-09-03 11:42:32 +02:00
7ece331efb Pattern matching: return all the matches (instead of the first one found) 2024-09-03 11:41:07 +02:00