diff --git a/src/slice/ietf-network-slice-service_2022-07-11.yang b/src/slice/_docs/ietf-network-slice-service_2022-07-11.yang
similarity index 100%
rename from src/slice/ietf-network-slice-service_2022-07-11.yang
rename to src/slice/_docs/ietf-network-slice-service_2022-07-11.yang
diff --git a/src/slice/genproto.sh b/src/slice/genproto.sh
deleted file mode 100755
index b2e38b43aebc6560ac24981ed738469efbffc001..0000000000000000000000000000000000000000
--- a/src/slice/genproto.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash -eu
-#
-# Copyright 2018 Google LLC
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-#!/bin/bash -e
-
-# Make folder containing the script the root folder for its execution
-cd $(dirname $0)
-
-rm -rf proto/*.py
-rm -rf proto/__pycache__
-touch proto/__init__.py
-
-python -m grpc_tools.protoc -I../../proto --python_out=proto --grpc_python_out=proto context.proto
-python -m grpc_tools.protoc -I../../proto --python_out=proto --grpc_python_out=proto service.proto
-python -m grpc_tools.protoc -I../../proto --python_out=proto --grpc_python_out=proto slice.proto
-
-rm proto/context_pb2_grpc.py
-rm proto/service_pb2_grpc.py
-
-sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' proto/context_pb2.py
-sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' proto/service_pb2.py
-sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' proto/slice_pb2.py
-sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' proto/slice_pb2_grpc.py
diff --git a/src/slice/proto/__init__.py b/src/slice/proto/__init__.py
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/slice/proto/context_pb2.py b/src/slice/proto/context_pb2.py
deleted file mode 100644
index a41b1de47f4df97a6e90b42a02fab7556feafd34..0000000000000000000000000000000000000000
--- a/src/slice/proto/context_pb2.py
+++ /dev/null
@@ -1,880 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# source: context.proto
-"""Generated protocol buffer code."""
-from google.protobuf.internal import enum_type_wrapper
-from google.protobuf import descriptor as _descriptor
-from google.protobuf import message as _message
-from google.protobuf import reflection as _reflection
-from google.protobuf import symbol_database as _symbol_database
-# @@protoc_insertion_point(imports)
-
-_sym_db = _symbol_database.Default()
-
-
-
-
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='context.proto',
-  package='context',
-  syntax='proto3',
-  serialized_options=None,
-  create_key=_descriptor._internal_create_key,
-  serialized_pb=b'\n\rcontext.proto\x12\x07\x63ontext\"\x07\n\x05\x45mpty\"{\n\x07\x43ontext\x12%\n\tcontextId\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12\x1f\n\x04topo\x18\x02 \x01(\x0b\x32\x11.context.Topology\x12(\n\x03\x63tl\x18\x03 \x01(\x0b\x32\x1b.context.TeraFlowController\"/\n\tContextId\x12\"\n\x0b\x63ontextUuid\x18\x01 \x01(\x0b\x32\r.context.Uuid\"m\n\x08Topology\x12#\n\x06topoId\x18\x02 \x01(\x0b\x32\x13.context.TopologyId\x12\x1f\n\x06\x64\x65vice\x18\x03 \x03(\x0b\x32\x0f.context.Device\x12\x1b\n\x04link\x18\x04 \x03(\x0b\x32\r.context.Link\"S\n\x04Link\x12 \n\x07link_id\x18\x01 \x01(\x0b\x32\x0f.context.LinkId\x12)\n\x0c\x65ndpointList\x18\x02 \x03(\x0b\x32\x13.context.EndPointId\"R\n\nTopologyId\x12%\n\tcontextId\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12\x1d\n\x06topoId\x18\x02 \x01(\x0b\x32\r.context.Uuid\"?\n\nConstraint\x12\x17\n\x0f\x63onstraint_type\x18\x01 \x01(\t\x12\x18\n\x10\x63onstraint_value\x18\x02 \x01(\t\"\xda\x01\n\x06\x44\x65vice\x12$\n\tdevice_id\x18\x01 \x01(\x0b\x32\x11.context.DeviceId\x12\x13\n\x0b\x64\x65vice_type\x18\x02 \x01(\t\x12,\n\rdevice_config\x18\x03 \x01(\x0b\x32\x15.context.DeviceConfig\x12>\n\x14\x64\x65vOperationalStatus\x18\x04 \x01(\x0e\x32 .context.DeviceOperationalStatus\x12\'\n\x0c\x65ndpointList\x18\x05 \x03(\x0b\x32\x11.context.EndPoint\"%\n\x0c\x44\x65viceConfig\x12\x15\n\rdevice_config\x18\x01 \x01(\t\"C\n\x08\x45ndPoint\x12$\n\x07port_id\x18\x01 \x01(\x0b\x32\x13.context.EndPointId\x12\x11\n\tport_type\x18\x02 \x01(\t\"t\n\nEndPointId\x12#\n\x06topoId\x18\x01 \x01(\x0b\x32\x13.context.TopologyId\x12!\n\x06\x64\x65v_id\x18\x02 \x01(\x0b\x32\x11.context.DeviceId\x12\x1e\n\x07port_id\x18\x03 \x01(\x0b\x32\r.context.Uuid\",\n\x08\x44\x65viceId\x12 \n\tdevice_id\x18\x01 \x01(\x0b\x32\r.context.Uuid\"(\n\x06LinkId\x12\x1e\n\x07link_id\x18\x01 \x01(\x0b\x32\r.context.Uuid\"\x14\n\x04Uuid\x12\x0c\n\x04uuid\x18\x01 \x01(\t\"K\n\x12TeraFlowController\x12\"\n\x06\x63tl_id\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12\x11\n\tipaddress\x18\x02 \x01(\t\"Q\n\x14\x41uthenticationResult\x12\"\n\x06\x63tl_id\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12\x15\n\rauthenticated\x18\x02 \x01(\x08*N\n\x17\x44\x65viceOperationalStatus\x12\x0f\n\x0bKEEP_STATUS\x10\x00\x12\x15\n\x08\x44ISABLED\x10\xff\xff\xff\xff\xff\xff\xff\xff\xff\x01\x12\x0b\n\x07\x45NABLED\x10\x01\x32\xa2\x01\n\x0e\x43ontextService\x12\x32\n\x0bGetTopology\x12\x0e.context.Empty\x1a\x11.context.Topology\"\x00\x12+\n\x07\x41\x64\x64Link\x12\r.context.Link\x1a\x0f.context.LinkId\"\x00\x12/\n\nDeleteLink\x12\x0f.context.LinkId\x1a\x0e.context.Empty\"\x00\x62\x06proto3'
-)
-
-_DEVICEOPERATIONALSTATUS = _descriptor.EnumDescriptor(
-  name='DeviceOperationalStatus',
-  full_name='context.DeviceOperationalStatus',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='KEEP_STATUS', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DISABLED', index=1, number=-1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='ENABLED', index=2, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=1271,
-  serialized_end=1349,
-)
-_sym_db.RegisterEnumDescriptor(_DEVICEOPERATIONALSTATUS)
-
-DeviceOperationalStatus = enum_type_wrapper.EnumTypeWrapper(_DEVICEOPERATIONALSTATUS)
-KEEP_STATUS = 0
-DISABLED = -1
-ENABLED = 1
-
-
-
-_EMPTY = _descriptor.Descriptor(
-  name='Empty',
-  full_name='context.Empty',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=26,
-  serialized_end=33,
-)
-
-
-_CONTEXT = _descriptor.Descriptor(
-  name='Context',
-  full_name='context.Context',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='contextId', full_name='context.Context.contextId', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='topo', full_name='context.Context.topo', index=1,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='ctl', full_name='context.Context.ctl', index=2,
-      number=3, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=35,
-  serialized_end=158,
-)
-
-
-_CONTEXTID = _descriptor.Descriptor(
-  name='ContextId',
-  full_name='context.ContextId',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='contextUuid', full_name='context.ContextId.contextUuid', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=160,
-  serialized_end=207,
-)
-
-
-_TOPOLOGY = _descriptor.Descriptor(
-  name='Topology',
-  full_name='context.Topology',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='topoId', full_name='context.Topology.topoId', index=0,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='device', full_name='context.Topology.device', index=1,
-      number=3, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='link', full_name='context.Topology.link', index=2,
-      number=4, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=209,
-  serialized_end=318,
-)
-
-
-_LINK = _descriptor.Descriptor(
-  name='Link',
-  full_name='context.Link',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='link_id', full_name='context.Link.link_id', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='endpointList', full_name='context.Link.endpointList', index=1,
-      number=2, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=320,
-  serialized_end=403,
-)
-
-
-_TOPOLOGYID = _descriptor.Descriptor(
-  name='TopologyId',
-  full_name='context.TopologyId',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='contextId', full_name='context.TopologyId.contextId', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='topoId', full_name='context.TopologyId.topoId', index=1,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=405,
-  serialized_end=487,
-)
-
-
-_CONSTRAINT = _descriptor.Descriptor(
-  name='Constraint',
-  full_name='context.Constraint',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='constraint_type', full_name='context.Constraint.constraint_type', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='constraint_value', full_name='context.Constraint.constraint_value', index=1,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=489,
-  serialized_end=552,
-)
-
-
-_DEVICE = _descriptor.Descriptor(
-  name='Device',
-  full_name='context.Device',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='device_id', full_name='context.Device.device_id', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='device_type', full_name='context.Device.device_type', index=1,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='device_config', full_name='context.Device.device_config', index=2,
-      number=3, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='devOperationalStatus', full_name='context.Device.devOperationalStatus', index=3,
-      number=4, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='endpointList', full_name='context.Device.endpointList', index=4,
-      number=5, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=555,
-  serialized_end=773,
-)
-
-
-_DEVICECONFIG = _descriptor.Descriptor(
-  name='DeviceConfig',
-  full_name='context.DeviceConfig',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='device_config', full_name='context.DeviceConfig.device_config', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=775,
-  serialized_end=812,
-)
-
-
-_ENDPOINT = _descriptor.Descriptor(
-  name='EndPoint',
-  full_name='context.EndPoint',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='port_id', full_name='context.EndPoint.port_id', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='port_type', full_name='context.EndPoint.port_type', index=1,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=814,
-  serialized_end=881,
-)
-
-
-_ENDPOINTID = _descriptor.Descriptor(
-  name='EndPointId',
-  full_name='context.EndPointId',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='topoId', full_name='context.EndPointId.topoId', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='dev_id', full_name='context.EndPointId.dev_id', index=1,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='port_id', full_name='context.EndPointId.port_id', index=2,
-      number=3, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=883,
-  serialized_end=999,
-)
-
-
-_DEVICEID = _descriptor.Descriptor(
-  name='DeviceId',
-  full_name='context.DeviceId',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='device_id', full_name='context.DeviceId.device_id', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1001,
-  serialized_end=1045,
-)
-
-
-_LINKID = _descriptor.Descriptor(
-  name='LinkId',
-  full_name='context.LinkId',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='link_id', full_name='context.LinkId.link_id', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1047,
-  serialized_end=1087,
-)
-
-
-_UUID = _descriptor.Descriptor(
-  name='Uuid',
-  full_name='context.Uuid',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='uuid', full_name='context.Uuid.uuid', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1089,
-  serialized_end=1109,
-)
-
-
-_TERAFLOWCONTROLLER = _descriptor.Descriptor(
-  name='TeraFlowController',
-  full_name='context.TeraFlowController',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='ctl_id', full_name='context.TeraFlowController.ctl_id', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='ipaddress', full_name='context.TeraFlowController.ipaddress', index=1,
-      number=2, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1111,
-  serialized_end=1186,
-)
-
-
-_AUTHENTICATIONRESULT = _descriptor.Descriptor(
-  name='AuthenticationResult',
-  full_name='context.AuthenticationResult',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='ctl_id', full_name='context.AuthenticationResult.ctl_id', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='authenticated', full_name='context.AuthenticationResult.authenticated', index=1,
-      number=2, type=8, cpp_type=7, label=1,
-      has_default_value=False, default_value=False,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=1188,
-  serialized_end=1269,
-)
-
-_CONTEXT.fields_by_name['contextId'].message_type = _CONTEXTID
-_CONTEXT.fields_by_name['topo'].message_type = _TOPOLOGY
-_CONTEXT.fields_by_name['ctl'].message_type = _TERAFLOWCONTROLLER
-_CONTEXTID.fields_by_name['contextUuid'].message_type = _UUID
-_TOPOLOGY.fields_by_name['topoId'].message_type = _TOPOLOGYID
-_TOPOLOGY.fields_by_name['device'].message_type = _DEVICE
-_TOPOLOGY.fields_by_name['link'].message_type = _LINK
-_LINK.fields_by_name['link_id'].message_type = _LINKID
-_LINK.fields_by_name['endpointList'].message_type = _ENDPOINTID
-_TOPOLOGYID.fields_by_name['contextId'].message_type = _CONTEXTID
-_TOPOLOGYID.fields_by_name['topoId'].message_type = _UUID
-_DEVICE.fields_by_name['device_id'].message_type = _DEVICEID
-_DEVICE.fields_by_name['device_config'].message_type = _DEVICECONFIG
-_DEVICE.fields_by_name['devOperationalStatus'].enum_type = _DEVICEOPERATIONALSTATUS
-_DEVICE.fields_by_name['endpointList'].message_type = _ENDPOINT
-_ENDPOINT.fields_by_name['port_id'].message_type = _ENDPOINTID
-_ENDPOINTID.fields_by_name['topoId'].message_type = _TOPOLOGYID
-_ENDPOINTID.fields_by_name['dev_id'].message_type = _DEVICEID
-_ENDPOINTID.fields_by_name['port_id'].message_type = _UUID
-_DEVICEID.fields_by_name['device_id'].message_type = _UUID
-_LINKID.fields_by_name['link_id'].message_type = _UUID
-_TERAFLOWCONTROLLER.fields_by_name['ctl_id'].message_type = _CONTEXTID
-_AUTHENTICATIONRESULT.fields_by_name['ctl_id'].message_type = _CONTEXTID
-DESCRIPTOR.message_types_by_name['Empty'] = _EMPTY
-DESCRIPTOR.message_types_by_name['Context'] = _CONTEXT
-DESCRIPTOR.message_types_by_name['ContextId'] = _CONTEXTID
-DESCRIPTOR.message_types_by_name['Topology'] = _TOPOLOGY
-DESCRIPTOR.message_types_by_name['Link'] = _LINK
-DESCRIPTOR.message_types_by_name['TopologyId'] = _TOPOLOGYID
-DESCRIPTOR.message_types_by_name['Constraint'] = _CONSTRAINT
-DESCRIPTOR.message_types_by_name['Device'] = _DEVICE
-DESCRIPTOR.message_types_by_name['DeviceConfig'] = _DEVICECONFIG
-DESCRIPTOR.message_types_by_name['EndPoint'] = _ENDPOINT
-DESCRIPTOR.message_types_by_name['EndPointId'] = _ENDPOINTID
-DESCRIPTOR.message_types_by_name['DeviceId'] = _DEVICEID
-DESCRIPTOR.message_types_by_name['LinkId'] = _LINKID
-DESCRIPTOR.message_types_by_name['Uuid'] = _UUID
-DESCRIPTOR.message_types_by_name['TeraFlowController'] = _TERAFLOWCONTROLLER
-DESCRIPTOR.message_types_by_name['AuthenticationResult'] = _AUTHENTICATIONRESULT
-DESCRIPTOR.enum_types_by_name['DeviceOperationalStatus'] = _DEVICEOPERATIONALSTATUS
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-Empty = _reflection.GeneratedProtocolMessageType('Empty', (_message.Message,), {
-  'DESCRIPTOR' : _EMPTY,
-  '__module__' : 'context_pb2'
-  # @@protoc_insertion_point(class_scope:context.Empty)
-  })
-_sym_db.RegisterMessage(Empty)
-
-Context = _reflection.GeneratedProtocolMessageType('Context', (_message.Message,), {
-  'DESCRIPTOR' : _CONTEXT,
-  '__module__' : 'context_pb2'
-  # @@protoc_insertion_point(class_scope:context.Context)
-  })
-_sym_db.RegisterMessage(Context)
-
-ContextId = _reflection.GeneratedProtocolMessageType('ContextId', (_message.Message,), {
-  'DESCRIPTOR' : _CONTEXTID,
-  '__module__' : 'context_pb2'
-  # @@protoc_insertion_point(class_scope:context.ContextId)
-  })
-_sym_db.RegisterMessage(ContextId)
-
-Topology = _reflection.GeneratedProtocolMessageType('Topology', (_message.Message,), {
-  'DESCRIPTOR' : _TOPOLOGY,
-  '__module__' : 'context_pb2'
-  # @@protoc_insertion_point(class_scope:context.Topology)
-  })
-_sym_db.RegisterMessage(Topology)
-
-Link = _reflection.GeneratedProtocolMessageType('Link', (_message.Message,), {
-  'DESCRIPTOR' : _LINK,
-  '__module__' : 'context_pb2'
-  # @@protoc_insertion_point(class_scope:context.Link)
-  })
-_sym_db.RegisterMessage(Link)
-
-TopologyId = _reflection.GeneratedProtocolMessageType('TopologyId', (_message.Message,), {
-  'DESCRIPTOR' : _TOPOLOGYID,
-  '__module__' : 'context_pb2'
-  # @@protoc_insertion_point(class_scope:context.TopologyId)
-  })
-_sym_db.RegisterMessage(TopologyId)
-
-Constraint = _reflection.GeneratedProtocolMessageType('Constraint', (_message.Message,), {
-  'DESCRIPTOR' : _CONSTRAINT,
-  '__module__' : 'context_pb2'
-  # @@protoc_insertion_point(class_scope:context.Constraint)
-  })
-_sym_db.RegisterMessage(Constraint)
-
-Device = _reflection.GeneratedProtocolMessageType('Device', (_message.Message,), {
-  'DESCRIPTOR' : _DEVICE,
-  '__module__' : 'context_pb2'
-  # @@protoc_insertion_point(class_scope:context.Device)
-  })
-_sym_db.RegisterMessage(Device)
-
-DeviceConfig = _reflection.GeneratedProtocolMessageType('DeviceConfig', (_message.Message,), {
-  'DESCRIPTOR' : _DEVICECONFIG,
-  '__module__' : 'context_pb2'
-  # @@protoc_insertion_point(class_scope:context.DeviceConfig)
-  })
-_sym_db.RegisterMessage(DeviceConfig)
-
-EndPoint = _reflection.GeneratedProtocolMessageType('EndPoint', (_message.Message,), {
-  'DESCRIPTOR' : _ENDPOINT,
-  '__module__' : 'context_pb2'
-  # @@protoc_insertion_point(class_scope:context.EndPoint)
-  })
-_sym_db.RegisterMessage(EndPoint)
-
-EndPointId = _reflection.GeneratedProtocolMessageType('EndPointId', (_message.Message,), {
-  'DESCRIPTOR' : _ENDPOINTID,
-  '__module__' : 'context_pb2'
-  # @@protoc_insertion_point(class_scope:context.EndPointId)
-  })
-_sym_db.RegisterMessage(EndPointId)
-
-DeviceId = _reflection.GeneratedProtocolMessageType('DeviceId', (_message.Message,), {
-  'DESCRIPTOR' : _DEVICEID,
-  '__module__' : 'context_pb2'
-  # @@protoc_insertion_point(class_scope:context.DeviceId)
-  })
-_sym_db.RegisterMessage(DeviceId)
-
-LinkId = _reflection.GeneratedProtocolMessageType('LinkId', (_message.Message,), {
-  'DESCRIPTOR' : _LINKID,
-  '__module__' : 'context_pb2'
-  # @@protoc_insertion_point(class_scope:context.LinkId)
-  })
-_sym_db.RegisterMessage(LinkId)
-
-Uuid = _reflection.GeneratedProtocolMessageType('Uuid', (_message.Message,), {
-  'DESCRIPTOR' : _UUID,
-  '__module__' : 'context_pb2'
-  # @@protoc_insertion_point(class_scope:context.Uuid)
-  })
-_sym_db.RegisterMessage(Uuid)
-
-TeraFlowController = _reflection.GeneratedProtocolMessageType('TeraFlowController', (_message.Message,), {
-  'DESCRIPTOR' : _TERAFLOWCONTROLLER,
-  '__module__' : 'context_pb2'
-  # @@protoc_insertion_point(class_scope:context.TeraFlowController)
-  })
-_sym_db.RegisterMessage(TeraFlowController)
-
-AuthenticationResult = _reflection.GeneratedProtocolMessageType('AuthenticationResult', (_message.Message,), {
-  'DESCRIPTOR' : _AUTHENTICATIONRESULT,
-  '__module__' : 'context_pb2'
-  # @@protoc_insertion_point(class_scope:context.AuthenticationResult)
-  })
-_sym_db.RegisterMessage(AuthenticationResult)
-
-
-
-_CONTEXTSERVICE = _descriptor.ServiceDescriptor(
-  name='ContextService',
-  full_name='context.ContextService',
-  file=DESCRIPTOR,
-  index=0,
-  serialized_options=None,
-  create_key=_descriptor._internal_create_key,
-  serialized_start=1352,
-  serialized_end=1514,
-  methods=[
-  _descriptor.MethodDescriptor(
-    name='GetTopology',
-    full_name='context.ContextService.GetTopology',
-    index=0,
-    containing_service=None,
-    input_type=_EMPTY,
-    output_type=_TOPOLOGY,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='AddLink',
-    full_name='context.ContextService.AddLink',
-    index=1,
-    containing_service=None,
-    input_type=_LINK,
-    output_type=_LINKID,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='DeleteLink',
-    full_name='context.ContextService.DeleteLink',
-    index=2,
-    containing_service=None,
-    input_type=_LINKID,
-    output_type=_EMPTY,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-])
-_sym_db.RegisterServiceDescriptor(_CONTEXTSERVICE)
-
-DESCRIPTOR.services_by_name['ContextService'] = _CONTEXTSERVICE
-
-# @@protoc_insertion_point(module_scope)
diff --git a/src/slice/proto/service_pb2.py b/src/slice/proto/service_pb2.py
deleted file mode 100644
index ed248a038c6f6550994ebb204cbb4f626292c65c..0000000000000000000000000000000000000000
--- a/src/slice/proto/service_pb2.py
+++ /dev/null
@@ -1,617 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# source: service.proto
-"""Generated protocol buffer code."""
-from google.protobuf.internal import enum_type_wrapper
-from google.protobuf import descriptor as _descriptor
-from google.protobuf import message as _message
-from google.protobuf import reflection as _reflection
-from google.protobuf import symbol_database as _symbol_database
-# @@protoc_insertion_point(imports)
-
-_sym_db = _symbol_database.Default()
-
-
-from . import context_pb2 as context__pb2
-
-
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='service.proto',
-  package='service',
-  syntax='proto3',
-  serialized_options=None,
-  create_key=_descriptor._internal_create_key,
-  serialized_pb=b'\n\rservice.proto\x12\x07service\x1a\rcontext.proto\"+\n\x0bServiceList\x12\x1c\n\x02\x63s\x18\x01 \x03(\x0b\x32\x10.service.Service\"\x87\x02\n\x07Service\x12!\n\x05\x63s_id\x18\x01 \x01(\x0b\x32\x12.service.ServiceId\x12)\n\x0bserviceType\x18\x02 \x01(\x0e\x32\x14.service.ServiceType\x12)\n\x0c\x65ndpointList\x18\x03 \x03(\x0b\x32\x13.context.EndPointId\x12\'\n\nconstraint\x18\x04 \x03(\x0b\x32\x13.context.Constraint\x12+\n\x0cserviceState\x18\x05 \x01(\x0b\x32\x15.service.ServiceState\x12-\n\rserviceConfig\x18\x06 \x01(\x0b\x32\x16.service.ServiceConfig\"&\n\rServiceConfig\x12\x15\n\rserviceConfig\x18\x01 \x01(\t\"P\n\tServiceId\x12%\n\tcontextId\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12\x1c\n\x05\x63s_id\x18\x02 \x01(\x0b\x32\r.context.Uuid\":\n\rServiceIdList\x12)\n\rserviceIdList\x18\x01 \x03(\x0b\x32\x12.service.ServiceId\"?\n\x0cServiceState\x12/\n\x0cserviceState\x18\x01 \x01(\x0e\x32\x19.service.ServiceStateEnum\"=\n\x0e\x43onnectionList\x12+\n\x0e\x63onnectionList\x18\x01 \x03(\x0b\x32\x13.service.Connection\"\x84\x01\n\nConnection\x12%\n\x06\x63on_id\x18\x01 \x01(\x0b\x32\x15.service.ConnectionId\x12,\n\x10relatedServiceId\x18\x02 \x01(\x0b\x32\x12.service.ServiceId\x12!\n\x04path\x18\x03 \x03(\x0b\x32\x13.context.EndPointId\"-\n\x0c\x43onnectionId\x12\x1d\n\x06\x63on_id\x18\x01 \x01(\x0b\x32\r.context.Uuid*M\n\x0bServiceType\x12\x0b\n\x07UNKNOWN\x10\x00\x12\x08\n\x04L3NM\x10\x01\x12\x08\n\x04L2NM\x10\x02\x12\x1d\n\x19TAPI_CONNECTIVITY_SERVICE\x10\x03*@\n\x10ServiceStateEnum\x12\x0b\n\x07PLANNED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x13\n\x0fPENDING_REMOVAL\x10\x02\x32\xed\x02\n\x0eServiceService\x12\x38\n\x0eGetServiceList\x12\x0e.context.Empty\x1a\x14.service.ServiceList\"\x00\x12\x37\n\rCreateService\x12\x10.service.Service\x1a\x12.service.ServiceId\"\x00\x12\x37\n\rUpdateService\x12\x10.service.Service\x1a\x12.service.ServiceId\"\x00\x12\x35\n\rDeleteService\x12\x12.service.ServiceId\x1a\x0e.context.Empty\"\x00\x12\x38\n\x0eGetServiceById\x12\x12.service.ServiceId\x1a\x10.service.Service\"\x00\x12>\n\x11GetConnectionList\x12\x0e.context.Empty\x1a\x17.service.ConnectionList\"\x00\x62\x06proto3'
-  ,
-  dependencies=[context__pb2.DESCRIPTOR,])
-
-_SERVICETYPE = _descriptor.EnumDescriptor(
-  name='ServiceType',
-  full_name='service.ServiceType',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='UNKNOWN', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='L3NM', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='L2NM', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='TAPI_CONNECTIVITY_SERVICE', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=844,
-  serialized_end=921,
-)
-_sym_db.RegisterEnumDescriptor(_SERVICETYPE)
-
-ServiceType = enum_type_wrapper.EnumTypeWrapper(_SERVICETYPE)
-_SERVICESTATEENUM = _descriptor.EnumDescriptor(
-  name='ServiceStateEnum',
-  full_name='service.ServiceStateEnum',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='PLANNED', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='ACTIVE', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='PENDING_REMOVAL', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=923,
-  serialized_end=987,
-)
-_sym_db.RegisterEnumDescriptor(_SERVICESTATEENUM)
-
-ServiceStateEnum = enum_type_wrapper.EnumTypeWrapper(_SERVICESTATEENUM)
-UNKNOWN = 0
-L3NM = 1
-L2NM = 2
-TAPI_CONNECTIVITY_SERVICE = 3
-PLANNED = 0
-ACTIVE = 1
-PENDING_REMOVAL = 2
-
-
-
-_SERVICELIST = _descriptor.Descriptor(
-  name='ServiceList',
-  full_name='service.ServiceList',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='cs', full_name='service.ServiceList.cs', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=41,
-  serialized_end=84,
-)
-
-
-_SERVICE = _descriptor.Descriptor(
-  name='Service',
-  full_name='service.Service',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='cs_id', full_name='service.Service.cs_id', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='serviceType', full_name='service.Service.serviceType', index=1,
-      number=2, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='endpointList', full_name='service.Service.endpointList', index=2,
-      number=3, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='constraint', full_name='service.Service.constraint', index=3,
-      number=4, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='serviceState', full_name='service.Service.serviceState', index=4,
-      number=5, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='serviceConfig', full_name='service.Service.serviceConfig', index=5,
-      number=6, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=87,
-  serialized_end=350,
-)
-
-
-_SERVICECONFIG = _descriptor.Descriptor(
-  name='ServiceConfig',
-  full_name='service.ServiceConfig',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='serviceConfig', full_name='service.ServiceConfig.serviceConfig', index=0,
-      number=1, type=9, cpp_type=9, label=1,
-      has_default_value=False, default_value=b"".decode('utf-8'),
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=352,
-  serialized_end=390,
-)
-
-
-_SERVICEID = _descriptor.Descriptor(
-  name='ServiceId',
-  full_name='service.ServiceId',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='contextId', full_name='service.ServiceId.contextId', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='cs_id', full_name='service.ServiceId.cs_id', index=1,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=392,
-  serialized_end=472,
-)
-
-
-_SERVICEIDLIST = _descriptor.Descriptor(
-  name='ServiceIdList',
-  full_name='service.ServiceIdList',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='serviceIdList', full_name='service.ServiceIdList.serviceIdList', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=474,
-  serialized_end=532,
-)
-
-
-_SERVICESTATE = _descriptor.Descriptor(
-  name='ServiceState',
-  full_name='service.ServiceState',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='serviceState', full_name='service.ServiceState.serviceState', index=0,
-      number=1, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=534,
-  serialized_end=597,
-)
-
-
-_CONNECTIONLIST = _descriptor.Descriptor(
-  name='ConnectionList',
-  full_name='service.ConnectionList',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='connectionList', full_name='service.ConnectionList.connectionList', index=0,
-      number=1, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=599,
-  serialized_end=660,
-)
-
-
-_CONNECTION = _descriptor.Descriptor(
-  name='Connection',
-  full_name='service.Connection',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='con_id', full_name='service.Connection.con_id', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='relatedServiceId', full_name='service.Connection.relatedServiceId', index=1,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='path', full_name='service.Connection.path', index=2,
-      number=3, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=663,
-  serialized_end=795,
-)
-
-
-_CONNECTIONID = _descriptor.Descriptor(
-  name='ConnectionId',
-  full_name='service.ConnectionId',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='con_id', full_name='service.ConnectionId.con_id', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=797,
-  serialized_end=842,
-)
-
-_SERVICELIST.fields_by_name['cs'].message_type = _SERVICE
-_SERVICE.fields_by_name['cs_id'].message_type = _SERVICEID
-_SERVICE.fields_by_name['serviceType'].enum_type = _SERVICETYPE
-_SERVICE.fields_by_name['endpointList'].message_type = context__pb2._ENDPOINTID
-_SERVICE.fields_by_name['constraint'].message_type = context__pb2._CONSTRAINT
-_SERVICE.fields_by_name['serviceState'].message_type = _SERVICESTATE
-_SERVICE.fields_by_name['serviceConfig'].message_type = _SERVICECONFIG
-_SERVICEID.fields_by_name['contextId'].message_type = context__pb2._CONTEXTID
-_SERVICEID.fields_by_name['cs_id'].message_type = context__pb2._UUID
-_SERVICEIDLIST.fields_by_name['serviceIdList'].message_type = _SERVICEID
-_SERVICESTATE.fields_by_name['serviceState'].enum_type = _SERVICESTATEENUM
-_CONNECTIONLIST.fields_by_name['connectionList'].message_type = _CONNECTION
-_CONNECTION.fields_by_name['con_id'].message_type = _CONNECTIONID
-_CONNECTION.fields_by_name['relatedServiceId'].message_type = _SERVICEID
-_CONNECTION.fields_by_name['path'].message_type = context__pb2._ENDPOINTID
-_CONNECTIONID.fields_by_name['con_id'].message_type = context__pb2._UUID
-DESCRIPTOR.message_types_by_name['ServiceList'] = _SERVICELIST
-DESCRIPTOR.message_types_by_name['Service'] = _SERVICE
-DESCRIPTOR.message_types_by_name['ServiceConfig'] = _SERVICECONFIG
-DESCRIPTOR.message_types_by_name['ServiceId'] = _SERVICEID
-DESCRIPTOR.message_types_by_name['ServiceIdList'] = _SERVICEIDLIST
-DESCRIPTOR.message_types_by_name['ServiceState'] = _SERVICESTATE
-DESCRIPTOR.message_types_by_name['ConnectionList'] = _CONNECTIONLIST
-DESCRIPTOR.message_types_by_name['Connection'] = _CONNECTION
-DESCRIPTOR.message_types_by_name['ConnectionId'] = _CONNECTIONID
-DESCRIPTOR.enum_types_by_name['ServiceType'] = _SERVICETYPE
-DESCRIPTOR.enum_types_by_name['ServiceStateEnum'] = _SERVICESTATEENUM
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-ServiceList = _reflection.GeneratedProtocolMessageType('ServiceList', (_message.Message,), {
-  'DESCRIPTOR' : _SERVICELIST,
-  '__module__' : 'service_pb2'
-  # @@protoc_insertion_point(class_scope:service.ServiceList)
-  })
-_sym_db.RegisterMessage(ServiceList)
-
-Service = _reflection.GeneratedProtocolMessageType('Service', (_message.Message,), {
-  'DESCRIPTOR' : _SERVICE,
-  '__module__' : 'service_pb2'
-  # @@protoc_insertion_point(class_scope:service.Service)
-  })
-_sym_db.RegisterMessage(Service)
-
-ServiceConfig = _reflection.GeneratedProtocolMessageType('ServiceConfig', (_message.Message,), {
-  'DESCRIPTOR' : _SERVICECONFIG,
-  '__module__' : 'service_pb2'
-  # @@protoc_insertion_point(class_scope:service.ServiceConfig)
-  })
-_sym_db.RegisterMessage(ServiceConfig)
-
-ServiceId = _reflection.GeneratedProtocolMessageType('ServiceId', (_message.Message,), {
-  'DESCRIPTOR' : _SERVICEID,
-  '__module__' : 'service_pb2'
-  # @@protoc_insertion_point(class_scope:service.ServiceId)
-  })
-_sym_db.RegisterMessage(ServiceId)
-
-ServiceIdList = _reflection.GeneratedProtocolMessageType('ServiceIdList', (_message.Message,), {
-  'DESCRIPTOR' : _SERVICEIDLIST,
-  '__module__' : 'service_pb2'
-  # @@protoc_insertion_point(class_scope:service.ServiceIdList)
-  })
-_sym_db.RegisterMessage(ServiceIdList)
-
-ServiceState = _reflection.GeneratedProtocolMessageType('ServiceState', (_message.Message,), {
-  'DESCRIPTOR' : _SERVICESTATE,
-  '__module__' : 'service_pb2'
-  # @@protoc_insertion_point(class_scope:service.ServiceState)
-  })
-_sym_db.RegisterMessage(ServiceState)
-
-ConnectionList = _reflection.GeneratedProtocolMessageType('ConnectionList', (_message.Message,), {
-  'DESCRIPTOR' : _CONNECTIONLIST,
-  '__module__' : 'service_pb2'
-  # @@protoc_insertion_point(class_scope:service.ConnectionList)
-  })
-_sym_db.RegisterMessage(ConnectionList)
-
-Connection = _reflection.GeneratedProtocolMessageType('Connection', (_message.Message,), {
-  'DESCRIPTOR' : _CONNECTION,
-  '__module__' : 'service_pb2'
-  # @@protoc_insertion_point(class_scope:service.Connection)
-  })
-_sym_db.RegisterMessage(Connection)
-
-ConnectionId = _reflection.GeneratedProtocolMessageType('ConnectionId', (_message.Message,), {
-  'DESCRIPTOR' : _CONNECTIONID,
-  '__module__' : 'service_pb2'
-  # @@protoc_insertion_point(class_scope:service.ConnectionId)
-  })
-_sym_db.RegisterMessage(ConnectionId)
-
-
-
-_SERVICESERVICE = _descriptor.ServiceDescriptor(
-  name='ServiceService',
-  full_name='service.ServiceService',
-  file=DESCRIPTOR,
-  index=0,
-  serialized_options=None,
-  create_key=_descriptor._internal_create_key,
-  serialized_start=990,
-  serialized_end=1355,
-  methods=[
-  _descriptor.MethodDescriptor(
-    name='GetServiceList',
-    full_name='service.ServiceService.GetServiceList',
-    index=0,
-    containing_service=None,
-    input_type=context__pb2._EMPTY,
-    output_type=_SERVICELIST,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='CreateService',
-    full_name='service.ServiceService.CreateService',
-    index=1,
-    containing_service=None,
-    input_type=_SERVICE,
-    output_type=_SERVICEID,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='UpdateService',
-    full_name='service.ServiceService.UpdateService',
-    index=2,
-    containing_service=None,
-    input_type=_SERVICE,
-    output_type=_SERVICEID,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='DeleteService',
-    full_name='service.ServiceService.DeleteService',
-    index=3,
-    containing_service=None,
-    input_type=_SERVICEID,
-    output_type=context__pb2._EMPTY,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='GetServiceById',
-    full_name='service.ServiceService.GetServiceById',
-    index=4,
-    containing_service=None,
-    input_type=_SERVICEID,
-    output_type=_SERVICE,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='GetConnectionList',
-    full_name='service.ServiceService.GetConnectionList',
-    index=5,
-    containing_service=None,
-    input_type=context__pb2._EMPTY,
-    output_type=_CONNECTIONLIST,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-])
-_sym_db.RegisterServiceDescriptor(_SERVICESERVICE)
-
-DESCRIPTOR.services_by_name['ServiceService'] = _SERVICESERVICE
-
-# @@protoc_insertion_point(module_scope)
diff --git a/src/slice/proto/slice_pb2.py b/src/slice/proto/slice_pb2.py
deleted file mode 100644
index 06160c4263715d9f4c278a906fdcf2b9d51eef0f..0000000000000000000000000000000000000000
--- a/src/slice/proto/slice_pb2.py
+++ /dev/null
@@ -1,331 +0,0 @@
-# -*- coding: utf-8 -*-
-# Generated by the protocol buffer compiler.  DO NOT EDIT!
-# source: slice.proto
-"""Generated protocol buffer code."""
-from google.protobuf.internal import enum_type_wrapper
-from google.protobuf import descriptor as _descriptor
-from google.protobuf import message as _message
-from google.protobuf import reflection as _reflection
-from google.protobuf import symbol_database as _symbol_database
-# @@protoc_insertion_point(imports)
-
-_sym_db = _symbol_database.Default()
-
-
-from . import context_pb2 as context__pb2
-from . import service_pb2 as service__pb2
-
-
-DESCRIPTOR = _descriptor.FileDescriptor(
-  name='slice.proto',
-  package='slice',
-  syntax='proto3',
-  serialized_options=None,
-  create_key=_descriptor._internal_create_key,
-  serialized_pb=b'\n\x0bslice.proto\x12\x05slice\x1a\rcontext.proto\x1a\rservice.proto\"3\n\rSliceEndpoint\x12\"\n\x07port_id\x18\x01 \x01(\x0b\x32\x11.context.EndPoint\"\xf4\x01\n\x0eTransportSlice\x12 \n\x08slice_id\x18\x01 \x01(\x0b\x32\x0e.slice.SliceId\x12\'\n\tendpoints\x18\x02 \x03(\x0b\x32\x14.slice.SliceEndpoint\x12(\n\x0b\x63onstraints\x18\x03 \x03(\x0b\x32\x13.context.Constraint\x12$\n\x08services\x18\x04 \x03(\x0b\x32\x12.service.ServiceId\x12#\n\x0bsubSlicesId\x18\x05 \x03(\x0b\x32\x0e.slice.SliceId\x12\"\n\x06status\x18\x06 \x01(\x0b\x32\x12.slice.SliceStatus\"Q\n\x07SliceId\x12%\n\tcontextId\x18\x01 \x01(\x0b\x32\x12.context.ContextId\x12\x1f\n\x08slice_id\x18\x02 \x01(\x0b\x32\r.context.Uuid\"W\n\x0bSliceStatus\x12 \n\x08slice_id\x18\x01 \x01(\x0b\x32\x0e.slice.SliceId\x12&\n\x06status\x18\x02 \x01(\x0e\x32\x16.slice.SliceStatusEnum*@\n\x0fSliceStatusEnum\x12\x0b\n\x07PLANNED\x10\x00\x12\x08\n\x04INIT\x10\x01\x12\n\n\x06\x41\x43TIVE\x10\x02\x12\n\n\x06\x44\x45INIT\x10\x03\x32\x88\x01\n\x0cSliceService\x12@\n\x11\x43reateUpdateSlice\x12\x15.slice.TransportSlice\x1a\x12.slice.SliceStatus\"\x00\x12\x36\n\x0b\x44\x65leteSlice\x12\x15.slice.TransportSlice\x1a\x0e.context.Empty\"\x00\x62\x06proto3'
-  ,
-  dependencies=[context__pb2.DESCRIPTOR,service__pb2.DESCRIPTOR,])
-
-_SLICESTATUSENUM = _descriptor.EnumDescriptor(
-  name='SliceStatusEnum',
-  full_name='slice.SliceStatusEnum',
-  filename=None,
-  file=DESCRIPTOR,
-  create_key=_descriptor._internal_create_key,
-  values=[
-    _descriptor.EnumValueDescriptor(
-      name='PLANNED', index=0, number=0,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='INIT', index=1, number=1,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='ACTIVE', index=2, number=2,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-    _descriptor.EnumValueDescriptor(
-      name='DEINIT', index=3, number=3,
-      serialized_options=None,
-      type=None,
-      create_key=_descriptor._internal_create_key),
-  ],
-  containing_type=None,
-  serialized_options=None,
-  serialized_start=524,
-  serialized_end=588,
-)
-_sym_db.RegisterEnumDescriptor(_SLICESTATUSENUM)
-
-SliceStatusEnum = enum_type_wrapper.EnumTypeWrapper(_SLICESTATUSENUM)
-PLANNED = 0
-INIT = 1
-ACTIVE = 2
-DEINIT = 3
-
-
-
-_SLICEENDPOINT = _descriptor.Descriptor(
-  name='SliceEndpoint',
-  full_name='slice.SliceEndpoint',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='port_id', full_name='slice.SliceEndpoint.port_id', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=52,
-  serialized_end=103,
-)
-
-
-_TRANSPORTSLICE = _descriptor.Descriptor(
-  name='TransportSlice',
-  full_name='slice.TransportSlice',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='slice_id', full_name='slice.TransportSlice.slice_id', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='endpoints', full_name='slice.TransportSlice.endpoints', index=1,
-      number=2, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='constraints', full_name='slice.TransportSlice.constraints', index=2,
-      number=3, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='services', full_name='slice.TransportSlice.services', index=3,
-      number=4, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='subSlicesId', full_name='slice.TransportSlice.subSlicesId', index=4,
-      number=5, type=11, cpp_type=10, label=3,
-      has_default_value=False, default_value=[],
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='status', full_name='slice.TransportSlice.status', index=5,
-      number=6, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=106,
-  serialized_end=350,
-)
-
-
-_SLICEID = _descriptor.Descriptor(
-  name='SliceId',
-  full_name='slice.SliceId',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='contextId', full_name='slice.SliceId.contextId', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='slice_id', full_name='slice.SliceId.slice_id', index=1,
-      number=2, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=352,
-  serialized_end=433,
-)
-
-
-_SLICESTATUS = _descriptor.Descriptor(
-  name='SliceStatus',
-  full_name='slice.SliceStatus',
-  filename=None,
-  file=DESCRIPTOR,
-  containing_type=None,
-  create_key=_descriptor._internal_create_key,
-  fields=[
-    _descriptor.FieldDescriptor(
-      name='slice_id', full_name='slice.SliceStatus.slice_id', index=0,
-      number=1, type=11, cpp_type=10, label=1,
-      has_default_value=False, default_value=None,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-    _descriptor.FieldDescriptor(
-      name='status', full_name='slice.SliceStatus.status', index=1,
-      number=2, type=14, cpp_type=8, label=1,
-      has_default_value=False, default_value=0,
-      message_type=None, enum_type=None, containing_type=None,
-      is_extension=False, extension_scope=None,
-      serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
-  ],
-  extensions=[
-  ],
-  nested_types=[],
-  enum_types=[
-  ],
-  serialized_options=None,
-  is_extendable=False,
-  syntax='proto3',
-  extension_ranges=[],
-  oneofs=[
-  ],
-  serialized_start=435,
-  serialized_end=522,
-)
-
-_SLICEENDPOINT.fields_by_name['port_id'].message_type = context__pb2._ENDPOINT
-_TRANSPORTSLICE.fields_by_name['slice_id'].message_type = _SLICEID
-_TRANSPORTSLICE.fields_by_name['endpoints'].message_type = _SLICEENDPOINT
-_TRANSPORTSLICE.fields_by_name['constraints'].message_type = context__pb2._CONSTRAINT
-_TRANSPORTSLICE.fields_by_name['services'].message_type = service__pb2._SERVICEID
-_TRANSPORTSLICE.fields_by_name['subSlicesId'].message_type = _SLICEID
-_TRANSPORTSLICE.fields_by_name['status'].message_type = _SLICESTATUS
-_SLICEID.fields_by_name['contextId'].message_type = context__pb2._CONTEXTID
-_SLICEID.fields_by_name['slice_id'].message_type = context__pb2._UUID
-_SLICESTATUS.fields_by_name['slice_id'].message_type = _SLICEID
-_SLICESTATUS.fields_by_name['status'].enum_type = _SLICESTATUSENUM
-DESCRIPTOR.message_types_by_name['SliceEndpoint'] = _SLICEENDPOINT
-DESCRIPTOR.message_types_by_name['TransportSlice'] = _TRANSPORTSLICE
-DESCRIPTOR.message_types_by_name['SliceId'] = _SLICEID
-DESCRIPTOR.message_types_by_name['SliceStatus'] = _SLICESTATUS
-DESCRIPTOR.enum_types_by_name['SliceStatusEnum'] = _SLICESTATUSENUM
-_sym_db.RegisterFileDescriptor(DESCRIPTOR)
-
-SliceEndpoint = _reflection.GeneratedProtocolMessageType('SliceEndpoint', (_message.Message,), {
-  'DESCRIPTOR' : _SLICEENDPOINT,
-  '__module__' : 'slice_pb2'
-  # @@protoc_insertion_point(class_scope:slice.SliceEndpoint)
-  })
-_sym_db.RegisterMessage(SliceEndpoint)
-
-TransportSlice = _reflection.GeneratedProtocolMessageType('TransportSlice', (_message.Message,), {
-  'DESCRIPTOR' : _TRANSPORTSLICE,
-  '__module__' : 'slice_pb2'
-  # @@protoc_insertion_point(class_scope:slice.TransportSlice)
-  })
-_sym_db.RegisterMessage(TransportSlice)
-
-SliceId = _reflection.GeneratedProtocolMessageType('SliceId', (_message.Message,), {
-  'DESCRIPTOR' : _SLICEID,
-  '__module__' : 'slice_pb2'
-  # @@protoc_insertion_point(class_scope:slice.SliceId)
-  })
-_sym_db.RegisterMessage(SliceId)
-
-SliceStatus = _reflection.GeneratedProtocolMessageType('SliceStatus', (_message.Message,), {
-  'DESCRIPTOR' : _SLICESTATUS,
-  '__module__' : 'slice_pb2'
-  # @@protoc_insertion_point(class_scope:slice.SliceStatus)
-  })
-_sym_db.RegisterMessage(SliceStatus)
-
-
-
-_SLICESERVICE = _descriptor.ServiceDescriptor(
-  name='SliceService',
-  full_name='slice.SliceService',
-  file=DESCRIPTOR,
-  index=0,
-  serialized_options=None,
-  create_key=_descriptor._internal_create_key,
-  serialized_start=591,
-  serialized_end=727,
-  methods=[
-  _descriptor.MethodDescriptor(
-    name='CreateUpdateSlice',
-    full_name='slice.SliceService.CreateUpdateSlice',
-    index=0,
-    containing_service=None,
-    input_type=_TRANSPORTSLICE,
-    output_type=_SLICESTATUS,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-  _descriptor.MethodDescriptor(
-    name='DeleteSlice',
-    full_name='slice.SliceService.DeleteSlice',
-    index=1,
-    containing_service=None,
-    input_type=_TRANSPORTSLICE,
-    output_type=context__pb2._EMPTY,
-    serialized_options=None,
-    create_key=_descriptor._internal_create_key,
-  ),
-])
-_sym_db.RegisterServiceDescriptor(_SLICESERVICE)
-
-DESCRIPTOR.services_by_name['SliceService'] = _SLICESERVICE
-
-# @@protoc_insertion_point(module_scope)
diff --git a/src/slice/proto/slice_pb2_grpc.py b/src/slice/proto/slice_pb2_grpc.py
deleted file mode 100644
index e7762a9104765af5d7a16c778c2f458050ce2eaf..0000000000000000000000000000000000000000
--- a/src/slice/proto/slice_pb2_grpc.py
+++ /dev/null
@@ -1,100 +0,0 @@
-# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
-"""Client and server classes corresponding to protobuf-defined services."""
-import grpc
-
-from . import context_pb2 as context__pb2
-from . import slice_pb2 as slice__pb2
-
-
-class SliceServiceStub(object):
-    """Missing associated documentation comment in .proto file."""
-
-    def __init__(self, channel):
-        """Constructor.
-
-        Args:
-            channel: A grpc.Channel.
-        """
-        self.CreateUpdateSlice = channel.unary_unary(
-                '/slice.SliceService/CreateUpdateSlice',
-                request_serializer=slice__pb2.TransportSlice.SerializeToString,
-                response_deserializer=slice__pb2.SliceStatus.FromString,
-                )
-        self.DeleteSlice = channel.unary_unary(
-                '/slice.SliceService/DeleteSlice',
-                request_serializer=slice__pb2.TransportSlice.SerializeToString,
-                response_deserializer=context__pb2.Empty.FromString,
-                )
-
-
-class SliceServiceServicer(object):
-    """Missing associated documentation comment in .proto file."""
-
-    def CreateUpdateSlice(self, request, context):
-        """Missing associated documentation comment in .proto file."""
-        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-        context.set_details('Method not implemented!')
-        raise NotImplementedError('Method not implemented!')
-
-    def DeleteSlice(self, request, context):
-        """Missing associated documentation comment in .proto file."""
-        context.set_code(grpc.StatusCode.UNIMPLEMENTED)
-        context.set_details('Method not implemented!')
-        raise NotImplementedError('Method not implemented!')
-
-
-def add_SliceServiceServicer_to_server(servicer, server):
-    rpc_method_handlers = {
-            'CreateUpdateSlice': grpc.unary_unary_rpc_method_handler(
-                    servicer.CreateUpdateSlice,
-                    request_deserializer=slice__pb2.TransportSlice.FromString,
-                    response_serializer=slice__pb2.SliceStatus.SerializeToString,
-            ),
-            'DeleteSlice': grpc.unary_unary_rpc_method_handler(
-                    servicer.DeleteSlice,
-                    request_deserializer=slice__pb2.TransportSlice.FromString,
-                    response_serializer=context__pb2.Empty.SerializeToString,
-            ),
-    }
-    generic_handler = grpc.method_handlers_generic_handler(
-            'slice.SliceService', rpc_method_handlers)
-    server.add_generic_rpc_handlers((generic_handler,))
-
-
- # This class is part of an EXPERIMENTAL API.
-class SliceService(object):
-    """Missing associated documentation comment in .proto file."""
-
-    @staticmethod
-    def CreateUpdateSlice(request,
-            target,
-            options=(),
-            channel_credentials=None,
-            call_credentials=None,
-            insecure=False,
-            compression=None,
-            wait_for_ready=None,
-            timeout=None,
-            metadata=None):
-        return grpc.experimental.unary_unary(request, target, '/slice.SliceService/CreateUpdateSlice',
-            slice__pb2.TransportSlice.SerializeToString,
-            slice__pb2.SliceStatus.FromString,
-            options, channel_credentials,
-            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
-
-    @staticmethod
-    def DeleteSlice(request,
-            target,
-            options=(),
-            channel_credentials=None,
-            call_credentials=None,
-            insecure=False,
-            compression=None,
-            wait_for_ready=None,
-            timeout=None,
-            metadata=None):
-        return grpc.experimental.unary_unary(request, target, '/slice.SliceService/DeleteSlice',
-            slice__pb2.TransportSlice.SerializeToString,
-            context__pb2.Empty.FromString,
-            options, channel_credentials,
-            insecure, call_credentials, compression, wait_for_ready, timeout, metadata)
diff --git a/src/slice/requirements.in b/src/slice/requirements.in
index 25abdad1b5767117956a88b816399635348884c7..0a2c39895c9a1f642470bcc26cb67bd8dfb169b1 100644
--- a/src/slice/requirements.in
+++ b/src/slice/requirements.in
@@ -1,6 +1 @@
-grpcio-health-checking
-grpcio
-prometheus-client
-pytest
-pytest-benchmark
-redis
+#deepdiff==5.8.*
diff --git a/src/slice/service/Tools.py b/src/slice/service/Tools.py
deleted file mode 100644
index d31fed6cb69df54d708c516ee269fe732c55e8de..0000000000000000000000000000000000000000
--- a/src/slice/service/Tools.py
+++ /dev/null
@@ -1,199 +0,0 @@
-import grpc, logging
-from typing import Dict, List, Set, Tuple
-from common.Checkers import chk_options, chk_string
-from common.database.api.Database import Database
-from common.database.api.context.Constants import DEFAULT_CONTEXT_ID, DEFAULT_TOPOLOGY_ID
-from common.database.api.context.service.Service import Service
-from common.database.api.context.slice.SliceStatus import SliceStatus, slicestatus_enum_values, to_slicestatus_enum
-from common.database.api.context.topology.device.Endpoint import Endpoint
-from common.exceptions.ServiceException import ServiceException
-from common.tools.service.ConstraintsChecker import check_constraints
-from common.tools.service.EndpointIdCheckers import check_endpoint_id
-from common.tools.service.DeviceCheckers import check_device_endpoint_exists
-from common.tools.service.EnumCheckers import check_enum
-from common.tools.service.ServiceCheckers import check_service_exists
-from common.tools.service.SliceCheckers import check_slice_exists #, check_slice_not_exists
-from slice.proto.slice_pb2 import TransportSlice
-
-# For each method name, define acceptable slice statuses. Empty set means accept all.
-ACCEPTED_SLICE_STATUSES : Dict[str, Set[SliceStatus]] = {
-    'CreateUpdateSlice': set([SliceStatus.PLANNED, SliceStatus.INIT, SliceStatus.ACTIVE]),
-    'DeleteSlice': set([SliceStatus.PLANNED, SliceStatus.DEINIT]),
-}
-
-def _check_slice_exists(method_name : str, database : Database, context_id : str, slice_id : str):
-    if method_name in ['CreateUpdateSlice']:
-        # Do nothing; creation implies checking slice does not exist. However, if it exists, we can perform an update.
-        #check_slice_not_exists(database, context_id, slice_id)
-        pass
-    elif method_name in ['DeleteSlice']:
-        check_slice_exists(database, context_id, slice_id)
-    else:                                       # pragma: no cover (test requires malforming the code)
-        msg = 'Unexpected condition [_check_slice_exists(method_name={}, slice_id={})]'
-        msg = msg.format(str(method_name), str(slice_id))
-        raise ServiceException(grpc.StatusCode.UNIMPLEMENTED, msg)
-
-def _check_slice_endpoints(
-    logger : logging.Logger, database : Database, context_id : str, slice_id : str, slice_endpoints
-    ) -> List[Tuple[Endpoint, str]]:
-
-    add_topology_devices_endpoints : Dict[str, Dict[str, Set[str]]] = {}
-    db_endpoints__port_types : List[Tuple[Endpoint, str]] = []
-    for endpoint_number,slice_endpoint in enumerate(slice_endpoints):
-        parent_name = 'SliceEndpoint(#{}) of Context({})/Slice({})'
-        parent_name = parent_name.format(endpoint_number, context_id, slice_id)
-
-        ep_topology_id, ep_device_id, ep_port_id = check_endpoint_id(
-            logger, endpoint_number, parent_name, slice_endpoint.port_id.port_id, add_topology_devices_endpoints,
-            acceptable_context_ids=set([context_id]), prevent_same_device_multiple_times=False)
-
-        try:
-            ep_port_type = chk_string('endpoint[#{}].port_type'.format(endpoint_number),
-                                      slice_endpoint.port_id.port_type,
-                                      allow_empty=False)
-        except Exception as e:
-            logger.exception('Invalid arguments:')
-            raise ServiceException(grpc.StatusCode.INVALID_ARGUMENT, str(e))
-
-        db_endpoint = check_device_endpoint_exists(
-            database, parent_name, context_id, ep_topology_id, ep_device_id, ep_port_id)
-        db_endpoints__port_types.append((db_endpoint, ep_port_type))
-    return db_endpoints__port_types
-
-def _check_services(
-    logger : logging.Logger, database : Database, parent_name : str, context_id : str, slice_service_ids
-    ) -> List[Service]:
-
-    add_context_services : Dict[str, Set[str]] = {}
-    db_services : List[Service] = []
-    for service_number,service_id in enumerate(slice_service_ids):
-        # ----- Parse attributes ---------------------------------------------------------------------------------------
-        try:
-            service_context_id = chk_string ('services[#{}].contextId.contextUuid.uuid'.format(service_number),
-                                             service_id.contextId.contextUuid.uuid,
-                                             allow_empty=True)
-            service_id         = chk_string ('services[#{}].cs_id.uuid'.format(service_number),
-                                             service_id.cs_id.uuid,
-                                             allow_empty=False)
-        except Exception as e:
-            logger.exception('Invalid arguments:')
-            raise ServiceException(grpc.StatusCode.INVALID_ARGUMENT, str(e))
-
-        if len(service_context_id) == 0: service_context_id = context_id
-
-        add_services = add_context_services.setdefault(context_id, dict())
-        if service_id in add_services:
-            msg = 'Duplicated Context({})/Service({}) in {}.'
-            msg = msg.format(service_context_id, service_id, parent_name)
-            raise ServiceException(grpc.StatusCode.INVALID_ARGUMENT, msg)
-
-        db_service = check_service_exists(database, service_context_id, service_id)
-        db_services.append(db_service)
-        add_services.add(service_id)
-    return db_services
-
-def _check_subslices(
-    logger : logging.Logger, database : Database, parent_name : str, context_id : str, slice_subslice_ids
-    ) -> List[Slice]:
-
-    add_context_subslices : Dict[str, Set[str]] = {}
-    db_subslices : List[Slice] = []
-    for subslice_number,subslice_id in enumerate(slice_subslice_ids):
-        # ----- Parse attributes ---------------------------------------------------------------------------------------
-        try:
-            subslice_context_id = chk_string ('subSlicesId[#{}].contextId.contextUuid.uuid'.format(subslice_number),
-                                             subslice_id.contextId.contextUuid.uuid,
-                                             allow_empty=True)
-            subslice_id         = chk_string ('subSlicesId[#{}].slice_id.uuid'.format(subslice_number),
-                                             subslice_id.slice_id.uuid,
-                                             allow_empty=False)
-        except Exception as e:
-            logger.exception('Invalid arguments:')
-            raise ServiceException(grpc.StatusCode.INVALID_ARGUMENT, str(e))
-
-        if len(subslice_context_id) == 0: subslice_context_id = context_id
-
-        add_subslices = add_context_subslices.setdefault(context_id, dict())
-        if subslice_id in add_subslices:
-            msg = 'Duplicated Context({})/Slice({}) in {}.'
-            msg = msg.format(subslice_context_id, subslice_id, parent_name)
-            raise ServiceException(grpc.StatusCode.INVALID_ARGUMENT, msg)
-
-        db_subslice = check_slice_exists(database, subslice_context_id, subslice_id)
-        db_subslices.append(db_subslice)
-        add_subslices.add(subslice_id)
-    return db_subslices
-
-def check_slice_status(method_name : str, value : str) -> SliceStatus:
-    return check_enum(
-        'SliceStatus', method_name, value, to_slicestatus_enum, ACCEPTED_SLICE_STATUSES)
-
-def check_slice_request(
-    method_name : str, request : TransportSlice, database : Database, logger : logging.Logger
-    ): # -> Tuple[str, str, str, OperationalStatus, List[Tuple[Endpoint, str]]]:
-
-    # ----- Parse attributes -------------------------------------------------------------------------------------------
-    try:
-        context_id        = chk_string ('slice.slice_id.contextId.contextUuid.uuid',
-                                        request.slice_id.contextId.contextUuid.uuid,
-                                        allow_empty=True)
-        slice_id          = chk_string ('slice.slice_id.slice_id.uuid',
-                                        request.slice_id.slice_id.uuid,
-                                        allow_empty=False)
-        status_context_id = chk_string ('slice.status.slice_id.contextId.contextUuid.uuid',
-                                        request.status.slice_id.contextId.contextUuid.uuid,
-                                        allow_empty=True)
-        status_slice_id   = chk_string ('slice.status.slice_id.slice_id.uuid',
-                                        request.status.slice_id.slice_id.uuid,
-                                        allow_empty=True)
-        slice_status      = chk_options('slice.status.status',
-                                        request.status.status,
-                                        slicestatus_enum_values())
-    except Exception as e:
-        logger.exception('Invalid arguments:')
-        raise ServiceException(grpc.StatusCode.INVALID_ARGUMENT, str(e))
-
-    if len(context_id) == 0: context_id = DEFAULT_CONTEXT_ID
-
-    if (len(status_context_id) > 0) and (status_context_id != context_id):
-        msg = ' '.join([
-            'slice.status.slice_id.contextId.contextUuid.uuid({})',
-            'is not empty and is different than',
-            'slice.slice_id.contextId.contextUuid.uuid({}).',
-            'Optionally, leave field empty to use slice.slice_id.contextId.contextUuid.uuid({}), if set,',
-            'or, otherwise, the default Context({})'
-        ])
-        msg = msg.format(
-            status_context_id, context_id, context_id, DEFAULT_CONTEXT_ID)
-        raise ServiceException(grpc.StatusCode.INVALID_ARGUMENT, msg)
-        
-    if (len(status_slice_id) > 0) and (status_slice_id != slice_id):
-        msg = ' '.join([
-            'slice.status.slice_id.slice_id.uuid({})',
-            'is not empty and is different than',
-            'slice.slice_id.slice_id.uuid({}).',
-            'Optionally, leave field empty to use slice.slice_id.slice_id.uuid({}).',
-        ])
-        msg = msg.format(
-            status_slice_id, slice_id, slice_id)
-        raise ServiceException(grpc.StatusCode.INVALID_ARGUMENT, msg)
-
-    slice_status = check_slice_status(method_name, slice_status)
-
-    # ----- Check if slice exists in database --------------------------------------------------------------------------
-    _check_slice_exists(method_name, database, context_id, slice_id)
-
-    # ----- Parse endpoints and check if they exist in the database as device endpoints --------------------------------
-    db_endpoints__port_types = _check_slice_endpoints(logger, database, context_id, slice_id, request.endpoints)
-
-    # ----- Parse constraints ------------------------------------------------------------------------------------------
-    parent_name = 'Context({})/Slice({})'.format(context_id, slice_id)
-    constraint_tuples : List[Tuple[str, str]] = check_constraints(logger, parent_name, request.constraints)
-
-    # ----- Parse Service Ids ------------------------------------------------------------------------------------------
-    db_services = _check_services(logger, database, parent_name, context_id, request.services)
-
-    # ----- Parse SubSlice Ids -----------------------------------------------------------------------------------------
-    db_subslices = _check_subslices(logger, database, parent_name, context_id, request.subSlicesId)
-
-    return context_id, slice_id, slice_status, db_endpoints__port_types, constraint_tuples, db_services, db_subslices