Advertisement
Guest User

Untitled

a guest
Feb 20th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.81 KB | None | 0 0
  1. modeltype FA uses "http://www.example.org/fireAlarm";
  2. modeltype GVIZ uses "http://www.fujaba.de/graphviz/0.1.0";
  3.  
  4. transformation FireAlarmToGraphViz(in fa:FA, out gv:GVIZ);
  5.  
  6. main() {
  7.  
  8. fa.rootObjects()[FireAlarmInstallation] -> map FireAlarmToGraphViz();
  9.  
  10. }
  11.  
  12.  
  13. mapping FA::FireAlarmInstallation::FireAlarmToGraphViz(): GVIZ::dot::DotGraph{
  14.  
  15. id := self.name;
  16. nodes := self->collect(d | d.domain) -> map DomainToNodes();
  17. edges := self->collect(d | d.domain) -> map CreateEdges();
  18.  
  19. }
  20.  
  21.  
  22. mapping FA::Domain::DomainToNodes(): GVIZ::dot::DotNode{
  23. name := self.name;
  24. }
  25.  
  26. mapping FA::Domain::CreateEdges(): GVIZ::dot::DotEdge{
  27. source := self.resolveoneIn(FA::Domain::DomainToNodes, GVIZ::dot::DotNode);
  28.  
  29. }
  30.  
  31. mapping FA::OperationZones::OperationZonesToNodes(): GVIZ::dot::DotNode{
  32.  
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement