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
end

The 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:
  ...
end

The factory.machine1.part1 namespace has exactly the same effect as the original three groups. Both specifications can thus be considered identical.