Commit graph

36 commits

Author SHA1 Message Date
9883e09ac2 merging (meta-)models works (but it's dirty!) 2024-12-03 17:58:03 +01:00
fd91372759 fix bug in matcher 2024-11-25 14:33:33 +01:00
b6a654580c profile cumulative time for all NACs 2024-11-25 13:48:57 +01:00
4fe7e19714 add profiler to give performance insights, seems like matching is usually the bottleneck 2024-11-22 16:25:08 +01:00
ffc07fd83c implement 'topification': adding an abstract 'Top'-class to a class diagram, and making all classes inherit from it 2024-11-22 13:36:45 +01:00
1845c3deb9 Rename matcher modules to make more sense 2024-11-13 11:10:31 +01:00
42757ddc4f add examples 2024-11-13 10:07:16 +01:00
8504ba52f6 RAMify: associations can also have attributes... 2024-11-12 21:54:41 +01:00
6d7a62545c rewriter: first create, then delete 2024-11-12 21:54:23 +01:00
bede501752 fix bug in matcher 2024-11-12 21:53:50 +01:00
e3d4889f91 Handle 'condition' object-attribute in RHS as well 2024-11-08 16:43:26 +01:00
ad3752cd61 Rewrite the 'rewriter' + Added transformation schedule to CBD example, simplifying the rules 2024-11-08 16:27:32 +01:00
80cba4b9f8 CBD model is computing Fibonacci numbers! :) 2024-11-07 15:38:13 +01:00
9c68b288c1 Make OD-API for consistent for constraints, LHS patterns, RHS actions. 2024-11-07 11:05:06 +01:00
1eb8a84553 (WIP) implementing CBD language... Meta-meta-model: Association inherits from Class. Matcher accepts pivot. Add generic graphviz renderer. 2024-11-07 09:46:29 +01: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
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
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
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
ec1a9dbfca replace everywhere: 'is [not] None' -> '(==|!=) None' 2024-09-04 09:50:30 +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
2b22be01ec Object Diagrams: slots work 2024-09-03 14:00:55 +02:00