Namespaces
When using imports and groups to model large hierarchical systems, it is a common pattern to have groups around the entire specification:
group factory:
  group machine1:
    group part1:
      automaton sensor1:
        ...
      end
      automaton actuator1:
        ...
      end
    end
  end
endThe groups around the entire specification lead to additional indentation. As this is a common pattern, the CIF language provides namespaces to reduce the impact of large numbers of top level groups:
namespace factory.machine1.part1;
automaton sensor1:
  ...
end
automaton actuator1:
  ...
endThe factory.machine1.part1 namespace has exactly the same effect as the original three groups. Both specifications can thus be considered identical.