Editor - List of Elements - EditorPane Element - Layer - Input - Name - Hint - SyntaxHint Layer IProtocolReader + getProtocolList() : std::list<string> + getProtocol(identifier : string) : ProtocolModel + setSearchPath(path : string) : void + refresh() YamlProtocolReader XMLProtocolReader JSONProtocolReader ProtocolModel - elements : list<ProtocolElement> StackModel - stack : list<ProtocolModel> ProtocolElement - sizeInBit : int - name : string - description : string - regex : string - nextLayer : bool StackManager + getAvailableProtocolNames() : list<name> + addProtocolToStack(name) : bool + getProtocolModel(name) : ProtocolModel + loadProtocols() + StackCompiler + compile(model : StackModel) : byte[] + compile(pmodel : ProtocolModel) : byte[]