From 932cc3e49449dd73c1e04690c627f1b9f628c233 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 8 Sep 2025 20:52:51 +0300 Subject: [PATCH 001/189] Add some new options and env vars --- .../ProcfilerCorProfilerCallback.cpp | 6 +++--- .../shadowstack/EventsWithThreadId.cpp | 6 +++--- .../corprofiler/shadowstack/ShadowStack.cpp | 6 +++--- .../BinaryShadowStackSerializer.cpp | 6 +++--- .../serializers/DebugShadowStackSerializer.cpp | 2 +- .../corprofiler/eventpipe/EventPipeWriter.cpp | 2 +- Procfiler/src/cpp/shared/util/env_constants.h | 18 ++++++++++-------- .../shared/util/logging/ProcfilerLogger.cpp | 2 +- .../Core/CppProcfiler/CppProfilerEnvs.cs | 1 + .../Base/CollectCommandBase.CommandLine.cs | 3 ++- .../Base/CollectCommandBase.Options.cs | 4 ++++ .../CollectClrEvents/Context/Contexts.cs | 3 ++- .../Split/SplitEventsByMethodCommand.cs | 4 ++++ .../Core/Processes/DotnetProcessLauncherDto.cs | 4 +++- .../Core/Processes/IDotnetProcessLauncher.cs | 5 +++++ 15 files changed, 46 insertions(+), 26 deletions(-) diff --git a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp index 8b88d79d2..168694e02 100644 --- a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp @@ -94,11 +94,11 @@ void ProcfilerCorProfilerCallback::InitializeShadowStack() { if (onlineSerialization) { myShadowStackSerializer = new ShadowStackSerializerStub(); } else { - if (IsEnvVarDefined(binaryStackSavePath)) { + if (IsEnvVarDefined(binaryStackSavePathEnv)) { myShadowStackSerializer = new BinaryShadowStackSerializer(myProfilerInfo, myLogger); - } else if (IsEnvVarDefined(shadowStackDebugSavePath)) { + } else if (IsEnvVarDefined(shadowStackDebugSavePathEnv)) { myShadowStackSerializer = new DebugShadowStackSerializer(myProfilerInfo, myLogger); - } else if (IsEnvVarDefined(eventPipeSaveShadowStack)) { + } else if (IsEnvVarDefined(eventPipeSaveShadowStackEnv)) { myShadowStackSerializer = new EventPipeShadowStackSerializer(myProfilerInfo, myLogger); } else { myShadowStackSerializer = new ShadowStackSerializerStub(); diff --git a/Procfiler/src/cpp/offline/corprofiler/shadowstack/EventsWithThreadId.cpp b/Procfiler/src/cpp/offline/corprofiler/shadowstack/EventsWithThreadId.cpp index 737b3dffb..d2eb8d4c5 100644 --- a/Procfiler/src/cpp/offline/corprofiler/shadowstack/EventsWithThreadId.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/shadowstack/EventsWithThreadId.cpp @@ -15,10 +15,10 @@ void EventsWithThreadId::AddFunctionEvent(const FunctionEvent& event) { bool EventsWithThreadId::ShouldLog(FunctionID& id, bool* shouldLog) const { if (ShouldLogFuncs->find(id) == ShouldLogFuncs->end()) { return false; - } else { - *shouldLog = ShouldLogFuncs->at(id); - return true; } + + *shouldLog = ShouldLogFuncs->at(id); + return true; } void EventsWithThreadId::PutFunctionShouldLogDecision(FunctionID& id, bool shouldLog) const { diff --git a/Procfiler/src/cpp/offline/corprofiler/shadowstack/ShadowStack.cpp b/Procfiler/src/cpp/offline/corprofiler/shadowstack/ShadowStack.cpp index 879d21ec7..840bd1b47 100644 --- a/Procfiler/src/cpp/offline/corprofiler/shadowstack/ShadowStack.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/shadowstack/ShadowStack.cpp @@ -13,9 +13,9 @@ ShadowStack::ShadowStack(ICorProfilerInfo15* profilerInfo, ProcfilerLogger* logg myProfilerInfo = profilerInfo; myOnlineSerialization = onlineSerialization; - if (IsEnvVarTrue(filterMethodsDuringRuntime)) { + if (IsEnvVarTrue(filterMethodsDuringRuntimeEnv)) { std::string value; - if (TryGetEnvVar(filterMethodsRegex, value)) { + if (TryGetEnvVar(filterMethodsRegexEnv, value)) { try { myFilterRegex = new std::regex(value); } @@ -106,7 +106,7 @@ EventsWithThreadId* ShadowStack::GetOrCreatePerThreadEvents(ProcfilerLogger* log if (!ourIsInitialized) { if (onlineSerialization) { std::string directory; - if (!TryGetEnvVar(binaryStackSavePath, directory)) { + if (!TryGetEnvVar(binaryStackSavePathEnv, directory)) { logger->LogError("The save path directory was not specified"); } diff --git a/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/BinaryShadowStackSerializer.cpp b/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/BinaryShadowStackSerializer.cpp index fa251988d..ffeebe8a8 100644 --- a/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/BinaryShadowStackSerializer.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/BinaryShadowStackSerializer.cpp @@ -11,12 +11,12 @@ BinaryShadowStackSerializer::BinaryShadowStackSerializer(ICorProfilerInfo15* pro } void BinaryShadowStackSerializer::Init() { - if (!TryGetEnvVar(binaryStackSavePath, this->mySavePath)) { + if (!TryGetEnvVar(binaryStackSavePathEnv, this->mySavePath)) { myLogger->LogError("Binary shadow stack save path was not defined"); } std::string value; - TryGetEnvVar(useSeparateBinStacksFiles, value); + TryGetEnvVar(useSeparateBinStacksFilesEnv, value); myUseSeparateBinstacksFiles = value == trueEnvVarValue; } @@ -80,7 +80,7 @@ void BinaryShadowStackSerializer::WriteThreadStack(ThreadID threadId, std::regex* BinaryShadowStackSerializer::TryCreateMethodsFilterRegex() { std::string methodFilterRegex; std::regex* regex = nullptr; - if (TryGetEnvVar(filterMethodsRegex, methodFilterRegex)) { + if (TryGetEnvVar(filterMethodsRegexEnv, methodFilterRegex)) { try { myLogger->LogInformation("Creating regex from " + methodFilterRegex); regex = new std::regex(methodFilterRegex); diff --git a/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/DebugShadowStackSerializer.cpp b/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/DebugShadowStackSerializer.cpp index 250fd9660..175967dba 100644 --- a/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/DebugShadowStackSerializer.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/DebugShadowStackSerializer.cpp @@ -8,7 +8,7 @@ DebugShadowStackSerializer::DebugShadowStackSerializer(ICorProfilerInfo15* profi } void DebugShadowStackSerializer::Init() { - if (!TryGetEnvVar(shadowStackDebugSavePath, this->mySavePath)) { + if (!TryGetEnvVar(shadowStackDebugSavePathEnv, this->mySavePath)) { myLogger->LogError("Debug shadow stack save path was not defined"); return; } diff --git a/Procfiler/src/cpp/online/corprofiler/eventpipe/EventPipeWriter.cpp b/Procfiler/src/cpp/online/corprofiler/eventpipe/EventPipeWriter.cpp index bfbd87f52..37b6f4cdd 100644 --- a/Procfiler/src/cpp/online/corprofiler/eventpipe/EventPipeWriter.cpp +++ b/Procfiler/src/cpp/online/corprofiler/eventpipe/EventPipeWriter.cpp @@ -21,7 +21,7 @@ void EventPipeWriter::Init() { void EventPipeWriter::InitMethodsFilterRegex() { std::string value; - if (TryGetEnvVar(filterMethodsRegex, value)) { + if (TryGetEnvVar(filterMethodsRegexEnv, value)) { try { myMethodsFilterRegex = new std::regex(value); } diff --git a/Procfiler/src/cpp/shared/util/env_constants.h b/Procfiler/src/cpp/shared/util/env_constants.h index afd6cca8c..33c445913 100644 --- a/Procfiler/src/cpp/shared/util/env_constants.h +++ b/Procfiler/src/cpp/shared/util/env_constants.h @@ -5,16 +5,18 @@ const std::string trueEnvVarValue = "1"; -const std::string shadowStackDebugSavePath = "PROCFILER_DEBUG_SAVE_CALL_STACKS_PATH"; -const std::string enableConsoleLogging = "PROCFILER_ENABLE_CONSOLE_LOGGING"; -const std::string binaryStackSavePath = "PROCFILER_BINARY_SAVE_STACKS_PATH"; -const std::string eventPipeSaveShadowStack = "PROCFILER_EVENT_PIPE_SAVE_STACKS"; - -const std::string filterMethodsRegex = "PROCFILER_FILTER_METHODS_REGEX"; -const std::string filterMethodsDuringRuntime = "PROCFILER_FILTER_METHODS_DURING_RUNTIME"; -const std::string useSeparateBinStacksFiles = "PROCFILER_USE_SEPARATE_BINSTACKS_FILES"; +const std::string shadowStackDebugSavePathEnv = "PROCFILER_DEBUG_SAVE_CALL_STACKS_PATH"; +const std::string enableConsoleLoggingEnv = "PROCFILER_ENABLE_CONSOLE_LOGGING"; +const std::string binaryStackSavePathEnv = "PROCFILER_BINARY_SAVE_STACKS_PATH"; +const std::string eventPipeSaveShadowStackEnv = "PROCFILER_EVENT_PIPE_SAVE_STACKS"; + +const std::string filterMethodsRegexEnv = "PROCFILER_FILTER_METHODS_REGEX"; +const std::string filterMethodsDuringRuntimeEnv = "PROCFILER_FILTER_METHODS_DURING_RUNTIME"; +const std::string useSeparateBinStacksFilesEnv = "PROCFILER_USE_SEPARATE_BINSTACKS_FILES"; const std::string onlineSerializationEnv = "PROCFILER_ONLINE_SERIALIZATION"; +const std::string produceObjectBinStacksEnv = "PROCFILER_PRODUCE_OBJECT_BIN_STACKS"; + bool IsEnvVarDefined(const std::string& envVarName); bool TryGetEnvVar(const std::string& envVarName, std::string& value); diff --git a/Procfiler/src/cpp/shared/util/logging/ProcfilerLogger.cpp b/Procfiler/src/cpp/shared/util/logging/ProcfilerLogger.cpp index 71c2a87d2..fa9c6d96e 100644 --- a/Procfiler/src/cpp/shared/util/logging/ProcfilerLogger.cpp +++ b/Procfiler/src/cpp/shared/util/logging/ProcfilerLogger.cpp @@ -23,7 +23,7 @@ void ProcfilerLogger::LogInformation(const std::string& message) { } ProcfilerLogger::ProcfilerLogger() { - auto enableLoggingEnv = std::getenv(enableConsoleLogging.c_str()); + auto enableLoggingEnv = std::getenv(enableConsoleLoggingEnv.c_str()); myIsEnabled = enableLoggingEnv != nullptr && std::string(enableLoggingEnv) == "1"; } diff --git a/Procfiler/src/dotnet/Core/CppProcfiler/CppProfilerEnvs.cs b/Procfiler/src/dotnet/Core/CppProcfiler/CppProfilerEnvs.cs index 1060a16f3..756ced05c 100644 --- a/Procfiler/src/dotnet/Core/CppProcfiler/CppProfilerEnvs.cs +++ b/Procfiler/src/dotnet/Core/CppProcfiler/CppProfilerEnvs.cs @@ -10,4 +10,5 @@ public static class CppProfilerEnvs public const string MethodsFilteringDuringRuntime = "PROCFILER_FILTER_METHODS_DURING_RUNTIME"; public const string UseSeparateBinStacksFiles = "PROCFILER_USE_SEPARATE_BINSTACKS_FILES"; public const string OnlineSerialization = "PROCFILER_ONLINE_SERIALIZATION"; + public const string ProduceObjectBinStacks = "PROCFILER_PRODUCE_OBJECT_BIN_STACKS"; } \ No newline at end of file diff --git a/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Base/CollectCommandBase.CommandLine.cs b/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Base/CollectCommandBase.CommandLine.cs index 5f39afbaf..10b59c091 100644 --- a/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Base/CollectCommandBase.CommandLine.cs +++ b/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Base/CollectCommandBase.CommandLine.cs @@ -49,6 +49,7 @@ private CollectingClrEventsCommonContext CreateCommonContext(ParseResult parseRe var clearArtifacts = parseResult.GetValueForOption(ClearArtifactsOption); var writeAllEventMetadata = parseResult.GetValueForOption(WriteAllEventMetadata); var logSerializationFormat = parseResult.GetValueForOption(LogSerializationFormatOption); + var produceObjectBinStacks = parseResult.GetValueForOption(ProduceObjectBinStacks); var serializationCtx = new SerializationContext(fileFormat); var parseResultInfoProvider = new ParseResultInfoProviderImpl(parseResult); @@ -56,7 +57,7 @@ private CollectingClrEventsCommonContext CreateCommonContext(ParseResult parseRe return new CollectingClrEventsCommonContext( outputPath, serializationCtx, parseResultInfoProvider, arguments, category, clearBefore, duration, timeout, printOutput, methodsFilterRegex, processWaitTimeoutMs, useCppProfiler, useDuringRuntimeFiltering, cppProfilerUseConsoleLogging, - clearArtifacts, writeAllEventMetadata, logSerializationFormat); + clearArtifacts, writeAllEventMetadata, logSerializationFormat, produceObjectBinStacks); } private CollectClrEventsContext CreateCollectClrContextFrom(ParseResult parseResult) diff --git a/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Base/CollectCommandBase.Options.cs b/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Base/CollectCommandBase.Options.cs index 6b04e8806..c1fe7836c 100644 --- a/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Base/CollectCommandBase.Options.cs +++ b/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Base/CollectCommandBase.Options.cs @@ -37,6 +37,7 @@ private void AddCommonOptions(Command command) command.AddOption(UseCppProfilerConsoleLogging); command.AddOption(WriteAllEventMetadata); command.AddOption(LogSerializationFormatOption); + command.AddOption(ProduceObjectBinStacks); } private Option SelfContainedOption { get; } = @@ -122,4 +123,7 @@ private void AddCommonOptions(Command command) private Option LogSerializationFormatOption { get; } = new("--log-serialization-format", static () => LogFormat.Xes, "The format which will be used to store event logs"); + + private Option ProduceObjectBinStacks { get; } = + new("--produce-object-bin-stacks", static () => true, "Whether to store information about objects and types associated with methods calls"); } \ No newline at end of file diff --git a/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Context/Contexts.cs b/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Context/Contexts.cs index 810db2215..6c648ca75 100644 --- a/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Context/Contexts.cs +++ b/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Context/Contexts.cs @@ -24,7 +24,8 @@ public record struct CollectingClrEventsCommonContext( bool CppProfilerUseConsoleLogging, bool ClearArtifacts, bool WriteAllEventMetadata, - LogFormat LogSerializationFormat + LogFormat LogSerializationFormat, + bool ProduceObjectBinStacks ); public record CollectClrEventsContext(CollectingClrEventsCommonContext CommonContext); diff --git a/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Split/SplitEventsByMethodCommand.cs b/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Split/SplitEventsByMethodCommand.cs index ca87ceff8..87e9833e0 100644 --- a/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Split/SplitEventsByMethodCommand.cs +++ b/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Split/SplitEventsByMethodCommand.cs @@ -54,6 +54,9 @@ IProcfilerEventsFactory eventsFactory private Option ExtractOcelLogs { get; } = new("--extract-ocel-logs", static () => true, "Extract OCEL logs"); + private Option ExtractObjectMethodsLogs { get; } = + new("--extract-object-methods-logs", static () => true, "Extract object methods logs"); + public override void Execute(CollectClrEventsContext context) { @@ -210,6 +213,7 @@ protected override Command CreateCommandInternal() splitByMethodsCommand.AddOption(GroupAsyncMethods); splitByMethodsCommand.AddOption(TargetMethodsRegex); splitByMethodsCommand.AddOption(ExtractOcelLogs); + splitByMethodsCommand.AddOption(ExtractObjectMethodsLogs); return splitByMethodsCommand; } diff --git a/Procfiler/src/dotnet/Procfiler/src/Core/Processes/DotnetProcessLauncherDto.cs b/Procfiler/src/dotnet/Procfiler/src/Core/Processes/DotnetProcessLauncherDto.cs index 6e42f42f4..994e1055f 100644 --- a/Procfiler/src/dotnet/Procfiler/src/Core/Processes/DotnetProcessLauncherDto.cs +++ b/Procfiler/src/dotnet/Procfiler/src/Core/Processes/DotnetProcessLauncherDto.cs @@ -18,6 +18,7 @@ public readonly struct DotnetProcessLauncherDto public required bool UseDuringRuntimeFiltering { get; init; } public required bool CppProfilerUseConsoleLogging { get; init; } public required string WorkingDirectory { get; init; } + public required bool ProduceObjectBinStacks { get; init; } public static DotnetProcessLauncherDto CreateFrom( @@ -58,7 +59,8 @@ private static DotnetProcessLauncherDto CreateInternal( UseDuringRuntimeFiltering = context.UseDuringRuntimeFiltering, CppProfilerUseConsoleLogging = context.CppProfilerUseConsoleLogging, WorkingDirectory = workingDirectory, - BinaryStacksSavePath = binStacksSavePath + BinaryStacksSavePath = binStacksSavePath, + ProduceObjectBinStacks = context.ProduceObjectBinStacks }; public static DotnetProcessLauncherDto CreateFrom( diff --git a/Procfiler/src/dotnet/Procfiler/src/Core/Processes/IDotnetProcessLauncher.cs b/Procfiler/src/dotnet/Procfiler/src/Core/Processes/IDotnetProcessLauncher.cs index 449bf04cd..55764c08d 100644 --- a/Procfiler/src/dotnet/Procfiler/src/Core/Processes/IDotnetProcessLauncher.cs +++ b/Procfiler/src/dotnet/Procfiler/src/Core/Processes/IDotnetProcessLauncher.cs @@ -60,6 +60,11 @@ public void TryStartDotnetProcess(DotnetProcessLauncherDto launcherDto, Action

Date: Tue, 9 Sep 2025 23:13:35 +0300 Subject: [PATCH 002/189] Set ELT hooks based on the env variable --- .../ProcfilerCorProfilerCallback.cpp | 134 ++++++++++-------- 1 file changed, 76 insertions(+), 58 deletions(-) diff --git a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp index 168694e02..23604a149 100644 --- a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp @@ -5,17 +5,17 @@ #include "shadowstack/serializers/DebugShadowStackSerializer.h" #include "shadowstack/serializers/EventPipeShadowStackSerializer.h" -ProcfilerCorProfilerCallback* ourCallback; +ProcfilerCorProfilerCallback *ourCallback; -ProcfilerCorProfilerCallback* GetCallbackInstance() { +ProcfilerCorProfilerCallback *GetCallbackInstance() { return ourCallback; } -void StaticHandleFunctionEnter2(FunctionID functionId) { +void StaticHandleFunctionEnter(FunctionID functionId) { GetCallbackInstance()->HandleFunctionEnter2(functionId); } -void StaticHandleFunctionLeave2(FunctionID functionId) { +void StaticHandleFunctionLeave(FunctionID functionId) { GetCallbackInstance()->HandleFunctionLeave2(functionId); } @@ -23,6 +23,17 @@ void StaticHandleFunctionTailCall(FunctionID functionId) { GetCallbackInstance()->HandleFunctionTailCall(functionId); } +void StaticHandleFunctionEnter2(FunctionID funcId, UINT_PTR clientData, COR_PRF_FRAME_INFO func, + COR_PRF_FUNCTION_ARGUMENT_INFO *argumentInfo) { +} + +void StaticHandleFunctionLeave2(FunctionID funcId, UINT_PTR clientData, COR_PRF_FRAME_INFO func, + COR_PRF_FUNCTION_ARGUMENT_RANGE *retvalRange) { +} + +void StaticHandleFunctionTailCall2(FunctionID funcId, UINT_PTR clientData, COR_PRF_FRAME_INFO func) { +} + int64_t ProcfilerCorProfilerCallback::GetCurrentTimestamp() { LARGE_INTEGER value; @@ -49,13 +60,13 @@ void ProcfilerCorProfilerCallback::HandleFunctionTailCall(FunctionID funcId) { myShadowStack->AddFunctionFinished(funcId, GetCurrentManagedThreadId(), timestamp); } -ICorProfilerInfo15* ProcfilerCorProfilerCallback::GetProfilerInfo() { +ICorProfilerInfo15 *ProcfilerCorProfilerCallback::GetProfilerInfo() { return myProfilerInfo; } -HRESULT ProcfilerCorProfilerCallback::Initialize(IUnknown* pICorProfilerInfoUnk) { +HRESULT ProcfilerCorProfilerCallback::Initialize(IUnknown *pICorProfilerInfoUnk) { myLogger->LogInformation("Started initializing CorProfiler callback"); - void** ptr = reinterpret_cast(&this->myProfilerInfo); + void **ptr = reinterpret_cast(&this->myProfilerInfo); HRESULT result = pICorProfilerInfoUnk->QueryInterface(IID_ICorProfilerInfo15, ptr); if (FAILED(result)) { @@ -72,11 +83,19 @@ HRESULT ProcfilerCorProfilerCallback::Initialize(IUnknown* pICorProfilerInfoUnk) return E_FAIL; } - result = myProfilerInfo->SetEnterLeaveFunctionHooks( - StaticHandleFunctionEnter2, - StaticHandleFunctionLeave2, - StaticHandleFunctionTailCall - ); + if (IsEnvVarTrue(produceObjectBinStacksEnv)) { + result = myProfilerInfo->SetEnterLeaveFunctionHooks2( + StaticHandleFunctionEnter2, + StaticHandleFunctionLeave2, + StaticHandleFunctionTailCall2 + ); + } else { + result = myProfilerInfo->SetEnterLeaveFunctionHooks( + StaticHandleFunctionEnter, + StaticHandleFunctionLeave, + StaticHandleFunctionTailCall + ); + } if (FAILED(result)) { myLogger->LogInformation("Failed to set enter-leave hooks: " + std::to_string(result)); @@ -140,10 +159,9 @@ HRESULT ProcfilerCorProfilerCallback::Shutdown() { return S_OK; } -ProcfilerCorProfilerCallback::ProcfilerCorProfilerCallback(ProcfilerLogger* logger) : - myRefCount(0), - myProfilerInfo(nullptr), - myLogger(logger) { +ProcfilerCorProfilerCallback::ProcfilerCorProfilerCallback(ProcfilerLogger *logger) : myRefCount(0), + myProfilerInfo(nullptr), + myLogger(logger) { ourCallback = this; myShadowStack = nullptr; myShadowStackSerializer = nullptr; @@ -230,7 +248,7 @@ ProcfilerCorProfilerCallback::JITCompilationFinished(FunctionID functionId, HRES return S_OK; } -HRESULT ProcfilerCorProfilerCallback::JITCachedFunctionSearchStarted(FunctionID functionId, BOOL* pbUseCachedFunction) { +HRESULT ProcfilerCorProfilerCallback::JITCachedFunctionSearchStarted(FunctionID functionId, BOOL *pbUseCachedFunction) { return S_OK; } @@ -242,7 +260,7 @@ HRESULT ProcfilerCorProfilerCallback::JITFunctionPitched(FunctionID functionId) return S_OK; } -HRESULT ProcfilerCorProfilerCallback::JITInlining(FunctionID callerId, FunctionID calleeId, BOOL* pfShouldInline) { +HRESULT ProcfilerCorProfilerCallback::JITInlining(FunctionID callerId, FunctionID calleeId, BOOL *pfShouldInline) { return S_OK; } @@ -262,11 +280,11 @@ HRESULT ProcfilerCorProfilerCallback::RemotingClientInvocationStarted() { return S_OK; } -HRESULT ProcfilerCorProfilerCallback::RemotingClientSendingMessage(GUID* pCookie, BOOL fIsAsync) { +HRESULT ProcfilerCorProfilerCallback::RemotingClientSendingMessage(GUID *pCookie, BOOL fIsAsync) { return S_OK; } -HRESULT ProcfilerCorProfilerCallback::RemotingClientReceivingReply(GUID* pCookie, BOOL fIsAsync) { +HRESULT ProcfilerCorProfilerCallback::RemotingClientReceivingReply(GUID *pCookie, BOOL fIsAsync) { return S_OK; } @@ -274,7 +292,7 @@ HRESULT ProcfilerCorProfilerCallback::RemotingClientInvocationFinished() { return S_OK; } -HRESULT ProcfilerCorProfilerCallback::RemotingServerReceivingMessage(GUID* pCookie, BOOL fIsAsync) { +HRESULT ProcfilerCorProfilerCallback::RemotingServerReceivingMessage(GUID *pCookie, BOOL fIsAsync) { return S_OK; } @@ -286,7 +304,7 @@ HRESULT ProcfilerCorProfilerCallback::RemotingServerInvocationReturned() { return S_OK; } -HRESULT ProcfilerCorProfilerCallback::RemotingServerSendingReply(GUID* pCookie, BOOL fIsAsync) { +HRESULT ProcfilerCorProfilerCallback::RemotingServerSendingReply(GUID *pCookie, BOOL fIsAsync) { return S_OK; } @@ -329,9 +347,9 @@ HRESULT ProcfilerCorProfilerCallback::RuntimeThreadResumed(ThreadID threadId) { } HRESULT ProcfilerCorProfilerCallback::MovedReferences(ULONG cMovedObjectIDRanges, - ObjectID* oldObjectIDRangeStart, - ObjectID* newObjectIDRangeStart, - ULONG* cObjectIDRangeLength) { + ObjectID *oldObjectIDRangeStart, + ObjectID *newObjectIDRangeStart, + ULONG *cObjectIDRangeLength) { return S_OK; } @@ -339,18 +357,18 @@ HRESULT ProcfilerCorProfilerCallback::ObjectAllocated(ObjectID objectId, ClassID return S_OK; } -HRESULT ProcfilerCorProfilerCallback::ObjectsAllocatedByClass(ULONG cClassCount, ClassID* classIds, ULONG* cObjects) { +HRESULT ProcfilerCorProfilerCallback::ObjectsAllocatedByClass(ULONG cClassCount, ClassID *classIds, ULONG *cObjects) { return S_OK; } HRESULT ProcfilerCorProfilerCallback::ObjectReferences(ObjectID objectId, ClassID classId, ULONG cObjectRefs, - ObjectID* objectRefIds) { + ObjectID *objectRefIds) { return S_OK; } -HRESULT ProcfilerCorProfilerCallback::RootReferences(ULONG cRootRefs, ObjectID* rootRefIds) { +HRESULT ProcfilerCorProfilerCallback::RootReferences(ULONG cRootRefs, ObjectID *rootRefIds) { return S_OK; } @@ -408,15 +426,15 @@ HRESULT ProcfilerCorProfilerCallback::ExceptionCatcherLeave() { HRESULT ProcfilerCorProfilerCallback::COMClassicVTableCreated(ClassID wrappedClassId, - const GUID& implementedIID, - void* pVTable, + const GUID &implementedIID, + void *pVTable, ULONG cSlots) { return S_OK; } HRESULT ProcfilerCorProfilerCallback::COMClassicVTableDestroyed(ClassID wrappedClassId, - const GUID& implementedIID, - void* pVTable) { + const GUID &implementedIID, + void *pVTable) { return S_OK; } @@ -428,19 +446,19 @@ HRESULT ProcfilerCorProfilerCallback::ExceptionCLRCatcherExecute() { return S_OK; } -HRESULT ProcfilerCorProfilerCallback::ThreadNameChanged(ThreadID threadId, ULONG cchName, WCHAR* name) { +HRESULT ProcfilerCorProfilerCallback::ThreadNameChanged(ThreadID threadId, ULONG cchName, WCHAR *name) { return S_OK; } HRESULT ProcfilerCorProfilerCallback::GarbageCollectionStarted(int cGenerations, - BOOL* generationCollected, + BOOL *generationCollected, COR_PRF_GC_REASON reason) { return S_OK; } HRESULT ProcfilerCorProfilerCallback::SurvivingReferences(ULONG cSurvivingObjectIDRanges, - ObjectID* objectIDRangeStart, - ULONG* cObjectIDRangeLength) { + ObjectID *objectIDRangeStart, + ULONG *cObjectIDRangeLength) { return S_OK; } @@ -454,10 +472,10 @@ HRESULT ProcfilerCorProfilerCallback::FinalizeableObjectQueued(DWORD finalizerFl HRESULT ProcfilerCorProfilerCallback::RootReferences2(ULONG cRootRefs, - ObjectID* rootRefIds, - COR_PRF_GC_ROOT_KIND* rootKinds, - COR_PRF_GC_ROOT_FLAGS* rootFlags, - UINT_PTR* rootIds) { + ObjectID *rootRefIds, + COR_PRF_GC_ROOT_KIND *rootKinds, + COR_PRF_GC_ROOT_FLAGS *rootFlags, + UINT_PTR *rootIds) { return S_OK; } @@ -469,8 +487,8 @@ HRESULT ProcfilerCorProfilerCallback::HandleDestroyed(GCHandleID handleId) { return S_OK; } -HRESULT ProcfilerCorProfilerCallback::InitializeForAttach(IUnknown* pCorProfilerInfoUnk, - void* pvClientData, +HRESULT ProcfilerCorProfilerCallback::InitializeForAttach(IUnknown *pCorProfilerInfoUnk, + void *pvClientData, UINT cbClientData) { return S_OK; } @@ -490,7 +508,7 @@ ProcfilerCorProfilerCallback::ReJITCompilationStarted(FunctionID functionId, ReJ HRESULT ProcfilerCorProfilerCallback::GetReJITParameters(ModuleID moduleId, mdMethodDef methodId, - ICorProfilerFunctionControl* pFunctionControl) { + ICorProfilerFunctionControl *pFunctionControl) { return S_OK; } @@ -509,27 +527,27 @@ HRESULT ProcfilerCorProfilerCallback::ReJITError(ModuleID moduleId, } HRESULT ProcfilerCorProfilerCallback::MovedReferences2(ULONG cMovedObjectIDRanges, - ObjectID* oldObjectIDRangeStart, - ObjectID* newObjectIDRangeStart, - SIZE_T* cObjectIDRangeLength) { + ObjectID *oldObjectIDRangeStart, + ObjectID *newObjectIDRangeStart, + SIZE_T *cObjectIDRangeLength) { return S_OK; } HRESULT ProcfilerCorProfilerCallback::SurvivingReferences2(ULONG cSurvivingObjectIDRanges, - ObjectID* objectIDRangeStart, - SIZE_T* cObjectIDRangeLength) { + ObjectID *objectIDRangeStart, + SIZE_T *cObjectIDRangeLength) { return S_OK; } HRESULT ProcfilerCorProfilerCallback::ConditionalWeakTableElementReferences(ULONG cRootRefs, - ObjectID* keyRefIds, - ObjectID* valueRefIds, - GCHandleID* rootIds) { + ObjectID *keyRefIds, + ObjectID *valueRefIds, + GCHandleID *rootIds) { return S_OK; } -HRESULT ProcfilerCorProfilerCallback::GetAssemblyReferences(const WCHAR* wszAssemblyPath, - ICorProfilerAssemblyReferenceProvider* pAsmRefProvider) { +HRESULT ProcfilerCorProfilerCallback::GetAssemblyReferences(const WCHAR *wszAssemblyPath, + ICorProfilerAssemblyReferenceProvider *pAsmRefProvider) { return S_OK; } @@ -555,7 +573,7 @@ HRESULT ProcfilerCorProfilerCallback::EventPipeProviderCreated(EVENTPIPE_PROVIDE return S_OK; } -HRESULT ProcfilerCorProfilerCallback::LoadAsNotificationOnly(BOOL* pbNotificationOnly) { +HRESULT ProcfilerCorProfilerCallback::LoadAsNotificationOnly(BOOL *pbNotificationOnly) { return S_OK; } @@ -570,7 +588,7 @@ HRESULT ProcfilerCorProfilerCallback::EventPipeEventDelivered(EVENTPIPE_PROVIDER LPCGUID pRelatedActivityId, ThreadID eventThread, ULONG numStackFrames, - UINT_PTR* stackFrames) { + UINT_PTR *stackFrames) { return S_OK; } @@ -582,7 +600,7 @@ ProcfilerCorProfilerCallback::~ProcfilerCorProfilerCallback() { delete myShadowStack; myShadowStack = nullptr; - + delete myShadowStackSerializer; myShadowStackSerializer = nullptr; } @@ -598,7 +616,7 @@ DWORD ProcfilerCorProfilerCallback::GetCurrentManagedThreadId() { } -HRESULT STDMETHODCALLTYPE ProcfilerCorProfilerCallback::QueryInterface(REFIID riid, void** ppvObject) { +HRESULT STDMETHODCALLTYPE ProcfilerCorProfilerCallback::QueryInterface(REFIID riid, void **ppvObject) { if (riid == IID_ICorProfilerCallback11 || riid == IID_ICorProfilerCallback10 || riid == IID_ICorProfilerCallback9 || @@ -632,4 +650,4 @@ ULONG STDMETHODCALLTYPE ProcfilerCorProfilerCallback::Release() { } return count; -} \ No newline at end of file +} From a209f13f6bd0b5792e336ae10e1c4a0e4081d20d Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Wed, 10 Sep 2025 15:51:10 +0300 Subject: [PATCH 003/189] Meaningless refactorings --- Procfiler/src/cpp/offline/ClassFactory.cpp | 4 +-- .../ProcfilerCorProfilerCallback.cpp | 30 +++++++++---------- .../ProcfilerCorProfilerCallback.h | 7 ++--- .../shadowstack/EventsWithThreadId.cpp | 6 ++-- .../shadowstack/EventsWithThreadId.h | 6 ++-- .../corprofiler/shadowstack/ShadowStack.cpp | 16 +++++----- .../corprofiler/shadowstack/ShadowStack.h | 6 ++-- .../BinaryShadowStackSerializer.cpp | 28 ++++++++--------- .../serializers/BinaryShadowStackSerializer.h | 11 ++++--- .../DebugShadowStackSerializer.cpp | 5 ++-- .../serializers/DebugShadowStackSerializer.h | 1 - .../EventPipeShadowStackSerializer.cpp | 30 +++++++++---------- .../EventPipeShadowStackSerializer.h | 5 ++-- .../serializers/ShadowStackSerializer.h | 2 +- .../offline/corprofiler/shadowstack/utils.cpp | 4 +-- .../offline/corprofiler/shadowstack/utils.h | 2 +- Procfiler/src/cpp/offline/dllmain.cpp | 2 +- .../src/cpp/shared/info/AssemblyInfo.cpp | 6 ++-- Procfiler/src/cpp/shared/info/AssemblyInfo.h | 8 ++--- .../src/cpp/shared/info/FunctionInfo.cpp | 6 ++-- Procfiler/src/cpp/shared/info/FunctionInfo.h | 4 +-- .../shared/info/GenericMethodSignature.cpp | 2 +- .../src/cpp/shared/info/MethodSignature.cpp | 4 +-- Procfiler/src/cpp/shared/info/ModuleInfo.cpp | 6 ++-- Procfiler/src/cpp/shared/info/ModuleInfo.h | 6 ++-- Procfiler/src/cpp/shared/info/TypeInfo.cpp | 22 +++++++------- Procfiler/src/cpp/shared/info/TypeInfo.h | 18 +++++------ .../cpp/shared/info/clr/profilerstring.hpp | 26 ++++++++-------- Procfiler/src/cpp/shared/info/parser.cpp | 9 ++---- Procfiler/src/cpp/shared/miniutf/miniutf.cpp | 28 ++++++++--------- .../src/cpp/shared/util/env_constants.cpp | 4 +-- Procfiler/src/cpp/shared/util/helpers.cpp | 12 ++++---- .../shared/util/logging/ProcfilerLogger.cpp | 12 ++++---- .../cpp/shared/util/logging/ProcfilerLogger.h | 4 +-- Procfiler/src/cpp/shared/util/util.cpp | 20 ++++++------- 35 files changed, 176 insertions(+), 186 deletions(-) diff --git a/Procfiler/src/cpp/offline/ClassFactory.cpp b/Procfiler/src/cpp/offline/ClassFactory.cpp index d45c9db6c..276033049 100644 --- a/Procfiler/src/cpp/offline/ClassFactory.cpp +++ b/Procfiler/src/cpp/offline/ClassFactory.cpp @@ -30,7 +30,7 @@ ULONG STDMETHODCALLTYPE ClassFactory::AddRef() ULONG STDMETHODCALLTYPE ClassFactory::Release() { - int count = std::atomic_fetch_sub(&this->refCount, 1) - 1; + const int count = std::atomic_fetch_sub(&this->refCount, 1) - 1; if (count <= 0) { delete this; @@ -47,7 +47,7 @@ HRESULT STDMETHODCALLTYPE ClassFactory::CreateInstance(IUnknown *pUnkOuter, REFI return CLASS_E_NOAGGREGATION; } - auto p = new ProcfilerCorProfilerCallback(new ProcfilerLogger()); + const auto p = new ProcfilerCorProfilerCallback(new ProcfilerLogger()); return p->QueryInterface(riid, ppvObject); } diff --git a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp index 23604a149..3ea091d36 100644 --- a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp @@ -11,15 +11,15 @@ ProcfilerCorProfilerCallback *GetCallbackInstance() { return ourCallback; } -void StaticHandleFunctionEnter(FunctionID functionId) { +void StaticHandleFunctionEnter(const FunctionID functionId) { GetCallbackInstance()->HandleFunctionEnter2(functionId); } -void StaticHandleFunctionLeave(FunctionID functionId) { +void StaticHandleFunctionLeave(const FunctionID functionId) { GetCallbackInstance()->HandleFunctionLeave2(functionId); } -void StaticHandleFunctionTailCall(FunctionID functionId) { +void StaticHandleFunctionTailCall(const FunctionID functionId) { GetCallbackInstance()->HandleFunctionTailCall(functionId); } @@ -34,7 +34,7 @@ void StaticHandleFunctionLeave2(FunctionID funcId, UINT_PTR clientData, COR_PRF_ void StaticHandleFunctionTailCall2(FunctionID funcId, UINT_PTR clientData, COR_PRF_FRAME_INFO func) { } -int64_t ProcfilerCorProfilerCallback::GetCurrentTimestamp() { +int64_t ProcfilerCorProfilerCallback::GetCurrentTimestamp() const { LARGE_INTEGER value; if (!QueryPerformanceCounter2(&value)) { @@ -45,22 +45,22 @@ int64_t ProcfilerCorProfilerCallback::GetCurrentTimestamp() { return value.QuadPart; } -void ProcfilerCorProfilerCallback::HandleFunctionEnter2(FunctionID funcId) { - auto timestamp = GetCurrentTimestamp(); +void ProcfilerCorProfilerCallback::HandleFunctionEnter2(const FunctionID funcId) { + const auto timestamp = GetCurrentTimestamp(); myShadowStack->AddFunctionEnter(funcId, GetCurrentManagedThreadId(), timestamp); } -void ProcfilerCorProfilerCallback::HandleFunctionLeave2(FunctionID funcId) { - auto timestamp = GetCurrentTimestamp(); +void ProcfilerCorProfilerCallback::HandleFunctionLeave2(const FunctionID funcId) { + const auto timestamp = GetCurrentTimestamp(); myShadowStack->AddFunctionFinished(funcId, GetCurrentManagedThreadId(), timestamp); } -void ProcfilerCorProfilerCallback::HandleFunctionTailCall(FunctionID funcId) { - auto timestamp = GetCurrentTimestamp(); +void ProcfilerCorProfilerCallback::HandleFunctionTailCall(const FunctionID funcId) { + const auto timestamp = GetCurrentTimestamp(); myShadowStack->AddFunctionFinished(funcId, GetCurrentManagedThreadId(), timestamp); } -ICorProfilerInfo15 *ProcfilerCorProfilerCallback::GetProfilerInfo() { +ICorProfilerInfo15 *ProcfilerCorProfilerCallback::GetProfilerInfo() const { return myProfilerInfo; } @@ -76,7 +76,7 @@ HRESULT ProcfilerCorProfilerCallback::Initialize(IUnknown *pICorProfilerInfoUnk) InitializeShadowStack(); - DWORD eventMask = COR_PRF_MONITOR_ENTERLEAVE | COR_PRF_MONITOR_EXCEPTIONS; + constexpr DWORD eventMask = COR_PRF_MONITOR_ENTERLEAVE | COR_PRF_MONITOR_EXCEPTIONS; result = myProfilerInfo->SetEventMask(eventMask); if (FAILED(result)) { myLogger->LogInformation("Failed to set event mask: " + std::to_string(result)); @@ -107,7 +107,7 @@ HRESULT ProcfilerCorProfilerCallback::Initialize(IUnknown *pICorProfilerInfoUnk) } void ProcfilerCorProfilerCallback::InitializeShadowStack() { - auto onlineSerialization = IsEnvVarTrue(onlineSerializationEnv); + const auto onlineSerialization = IsEnvVarTrue(onlineSerializationEnv); myShadowStack = new ShadowStack(this->myProfilerInfo, myLogger, onlineSerialization); if (onlineSerialization) { @@ -127,7 +127,7 @@ void ProcfilerCorProfilerCallback::InitializeShadowStack() { myShadowStackSerializer->Init(); } -HRESULT ProcfilerCorProfilerCallback::ExceptionCatcherEnter(FunctionID functionId, ObjectID objectId) { +HRESULT ProcfilerCorProfilerCallback::ExceptionCatcherEnter(const FunctionID functionId, ObjectID objectId) { myShadowStack->HandleExceptionCatchEnter(functionId, GetCurrentManagedThreadId(), GetCurrentTimestamp()); return S_OK; } @@ -643,7 +643,7 @@ ULONG STDMETHODCALLTYPE ProcfilerCorProfilerCallback::AddRef() { } ULONG STDMETHODCALLTYPE ProcfilerCorProfilerCallback::Release() { - int count = std::atomic_fetch_sub(&this->myRefCount, 1) - 1; + const int count = std::atomic_fetch_sub(&this->myRefCount, 1) - 1; if (count <= 0) { delete this; diff --git a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.h b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.h index 0af970348..098504df3 100644 --- a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.h +++ b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.h @@ -7,8 +7,7 @@ #include "shadowstack/serializers/ShadowStackSerializer.h" #include -class ProcfilerCorProfilerCallback : public ICorProfilerCallback11 { -private: +class ProcfilerCorProfilerCallback final : public ICorProfilerCallback11 { ProcfilerLogger* myLogger; ICorProfilerInfo15* myProfilerInfo; std::atomic myRefCount; @@ -16,14 +15,14 @@ class ProcfilerCorProfilerCallback : public ICorProfilerCallback11 { ShadowStackSerializer* myShadowStackSerializer; DWORD GetCurrentManagedThreadId(); - int64_t GetCurrentTimestamp(); + int64_t GetCurrentTimestamp() const; void InitializeShadowStack(); public: explicit ProcfilerCorProfilerCallback(ProcfilerLogger* logger); ~ProcfilerCorProfilerCallback(); - ICorProfilerInfo15* GetProfilerInfo(); + ICorProfilerInfo15* GetProfilerInfo() const; void HandleFunctionEnter2(FunctionID funcId); void HandleFunctionLeave2(FunctionID funcId); diff --git a/Procfiler/src/cpp/offline/corprofiler/shadowstack/EventsWithThreadId.cpp b/Procfiler/src/cpp/offline/corprofiler/shadowstack/EventsWithThreadId.cpp index d2eb8d4c5..ebbda3a43 100644 --- a/Procfiler/src/cpp/offline/corprofiler/shadowstack/EventsWithThreadId.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/shadowstack/EventsWithThreadId.cpp @@ -25,8 +25,8 @@ void EventsWithThreadId::PutFunctionShouldLogDecision(FunctionID& id, bool shoul ShouldLogFuncs->insert({id, shouldLog}); } -EventsWithThreadIdOnline::EventsWithThreadIdOnline(std::string& directory, ThreadID threadId) { - std::string savePath = directory + "binstack_" + std::to_string(threadId) + ".bin"; +EventsWithThreadIdOnline::EventsWithThreadIdOnline(const std::string& directory, ThreadID threadId) { + const std::string savePath = directory + "binstack_" + std::to_string(threadId) + ".bin"; myFout = new std::ofstream(savePath, std::ios::binary); myFout->write((char*) &threadId, sizeof(long long)); @@ -37,7 +37,7 @@ EventsWithThreadIdOnline::EventsWithThreadIdOnline(std::string& directory, Threa } EventsWithThreadIdOnline::~EventsWithThreadIdOnline() { - auto streamPos = myFout->tellp(); + const auto streamPos = myFout->tellp(); myFout->seekp(myFramesCountPos); myFout->write((char*) &writtenFrames, sizeof(long long)); myFout->seekp(streamPos); diff --git a/Procfiler/src/cpp/offline/corprofiler/shadowstack/EventsWithThreadId.h b/Procfiler/src/cpp/offline/corprofiler/shadowstack/EventsWithThreadId.h index 63da170d0..6a3f37772 100644 --- a/Procfiler/src/cpp/offline/corprofiler/shadowstack/EventsWithThreadId.h +++ b/Procfiler/src/cpp/offline/corprofiler/shadowstack/EventsWithThreadId.h @@ -39,12 +39,12 @@ struct EventsWithThreadId { void PutFunctionShouldLogDecision(FunctionID& id, bool shouldLog) const; }; -struct EventsWithThreadIdOnline : public EventsWithThreadId { +struct EventsWithThreadIdOnline final : EventsWithThreadId { std::ofstream* myFout{nullptr}; std::ofstream::pos_type myFramesCountPos{}; long long writtenFrames{0}; - explicit EventsWithThreadIdOnline(std::string& directory, ThreadID threadId); + explicit EventsWithThreadIdOnline(const std::string& directory, ThreadID threadId); ~EventsWithThreadIdOnline() override; @@ -52,7 +52,7 @@ struct EventsWithThreadIdOnline : public EventsWithThreadId { }; -struct EventsWithThreadIdOffline : public EventsWithThreadId { +struct EventsWithThreadIdOffline : EventsWithThreadId { std::vector* Events{nullptr}; explicit EventsWithThreadIdOffline(); diff --git a/Procfiler/src/cpp/offline/corprofiler/shadowstack/ShadowStack.cpp b/Procfiler/src/cpp/offline/corprofiler/shadowstack/ShadowStack.cpp index 840bd1b47..c43cc169a 100644 --- a/Procfiler/src/cpp/offline/corprofiler/shadowstack/ShadowStack.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/shadowstack/ShadowStack.cpp @@ -31,7 +31,7 @@ ShadowStack::ShadowStack(ICorProfilerInfo15* profilerInfo, ProcfilerLogger* logg } ShadowStack::~ShadowStack() { - for (auto& pair: *GetAllStacks()) { + for (const auto& pair: *GetAllStacks()) { delete pair.second; } } @@ -49,7 +49,7 @@ void ShadowStack::AddFunctionEnter(FunctionID id, DWORD threadId, int64_t timest } } -bool ShadowStack::ShouldAddFunc(FunctionID& id, DWORD threadId) { +bool ShadowStack::ShouldAddFunc(FunctionID& id, DWORD threadId) const { if (myFilterRegex == nullptr) return true; const auto events = GetOrCreatePerThreadEvents(myLogger, threadId, myOnlineSerialization); @@ -87,10 +87,10 @@ void ShadowStack::HandleExceptionCatchEnter(FunctionID catcherFunctionId, DWORD if (!CanProcessFunctionEvents()) return; - auto events = GetOrCreatePerThreadEvents(myLogger, threadId, myOnlineSerialization); - auto stack = events->CurrentStack; + const auto events = GetOrCreatePerThreadEvents(myLogger, threadId, myOnlineSerialization); + const auto stack = events->CurrentStack; while (!stack->empty()) { - auto top = stack->top(); + const auto top = stack->top(); if (top == catcherFunctionId) { break; } @@ -125,7 +125,7 @@ EventsWithThreadId* ShadowStack::GetOrCreatePerThreadEvents(ProcfilerLogger* log return ourEvents; } -std::map* ShadowStack::GetAllStacks() const { +std::map* ShadowStack::GetAllStacks() { return &ourEventsPerThreads; } @@ -136,8 +136,8 @@ void ShadowStack::AdjustShadowStacks() { } for (const auto& pair : *GetAllStacks()) { - auto events = pair.second; - auto stack = events->CurrentStack; + const auto events = pair.second; + const auto stack = events->CurrentStack; while (!stack->empty()) { const auto& top = stack->top(); diff --git a/Procfiler/src/cpp/offline/corprofiler/shadowstack/ShadowStack.h b/Procfiler/src/cpp/offline/corprofiler/shadowstack/ShadowStack.h index 2f809de8b..4ade38165 100644 --- a/Procfiler/src/cpp/offline/corprofiler/shadowstack/ShadowStack.h +++ b/Procfiler/src/cpp/offline/corprofiler/shadowstack/ShadowStack.h @@ -25,7 +25,6 @@ #endif class ShadowStack { -private: static EventsWithThreadId* GetOrCreatePerThreadEvents(ProcfilerLogger* logger, DWORD threadId, bool onlineSerialization); std::regex* myFilterRegex{nullptr}; @@ -37,7 +36,7 @@ class ShadowStack { std::atomic myCanProcessFunctionEvents{true}; bool CanProcessFunctionEvents(); - bool ShouldAddFunc(FunctionID& id, DWORD threadId); + bool ShouldAddFunc(FunctionID& id, DWORD threadId) const; public: explicit ShadowStack(ICorProfilerInfo15* profilerInfo, ProcfilerLogger* logger, bool onlineSerialization); @@ -49,7 +48,8 @@ class ShadowStack { void SuppressFurtherMethodsEvents(); void WaitForPendingMethodsEvents(); void AdjustShadowStacks(); - std::map* GetAllStacks() const; + + static std::map* GetAllStacks(); }; struct FunctionEventProcessingCookie { diff --git a/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/BinaryShadowStackSerializer.cpp b/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/BinaryShadowStackSerializer.cpp index ffeebe8a8..e7be9e483 100644 --- a/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/BinaryShadowStackSerializer.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/BinaryShadowStackSerializer.cpp @@ -22,7 +22,7 @@ void BinaryShadowStackSerializer::Init() { } void BinaryShadowStackSerializer::Serialize(ShadowStack* shadowStack) { - if (mySavePath.length() == 0) { + if (mySavePath.empty()) { myLogger->LogError("Will not serialize shadow stack to binary format as save path was not provided"); return; } @@ -37,14 +37,14 @@ void BinaryShadowStackSerializer::Serialize(ShadowStack* shadowStack) { } void BinaryShadowStackSerializer::WriteThreadStack(ThreadID threadId, - std::vector* events, + const std::vector* events, std::ofstream& fout, std::set& filteredOutFunctions, - std::regex* methodsFilterRegex) { + const std::regex* methodsFilterRegex) const { fout.write((char*) &threadId, sizeof(long long)); auto framesCount = (long long) events->size(); - auto countPos = fout.tellp(); + const auto countPos = fout.tellp(); fout.write((char*) &framesCount, sizeof(long long)); long long writtenFrames = 0; @@ -71,13 +71,13 @@ void BinaryShadowStackSerializer::WriteThreadStack(ThreadID threadId, ++writtenFrames; } - auto streamPos = fout.tellp(); + const auto streamPos = fout.tellp(); fout.seekp(countPos); fout.write((char*) &writtenFrames, sizeof(long long)); fout.seekp(streamPos); } -std::regex* BinaryShadowStackSerializer::TryCreateMethodsFilterRegex() { +std::regex* BinaryShadowStackSerializer::TryCreateMethodsFilterRegex() const { std::string methodFilterRegex; std::regex* regex = nullptr; if (TryGetEnvVar(filterMethodsRegexEnv, methodFilterRegex)) { @@ -94,14 +94,14 @@ std::regex* BinaryShadowStackSerializer::TryCreateMethodsFilterRegex() { return regex; } -void BinaryShadowStackSerializer::SerializeInSingleFile(ShadowStack* shadowStack) { +void BinaryShadowStackSerializer::SerializeInSingleFile(const ShadowStack* shadowStack) const { myLogger->LogInformation("Started serializing shadow stack to binary file"); std::ofstream fout(mySavePath, std::ios::binary); std::set filteredOutFunctions; - std::regex* regex = TryCreateMethodsFilterRegex(); + const std::regex* regex = TryCreateMethodsFilterRegex(); - for (auto& pair: *(shadowStack->GetAllStacks())) { - auto offlineEvents = dynamic_cast(pair.second); + for (const auto& pair: *ShadowStack::GetAllStacks()) { + const auto offlineEvents = dynamic_cast(pair.second); if (offlineEvents != nullptr) { WriteThreadStack(pair.first, offlineEvents->Events, fout, filteredOutFunctions, regex); } @@ -111,13 +111,13 @@ void BinaryShadowStackSerializer::SerializeInSingleFile(ShadowStack* shadowStack delete regex; } -void BinaryShadowStackSerializer::SerializeInDifferentFiles(ShadowStack* shadowStack) { +void BinaryShadowStackSerializer::SerializeInDifferentFiles(const ShadowStack* shadowStack) const { myLogger->LogInformation("Started serializing shadow stack to several binary files"); std::set filteredOutFunctions; - std::regex* regex = TryCreateMethodsFilterRegex(); + const std::regex* regex = TryCreateMethodsFilterRegex(); - for (auto& pair: *(shadowStack->GetAllStacks())) { - auto offlineEvents = dynamic_cast(pair.second); + for (auto& pair: *ShadowStack::GetAllStacks()) { + const auto offlineEvents = dynamic_cast(pair.second); if (offlineEvents != nullptr) { std::string filePath = createBinStackSavePath(mySavePath, pair.first); diff --git a/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/BinaryShadowStackSerializer.h b/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/BinaryShadowStackSerializer.h index 22dcee371..8633967ee 100644 --- a/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/BinaryShadowStackSerializer.h +++ b/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/BinaryShadowStackSerializer.h @@ -6,22 +6,21 @@ #include "../EventsWithThreadId.h" class BinaryShadowStackSerializer : public ShadowStackSerializer { -private: std::string mySavePath; ICorProfilerInfo15* myProfilerInfo; ProcfilerLogger* myLogger; bool myUseSeparateBinstacksFiles{false}; - void SerializeInSingleFile(ShadowStack* shadowStack); - void SerializeInDifferentFiles(ShadowStack* shadowStack); + void SerializeInSingleFile(const ShadowStack* shadowStack) const; + void SerializeInDifferentFiles(const ShadowStack* shadowStack) const; void WriteThreadStack(ThreadID threadId, - std::vector* events, + const std::vector* events, std::ofstream& fout, std::set& filteredOutFunctions, - std::regex* methodsFilterRegex); + const std::regex* methodsFilterRegex) const; - std::regex* TryCreateMethodsFilterRegex(); + std::regex* TryCreateMethodsFilterRegex() const; public: explicit BinaryShadowStackSerializer(ICorProfilerInfo15* profilerInfo, ProcfilerLogger* logger); ~BinaryShadowStackSerializer() override = default; diff --git a/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/DebugShadowStackSerializer.cpp b/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/DebugShadowStackSerializer.cpp index 175967dba..b688fb07d 100644 --- a/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/DebugShadowStackSerializer.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/DebugShadowStackSerializer.cpp @@ -10,12 +10,11 @@ DebugShadowStackSerializer::DebugShadowStackSerializer(ICorProfilerInfo15* profi void DebugShadowStackSerializer::Init() { if (!TryGetEnvVar(shadowStackDebugSavePathEnv, this->mySavePath)) { myLogger->LogError("Debug shadow stack save path was not defined"); - return; } } void DebugShadowStackSerializer::Serialize(ShadowStack* shadowStack) { - if (mySavePath.length() == 0) { + if (mySavePath.empty()) { return; } @@ -24,7 +23,7 @@ void DebugShadowStackSerializer::Serialize(ShadowStack* shadowStack) { const std::string startPrefix = "[START]: "; const std::string endPrefix = "[ END ]: "; - for (const auto& pair: *(shadowStack->GetAllStacks())) { + for (const auto& pair: *ShadowStack::GetAllStacks()) { auto offlineEvents = dynamic_cast(pair.second); if (offlineEvents == nullptr) continue; diff --git a/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/DebugShadowStackSerializer.h b/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/DebugShadowStackSerializer.h index c05fafa86..ed0dd7743 100644 --- a/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/DebugShadowStackSerializer.h +++ b/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/DebugShadowStackSerializer.h @@ -4,7 +4,6 @@ #include "ShadowStackSerializer.h" class DebugShadowStackSerializer : public ShadowStackSerializer { -private: std::string mySavePath; ICorProfilerInfo15* myProfilerInfo; ProcfilerLogger* myLogger; diff --git a/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/EventPipeShadowStackSerializer.cpp b/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/EventPipeShadowStackSerializer.cpp index 79ddbb8c3..6c25ba1e6 100644 --- a/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/EventPipeShadowStackSerializer.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/EventPipeShadowStackSerializer.cpp @@ -13,14 +13,14 @@ void EventPipeShadowStackSerializer::Init() { void EventPipeShadowStackSerializer::Serialize(ShadowStack* shadowStack) { HRESULT hr; - auto events = shadowStack->GetAllStacks(); + const auto events = shadowStack->GetAllStacks(); std::map resolvedFunctions; for (const auto& pair: *events) { - auto offlineEvents = dynamic_cast(pair.second); + const auto offlineEvents = dynamic_cast(pair.second); if (offlineEvents == nullptr) continue; - auto threadId = pair.first; + const auto threadId = pair.first; for (const auto& event: *(offlineEvents->Events)) { hr = FAILED(LogFunctionEvent(event, threadId, resolvedFunctions)); @@ -64,7 +64,7 @@ HRESULT EventPipeShadowStackSerializer::DefineProcfilerMethodInfoEvent() { {COR_PRF_EVENTPIPE_STRING, 0, ToWString("FunctionName").c_str()}, }; - auto paramsCount = sizeof(eventParameters) / sizeof(COR_PRF_EVENTPIPE_PARAM_DESC); + const auto paramsCount = sizeof(eventParameters) / sizeof(COR_PRF_EVENTPIPE_PARAM_DESC); return myProfilerInfo->EventPipeDefineEvent( myEventPipeProvider, @@ -96,7 +96,7 @@ HRESULT EventPipeShadowStackSerializer::DefineMethodStartOrEndEventInternal(cons {COR_PRF_EVENTPIPE_UINT64, 0, ToWString("ThreadId").c_str()}, }; - auto paramsCount = sizeof(eventParameters) / sizeof(COR_PRF_EVENTPIPE_PARAM_DESC); + const auto paramsCount = sizeof(eventParameters) / sizeof(COR_PRF_EVENTPIPE_PARAM_DESC); return profilerInfo->EventPipeDefineEvent( provider, @@ -118,25 +118,25 @@ HRESULT EventPipeShadowStackSerializer::InitializeProvidersAndEvents() { HRESULT hr; if ((hr = DefineProcfilerEventPipeProvider()) != S_OK) { - auto logMessage = "Failed to initialize Event Pipe Provider, HR = " + std::to_string(hr); + const auto logMessage = "Failed to initialize Event Pipe Provider, HR = " + std::to_string(hr); myLogger->LogError(logMessage); return hr; } if ((hr = DefineProcfilerMethodStartEvent()) != S_OK) { - auto logMessage = "Failed to initialize method start event, HR = " + std::to_string(hr); + const auto logMessage = "Failed to initialize method start event, HR = " + std::to_string(hr); myLogger->LogError(logMessage); return hr; } if ((hr = DefineProcfilerMethodEndEvent()) != S_OK) { - auto logMessage = "Failed to initialize method end event, HR = " + std::to_string(hr); + const auto logMessage = "Failed to initialize method end event, HR = " + std::to_string(hr); myLogger->LogError(logMessage); return hr; } if ((hr = DefineProcfilerMethodInfoEvent()) != S_OK) { - auto logMessage = "Failed to initialize method info event, HR = " + std::to_string(hr); + const auto logMessage = "Failed to initialize method info event, HR = " + std::to_string(hr); myLogger->LogError(logMessage); return hr; } @@ -148,12 +148,12 @@ HRESULT EventPipeShadowStackSerializer::InitializeProvidersAndEvents() { HRESULT EventPipeShadowStackSerializer::LogFunctionEvent(const FunctionEvent& event, const DWORD& threadId, - std::map& resolvedFunctions) { + std::map& resolvedFunctions) const { if (!resolvedFunctions.count(event.Id)) { resolvedFunctions[event.Id] = FunctionInfo::GetFunctionInfo(myProfilerInfo, event.Id); } - auto eventPipeEvent = event.EventKind == FunctionEventKind::Started ? myMethodStartEvent : myMethodEndEvent; + const auto eventPipeEvent = event.EventKind == FunctionEventKind::Started ? myMethodStartEvent : myMethodEndEvent; COR_PRF_EVENT_DATA eventData[3]; @@ -166,12 +166,12 @@ HRESULT EventPipeShadowStackSerializer::LogFunctionEvent(const FunctionEvent& ev eventData[2].ptr = reinterpret_cast(&threadId); eventData[2].size = sizeof(DWORD); - auto dataCount = sizeof(eventData) / sizeof(COR_PRF_EVENT_DATA); + const auto dataCount = sizeof(eventData) / sizeof(COR_PRF_EVENT_DATA); return myProfilerInfo->EventPipeWriteEvent(eventPipeEvent, dataCount, eventData, NULL, NULL); } -HRESULT EventPipeShadowStackSerializer::LogMethodInfo(const FunctionID& functionId, const FunctionInfo& functionInfo) { +HRESULT EventPipeShadowStackSerializer::LogMethodInfo(const FunctionID& functionId, const FunctionInfo& functionInfo) const { COR_PRF_EVENT_DATA eventData[2]; eventData[0].ptr = reinterpret_cast(&functionId); @@ -181,7 +181,7 @@ HRESULT EventPipeShadowStackSerializer::LogMethodInfo(const FunctionID& function eventData[1].ptr = reinterpret_cast(&functionName); eventData[1].size = static_cast(functionName.length() + 1) * sizeof(WCHAR); - auto dataCount = sizeof(eventData) / sizeof(COR_PRF_EVENT_DATA); + const auto dataCount = sizeof(eventData) / sizeof(COR_PRF_EVENT_DATA); return myProfilerInfo->EventPipeWriteEvent(myMethodInfoEvent, dataCount, eventData, NULL, NULL); -} \ No newline at end of file +} diff --git a/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/EventPipeShadowStackSerializer.h b/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/EventPipeShadowStackSerializer.h index 85ab07186..dec3b6c53 100644 --- a/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/EventPipeShadowStackSerializer.h +++ b/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/EventPipeShadowStackSerializer.h @@ -4,7 +4,6 @@ #include "ShadowStackSerializer.h" class EventPipeShadowStackSerializer : public ShadowStackSerializer { -private: const UINT32 ourMethodStartEventId = 8000; const UINT32 ourMethodEndEventId = 8001; const UINT32 ourMethodInfoEventId = 8002; @@ -31,9 +30,9 @@ class EventPipeShadowStackSerializer : public ShadowStackSerializer { HRESULT LogFunctionEvent(const FunctionEvent& event, const DWORD& threadId, - std::map& resolvedFunctions); + std::map& resolvedFunctions) const; - HRESULT LogMethodInfo(const FunctionID& functionId, const FunctionInfo& functionInfo); + HRESULT LogMethodInfo(const FunctionID& functionId, const FunctionInfo& functionInfo) const; static HRESULT DefineMethodStartOrEndEventInternal(const wstring& eventName, diff --git a/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/ShadowStackSerializer.h b/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/ShadowStackSerializer.h index 9b3f8062f..2b01527c3 100644 --- a/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/ShadowStackSerializer.h +++ b/Procfiler/src/cpp/offline/corprofiler/shadowstack/serializers/ShadowStackSerializer.h @@ -13,7 +13,7 @@ class ShadowStackSerializer { virtual void Serialize(ShadowStack* shadowStack) = 0; }; -class ShadowStackSerializerStub : public ShadowStackSerializer { +class ShadowStackSerializerStub final : public ShadowStackSerializer { public: ~ShadowStackSerializerStub() override = default; diff --git a/Procfiler/src/cpp/offline/corprofiler/shadowstack/utils.cpp b/Procfiler/src/cpp/offline/corprofiler/shadowstack/utils.cpp index fddcaacbc..21a2a8deb 100644 --- a/Procfiler/src/cpp/offline/corprofiler/shadowstack/utils.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/shadowstack/utils.cpp @@ -2,8 +2,8 @@ #include void writeFunctionEvent(const FunctionEvent& event, std::ofstream& fout) { - char startOrEnd = event.EventKind == FunctionEventKind::Started ? 1 : 0; - fout.write((char*) &startOrEnd, sizeof(char)); + const char startOrEnd = event.EventKind == FunctionEventKind::Started ? 1 : 0; + fout.write(&startOrEnd, sizeof(char)); fout.write((char*) &event.Timestamp, sizeof(long long)); fout.write((char*) &event.Id, sizeof(long long)); } diff --git a/Procfiler/src/cpp/offline/corprofiler/shadowstack/utils.h b/Procfiler/src/cpp/offline/corprofiler/shadowstack/utils.h index 41bb9906c..b92cbc3b1 100644 --- a/Procfiler/src/cpp/offline/corprofiler/shadowstack/utils.h +++ b/Procfiler/src/cpp/offline/corprofiler/shadowstack/utils.h @@ -15,7 +15,7 @@ struct FunctionEvent { FunctionEventKind EventKind; int64_t Timestamp; - FunctionEvent(FunctionID id, FunctionEventKind eventKind, int64_t timestamp) : + FunctionEvent(const FunctionID id, const FunctionEventKind eventKind, const int64_t timestamp) : Id(id), EventKind(eventKind), Timestamp(timestamp) { diff --git a/Procfiler/src/cpp/offline/dllmain.cpp b/Procfiler/src/cpp/offline/dllmain.cpp index d3af8cb3c..e6bb90c0e 100644 --- a/Procfiler/src/cpp/offline/dllmain.cpp +++ b/Procfiler/src/cpp/offline/dllmain.cpp @@ -6,7 +6,7 @@ BOOL STDMETHODCALLTYPE DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID } extern "C" HRESULT STDMETHODCALLTYPE DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) { - auto factory = new ClassFactory(); + const auto factory = new ClassFactory(); return factory->QueryInterface(riid, ppv); } diff --git a/Procfiler/src/cpp/shared/info/AssemblyInfo.cpp b/Procfiler/src/cpp/shared/info/AssemblyInfo.cpp index f9bf2b265..a5b758483 100644 --- a/Procfiler/src/cpp/shared/info/AssemblyInfo.cpp +++ b/Procfiler/src/cpp/shared/info/AssemblyInfo.cpp @@ -28,7 +28,7 @@ AssemblyInfo AssemblyInfo::GetAssemblyInfo(ICorProfilerInfo15* info, AssemblyID ToString(appDomainName, appDomainNameLength) }; } -AssemblyID AssemblyInfo::GetAssemblyId() { +AssemblyID AssemblyInfo::GetAssemblyId() const { return myAssemblyId; } @@ -36,11 +36,11 @@ wstring AssemblyInfo::GetName() { return myName; } -ModuleID AssemblyInfo::GetModuleId() { +ModuleID AssemblyInfo::GetModuleId() const { return myManifestModuleId; } -AppDomainID AssemblyInfo::GetAppDomainId() { +AppDomainID AssemblyInfo::GetAppDomainId() const { return myAppDomainId; } diff --git a/Procfiler/src/cpp/shared/info/AssemblyInfo.h b/Procfiler/src/cpp/shared/info/AssemblyInfo.h index 7f5010d31..813e1d54e 100644 --- a/Procfiler/src/cpp/shared/info/AssemblyInfo.h +++ b/Procfiler/src/cpp/shared/info/AssemblyInfo.h @@ -18,7 +18,7 @@ struct AssemblyInfo { public: AssemblyInfo() : myAssemblyId(0), myName(""_W), myManifestModuleId(0), myAppDomainId(0), myAppDomainName(""_W) {} - AssemblyInfo(AssemblyID id, wstring name, ModuleID manifestModuleId, AppDomainID appDomainId, wstring appDomainName) + AssemblyInfo(const AssemblyID id, wstring name, const ModuleID manifestModuleId, const AppDomainID appDomainId, wstring appDomainName) : myAssemblyId(id), myName(std::move(name)), myManifestModuleId(manifestModuleId), @@ -27,9 +27,9 @@ struct AssemblyInfo { static AssemblyInfo GetAssemblyInfo(ICorProfilerInfo15* info, AssemblyID assemblyId); - AssemblyID GetAssemblyId(); + AssemblyID GetAssemblyId() const; wstring GetName(); - ModuleID GetModuleId(); - AppDomainID GetAppDomainId(); + ModuleID GetModuleId() const; + AppDomainID GetAppDomainId() const; wstring GetAppDomainName(); }; diff --git a/Procfiler/src/cpp/shared/info/FunctionInfo.cpp b/Procfiler/src/cpp/shared/info/FunctionInfo.cpp index 534343900..f234db742 100644 --- a/Procfiler/src/cpp/shared/info/FunctionInfo.cpp +++ b/Procfiler/src/cpp/shared/info/FunctionInfo.cpp @@ -3,7 +3,7 @@ #include -FunctionInfo FunctionInfo::GetFunctionInfo(ICorProfilerInfo15* info, FunctionID funcId) { +FunctionInfo FunctionInfo::GetFunctionInfo(ICorProfilerInfo15* info, const FunctionID funcId) { mdToken functionToken; ClassID classId; ModuleID moduleId; @@ -96,7 +96,7 @@ FunctionInfo FunctionInfo::GetFunctionInfo(IMetaDataImport2* metadataImport, mdT MethodSignature(ToRaw(rawSignature, rawSignatureLength)), attributes}; } -std::unordered_set ExtractAttributes(IMetaDataImport2* metadataImport, mdToken token) { +std::unordered_set ExtractAttributes(IMetaDataImport2* metadataImport, const mdToken token) { std::unordered_set attributes{}; HRESULT hr; @@ -175,7 +175,7 @@ std::string FunctionInfo::GetFullName() { return ToString(myType.GetName()) + "." + ToString(myName); } -mdToken FunctionInfo::GetId() { +mdToken FunctionInfo::GetId() const { return myId; } diff --git a/Procfiler/src/cpp/shared/info/FunctionInfo.h b/Procfiler/src/cpp/shared/info/FunctionInfo.h index b1d3c4757..de72e282b 100644 --- a/Procfiler/src/cpp/shared/info/FunctionInfo.h +++ b/Procfiler/src/cpp/shared/info/FunctionInfo.h @@ -37,7 +37,7 @@ struct FunctionInfo { myMethodDefId(methodDefId), myAttributes(attributes) {} - FunctionInfo(mdToken id, wstring name, TypeInfo type, MethodSignature signature, + FunctionInfo(const mdToken id, wstring name, TypeInfo type, MethodSignature signature, const std::unordered_set& attributes) : myId(id), myName(std::move(name)), @@ -51,7 +51,7 @@ struct FunctionInfo { static FunctionInfo GetFunctionInfo(ICorProfilerInfo15* info, FunctionID funcId); std::string GetFullName(); - mdToken GetId(); + mdToken GetId() const; wstring GetName() const; TypeInfo GetTypeInfo(); MethodSignature GetMethodSignature(); diff --git a/Procfiler/src/cpp/shared/info/GenericMethodSignature.cpp b/Procfiler/src/cpp/shared/info/GenericMethodSignature.cpp index c8fcc5405..91fc66486 100644 --- a/Procfiler/src/cpp/shared/info/GenericMethodSignature.cpp +++ b/Procfiler/src/cpp/shared/info/GenericMethodSignature.cpp @@ -14,7 +14,7 @@ GenericMethodSignature::GenericMethodSignature(std::vector rawSignature) : for (size_t i = 0; i < number; i++) { - auto begin = iter; + const auto begin = iter; if (!ParseType(iter)) { break; diff --git a/Procfiler/src/cpp/shared/info/MethodSignature.cpp b/Procfiler/src/cpp/shared/info/MethodSignature.cpp index 2f6a8766a..8ac0f94ec 100644 --- a/Procfiler/src/cpp/shared/info/MethodSignature.cpp +++ b/Procfiler/src/cpp/shared/info/MethodSignature.cpp @@ -10,7 +10,7 @@ MethodSignature::MethodSignature(std::vector rawSignature) : myRawSignature(std::move(rawSignature)) { - auto begin = myRawSignature.begin() + 2 + (IsGeneric() ? 1 : 0); + const auto begin = myRawSignature.begin() + 2 + (IsGeneric() ? 1 : 0); auto iter = begin; if (ParseRetType(iter)) { myReturnType = std::vector(begin, iter); @@ -24,7 +24,7 @@ void MethodSignature::ParseArguments() { std::advance(iter, myArgumentsOffset); for (size_t i = 0; i < NumberOfArguments(); i++) { - auto begin = iter; + const auto begin = iter; if (!ParseParam(iter)) { break; } diff --git a/Procfiler/src/cpp/shared/info/ModuleInfo.cpp b/Procfiler/src/cpp/shared/info/ModuleInfo.cpp index 10d1da2c8..0d7973ac2 100644 --- a/Procfiler/src/cpp/shared/info/ModuleInfo.cpp +++ b/Procfiler/src/cpp/shared/info/ModuleInfo.cpp @@ -19,7 +19,7 @@ ModuleInfo ModuleInfo::GetModuleInfo(ICorProfilerInfo15* info, ModuleID moduleId return { moduleId, ToString(modulePath, length), AssemblyInfo::GetAssemblyInfo(info, assemblyId), moduleFlags }; } -ModuleID ModuleInfo::GetId() { +ModuleID ModuleInfo::GetId() const { return myId; } @@ -31,6 +31,6 @@ AssemblyInfo ModuleInfo::GetAssemblyInfo() { return myAssembly; } -DWORD ModuleInfo::GetFlags() { +DWORD ModuleInfo::GetFlags() const { return myFlags; -} \ No newline at end of file +} diff --git a/Procfiler/src/cpp/shared/info/ModuleInfo.h b/Procfiler/src/cpp/shared/info/ModuleInfo.h index 0cdaa723f..16ef80512 100644 --- a/Procfiler/src/cpp/shared/info/ModuleInfo.h +++ b/Procfiler/src/cpp/shared/info/ModuleInfo.h @@ -16,14 +16,14 @@ struct ModuleInfo { public: ModuleInfo() : myId(0), myPath(""_W), myAssembly({}), myFlags(0) {} - ModuleInfo(ModuleID id, wstring path, AssemblyInfo assembly, DWORD flags) + ModuleInfo(const ModuleID id, wstring path, AssemblyInfo assembly, const DWORD flags) : myId(id), myPath(std::move(path)), myAssembly(std::move(assembly)), myFlags(flags) {} static ModuleInfo GetModuleInfo(ICorProfilerInfo15* info, ModuleID moduleId); - ModuleID GetId(); + ModuleID GetId() const; wstring GetPath(); AssemblyInfo GetAssemblyInfo(); - DWORD GetFlags(); + DWORD GetFlags() const; }; diff --git a/Procfiler/src/cpp/shared/info/TypeInfo.cpp b/Procfiler/src/cpp/shared/info/TypeInfo.cpp index eb4a20cd0..2c2467e5b 100644 --- a/Procfiler/src/cpp/shared/info/TypeInfo.cpp +++ b/Procfiler/src/cpp/shared/info/TypeInfo.cpp @@ -9,7 +9,7 @@ TypeInfo::TypeInfo(const std::vector& raw) : myRaw(raw) { myIsVoid = !raw.empty() && raw[0] == ELEMENT_TYPE_VOID; - auto shift = myIsRefType ? 1 : 0; + const auto shift = myIsRefType ? 1 : 0; switch (raw[myIsRefType]) { case ELEMENT_TYPE_VOID: @@ -70,7 +70,7 @@ void TypeInfo::TryParseGeneric() { ParseNumber(iter, number); for (size_t i = 0; i < number; i++) { - auto begin = iter; + const auto begin = iter; if (!ParseType(iter)) { break; } @@ -130,7 +130,7 @@ TypeInfo TypeInfo::GetTypeInfo(IMetaDataImport2* metadataImport, mdToken token) return {token, ToString(typeName, typeNameLength), {}}; } -mdToken TypeInfo::GetToken() { +mdToken TypeInfo::GetToken() const { return myToken; } @@ -146,34 +146,34 @@ std::vector TypeInfo::GetGenerics() { return myGenerics; } -bool TypeInfo::IsRefType() { +bool TypeInfo::IsRefType() const { return myIsRefType; } -void TypeInfo::SetRefType(bool isRefType) { +void TypeInfo::SetRefType(const bool isRefType) { myIsRefType = isRefType; } -bool TypeInfo::IsBoxed() { +bool TypeInfo::IsBoxed() const { return myIsBoxed; } -bool TypeInfo::IsVoid() { +bool TypeInfo::IsVoid() const { return myIsVoid; } -bool TypeInfo::IsGenericClassRef() { +bool TypeInfo::IsGenericClassRef() const { return myIsGenericClassRef; } -bool TypeInfo::IsGenericMethodRef() { +bool TypeInfo::IsGenericMethodRef() const { return myIsGenericMethodRef; } -BYTE TypeInfo::GetTypeDef() { +BYTE TypeInfo::GetTypeDef() const { return myTypeDef; } -ULONG TypeInfo::GetGenericRefNumber() { +ULONG TypeInfo::GetGenericRefNumber() const { return myGenericRefNumber; } diff --git a/Procfiler/src/cpp/shared/info/TypeInfo.h b/Procfiler/src/cpp/shared/info/TypeInfo.h index 9886a97d9..fb058430a 100644 --- a/Procfiler/src/cpp/shared/info/TypeInfo.h +++ b/Procfiler/src/cpp/shared/info/TypeInfo.h @@ -25,7 +25,7 @@ struct TypeInfo { public: TypeInfo() : myToken(0), myName(""_W) {} - TypeInfo(mdToken id, wstring name, const std::vector& raw) : myToken(id), myName(std::move(name)), myRaw(raw) {} + TypeInfo(const mdToken id, wstring name, const std::vector& raw) : myToken(id), myName(std::move(name)), myRaw(raw) {} TypeInfo(const std::vector& raw); @@ -33,20 +33,20 @@ struct TypeInfo { static TypeInfo GetTypeInfo(IMetaDataImport2* metadataImport, mdToken token); - mdToken GetToken(); + mdToken GetToken() const; wstring GetName(); std::vector GetRawInfo(); std::vector GetGenerics(); - bool IsRefType(); + bool IsRefType() const; void SetRefType(bool isRefType); - bool IsBoxed(); - bool IsVoid(); + bool IsBoxed() const; + bool IsVoid() const; - bool IsGenericClassRef(); - bool IsGenericMethodRef(); + bool IsGenericClassRef() const; + bool IsGenericMethodRef() const; - BYTE GetTypeDef(); - ULONG GetGenericRefNumber(); + BYTE GetTypeDef() const; + ULONG GetGenericRefNumber() const; }; \ No newline at end of file diff --git a/Procfiler/src/cpp/shared/info/clr/profilerstring.hpp b/Procfiler/src/cpp/shared/info/clr/profilerstring.hpp index 4bded3776..112be9ade 100644 --- a/Procfiler/src/cpp/shared/info/clr/profilerstring.hpp +++ b/Procfiler/src/cpp/shared/info/clr/profilerstring.hpp @@ -76,7 +76,7 @@ class String { assert(other != nullptr); - size_t otherLen = wcslen(other) + 1; + const size_t otherLen = wcslen(other) + 1; if (buffer == nullptr || otherLen > bufferLen) { bufferLen = DefaultStringLength > otherLen ? DefaultStringLength : otherLen; @@ -179,9 +179,9 @@ class String String& operator+=(const String& other) { - size_t currLen = wcslen(buffer); - size_t otherLen = wcslen(other.buffer); - size_t candidateLen = currLen + otherLen + 1; + const size_t currLen = wcslen(buffer); + const size_t otherLen = wcslen(other.buffer); + const size_t candidateLen = currLen + otherLen + 1; if (candidateLen > bufferLen) { @@ -196,18 +196,17 @@ class String return *this; } - WCHAR& operator[] (size_t pos) + WCHAR& operator[] (const size_t pos) { return buffer[pos]; } - const WCHAR& operator[] (size_t pos) const + const WCHAR& operator[] (const size_t pos) const { return buffer[pos]; } - void Clear() - { + void Clear() const { if (buffer != nullptr) { buffer[0] = 0; @@ -244,8 +243,7 @@ class String return printBuffer; } - wstring ToWString() - { + wstring ToWString() const { wstring temp; for (size_t i = 0; i < bufferLen; ++i) { @@ -283,8 +281,8 @@ inline std::wostream& operator<<(std::wostream& os, const String& obj) inline bool EndsWith(const char *lhs, const char *rhs) { - size_t lhsLen = strlen(lhs); - size_t rhsLen = strlen(rhs); + const size_t lhsLen = strlen(lhs); + const size_t rhsLen = strlen(rhs); if (lhsLen < rhsLen) { return false; @@ -309,8 +307,8 @@ inline bool EndsWith(const char *lhs, const char *rhs) inline bool EndsWith(const String &lhs, const String &rhs) { - size_t lhsLength = lhs.Length(); - size_t rhsLength = rhs.Length(); + const size_t lhsLength = lhs.Length(); + const size_t rhsLength = rhs.Length(); if (lhsLength < rhsLength) { return false; diff --git a/Procfiler/src/cpp/shared/info/parser.cpp b/Procfiler/src/cpp/shared/info/parser.cpp index 0f79d02fa..9f9b80ed9 100644 --- a/Procfiler/src/cpp/shared/info/parser.cpp +++ b/Procfiler/src/cpp/shared/info/parser.cpp @@ -3,8 +3,7 @@ bool ParseTypeDefOrRefEncoded(std::vector::iterator& begin) { mdToken typeToken; - ULONG result; - result = CorSigUncompressToken(&*begin, &typeToken); + const ULONG result = CorSigUncompressToken(&*begin, &typeToken); if (result == -1) { return false; } @@ -36,12 +35,10 @@ bool ParseOptionalCustomMods(std::vector::iterator& begin) { return true; } } - - return false; } bool ParseNumber(std::vector::iterator& begin, ULONG& number) { - ULONG result = CorSigUncompressData(&*begin, &number); + const ULONG result = CorSigUncompressData(&*begin, &number); if (result == -1) { return false; } @@ -135,7 +132,7 @@ bool ParseArrayShape(std::vector::iterator& begin) { } bool ParseType(std::vector::iterator& begin) { - auto elementType = *begin; + const auto elementType = *begin; ULONG number = 0; std::advance(begin, 1); diff --git a/Procfiler/src/cpp/shared/miniutf/miniutf.cpp b/Procfiler/src/cpp/shared/miniutf/miniutf.cpp index a06c71b97..0a2b30640 100644 --- a/Procfiler/src/cpp/shared/miniutf/miniutf.cpp +++ b/Procfiler/src/cpp/shared/miniutf/miniutf.cpp @@ -103,7 +103,7 @@ namespace miniutf { if (((b1 = str[i + 1]) & 0xC0) != 0x80) return invalid_pt; - char32_t pt = (b0 & 0x1F) << 6 | (b1 & 0x3F); + const char32_t pt = (b0 & 0x1F) << 6 | (b1 & 0x3F); if (pt < 0x80) return invalid_pt; @@ -116,7 +116,7 @@ namespace miniutf { if (((b2 = str[i + 2]) & 0xC0) != 0x80) return invalid_pt; - char32_t pt = (b0 & 0x0F) << 12 | (b1 & 0x3F) << 6 | (b2 & 0x3F); + const char32_t pt = (b0 & 0x0F) << 12 | (b1 & 0x3F) << 6 | (b2 & 0x3F); if (pt < 0x800) return invalid_pt; @@ -131,7 +131,7 @@ namespace miniutf { if (((b3 = str[i + 3]) & 0xC0) != 0x80) return invalid_pt; - char32_t pt = (b0 & 0x0F) << 18 | (b1 & 0x3F) << 12 + const char32_t pt = (b0 & 0x0F) << 18 | (b1 & 0x3F) << 12 | (b2 & 0x3F) << 6 | (b3 & 0x3F); if (pt < 0x10000 || pt >= 0x110000) return invalid_pt; @@ -154,7 +154,7 @@ namespace miniutf { static offset_pt utf16_decode_check(const std::u16string& str, std::u16string::size_type i) { if (is_high_surrogate(str[i]) && is_low_surrogate(str[i + 1])) { // High surrogate followed by low surrogate - char32_t pt = (((str[i] - 0xD800) << 10) | (str[i + 1] - 0xDC00)) + 0x10000; + const char32_t pt = (((str[i] - 0xD800) << 10) | (str[i + 1] - 0xDC00)) + 0x10000; return { 2, pt }; } else if (is_high_surrogate(str[i]) || is_low_surrogate(str[i])) { @@ -184,7 +184,7 @@ namespace miniutf { char32_t utf8_decode(const std::string& str, std::string::size_type& i, bool* replacement_flag) { - offset_pt res = utf8_decode_check(str, i); + const offset_pt res = utf8_decode_check(str, i); if (res.offset < 0) { if (replacement_flag) *replacement_flag = true; @@ -199,7 +199,7 @@ namespace miniutf { char32_t utf16_decode(const std::u16string& str, std::u16string::size_type& i, bool* replacement_flag) { - offset_pt res = utf16_decode_check(str, i); + const offset_pt res = utf16_decode_check(str, i); if (res.offset < 0) { if (replacement_flag) *replacement_flag = true; @@ -262,7 +262,7 @@ namespace miniutf { std::string to_utf8(const std::u32string& str) { std::string out; out.reserve(str.length() * 3 / 2); // estimate - for (char32_t pt : str) + for (const char32_t pt : str) utf8_encode(pt, out); return out; } @@ -275,7 +275,7 @@ namespace miniutf { std::string out; out.reserve(str.size()); for (size_t i = 0; i < str.length(); ) { - int32_t pt = utf8_decode(str, i); + const int32_t pt = utf8_decode(str, i); utf8_encode(pt + lowercase_offset(pt), out); } return out; @@ -305,7 +305,7 @@ namespace miniutf { return; } - size_t length = (decomp_start_idx >> 14) + 1; + const size_t length = (decomp_start_idx >> 14) + 1; decomp_start_idx &= (1 << 14) - 1; for (size_t i = 0; i < length; i++) { @@ -344,7 +344,7 @@ namespace miniutf { std::u32string codepoints; codepoints.reserve(str.size()); for (size_t i = 0; i < str.length(); ) { - uint32_t pt = utf8_decode(str, i, replacement_flag); + const uint32_t pt = utf8_decode(str, i, replacement_flag); unicode_decompose(pt, codepoints); } @@ -375,10 +375,10 @@ namespace miniutf { char32_t starter = codepoints[0]; while (i < codepoints.length()) { - char32_t ch = codepoints[i]; - int ch_class = ccc(ch); + const char32_t ch = codepoints[i]; + const int ch_class = ccc(ch); - uint32_t composite = unicode_compose(starter, ch); + const uint32_t composite = unicode_compose(starter, ch); if (composite && last_class < ch_class) { codepoints[starter_pos] = composite; starter = composite; @@ -406,7 +406,7 @@ namespace miniutf { } std::string normalize8(const std::string& str, bool compose, bool* replacement_flag) { - std::u32string codepoints = normalize32(str, compose, replacement_flag); + const std::u32string codepoints = normalize32(str, compose, replacement_flag); return to_utf8(codepoints); } diff --git a/Procfiler/src/cpp/shared/util/env_constants.cpp b/Procfiler/src/cpp/shared/util/env_constants.cpp index 956e86c0e..4ca1e5055 100644 --- a/Procfiler/src/cpp/shared/util/env_constants.cpp +++ b/Procfiler/src/cpp/shared/util/env_constants.cpp @@ -5,8 +5,8 @@ bool IsEnvVarDefined(const std::string& envVarName) { } bool TryGetEnvVar(const std::string& envVarName, std::string& value) { - auto envVar = std::getenv(envVarName.c_str()); - bool isEnvVarDefined = envVar != nullptr; + const auto envVar = std::getenv(envVarName.c_str()); + const bool isEnvVarDefined = envVar != nullptr; value = isEnvVarDefined ? std::string(envVar) : ""; return isEnvVarDefined; } diff --git a/Procfiler/src/cpp/shared/util/helpers.cpp b/Procfiler/src/cpp/shared/util/helpers.cpp index b9b0912d3..112bed04a 100644 --- a/Procfiler/src/cpp/shared/util/helpers.cpp +++ b/Procfiler/src/cpp/shared/util/helpers.cpp @@ -7,13 +7,13 @@ HRESULT CreateAssemblyRef(IMetaDataAssemblyEmit* metadataAssemblyEmit, mdAssemblyRef* libRef, const std::vector& public_key, - ASSEMBLYMETADATA metadata, + const ASSEMBLYMETADATA& metadata, const wstring& assemblyName) { - HRESULT hr = metadataAssemblyEmit->DefineAssemblyRef( - (void*) public_key.data(), - (ULONG) public_key.size(), - assemblyName.c_str(), &metadata, NULL, 0, 0, - libRef); + const HRESULT hr = metadataAssemblyEmit->DefineAssemblyRef( + (void*) public_key.data(), + (ULONG) public_key.size(), + assemblyName.c_str(), &metadata, NULL, 0, 0, + libRef); return hr; } diff --git a/Procfiler/src/cpp/shared/util/logging/ProcfilerLogger.cpp b/Procfiler/src/cpp/shared/util/logging/ProcfilerLogger.cpp index fa9c6d96e..6c6b5f86d 100644 --- a/Procfiler/src/cpp/shared/util/logging/ProcfilerLogger.cpp +++ b/Procfiler/src/cpp/shared/util/logging/ProcfilerLogger.cpp @@ -3,7 +3,7 @@ #include "../util/env_constants.h" char* PatchMessage(const std::string& message) { - auto patchedMessage = new char[message.length() + 1]; + const auto patchedMessage = new char[message.length() + 1]; auto i = 0; for (;i < message.length(); ++i) { patchedMessage[i] = message[i]; @@ -13,24 +13,24 @@ char* PatchMessage(const std::string& message) { return patchedMessage; } -void ProcfilerLogger::LogInformation(const std::string& message) { +void ProcfilerLogger::LogInformation(const std::string& message) const { if (!myIsEnabled) return; - auto patchedMessage = PatchMessage(message); + const auto patchedMessage = PatchMessage(message); std::cout << patchedMessage; delete[] patchedMessage; } ProcfilerLogger::ProcfilerLogger() { - auto enableLoggingEnv = std::getenv(enableConsoleLoggingEnv.c_str()); + const auto enableLoggingEnv = std::getenv(enableConsoleLoggingEnv.c_str()); myIsEnabled = enableLoggingEnv != nullptr && std::string(enableLoggingEnv) == "1"; } -void ProcfilerLogger::LogError(const std::string &message) { +void ProcfilerLogger::LogError(const std::string &message) const { if (!myIsEnabled) return; - auto patchedMessage = PatchMessage(message); + const auto patchedMessage = PatchMessage(message); std::cerr << patchedMessage; delete[] patchedMessage; diff --git a/Procfiler/src/cpp/shared/util/logging/ProcfilerLogger.h b/Procfiler/src/cpp/shared/util/logging/ProcfilerLogger.h index e12fb5bc6..963038588 100644 --- a/Procfiler/src/cpp/shared/util/logging/ProcfilerLogger.h +++ b/Procfiler/src/cpp/shared/util/logging/ProcfilerLogger.h @@ -10,8 +10,8 @@ class ProcfilerLogger { public: ProcfilerLogger(); - void LogInformation(const std::string& message); - void LogError(const std::string& message); + void LogInformation(const std::string& message) const; + void LogError(const std::string& message) const; }; diff --git a/Procfiler/src/cpp/shared/util/util.cpp b/Procfiler/src/cpp/shared/util/util.cpp index 31e3938e5..89c63decd 100644 --- a/Procfiler/src/cpp/shared/util/util.cpp +++ b/Procfiler/src/cpp/shared/util/util.cpp @@ -3,7 +3,7 @@ std::string GetEnvironmentValue(const std::string& name) { - auto cstr = std::getenv(name.c_str()); + const auto cstr = std::getenv(name.c_str()); if (cstr == nullptr) { return ""; } @@ -35,12 +35,12 @@ std::vector ToRaw(PCCOR_SIGNATURE signature, ULONG length) { WCHAR operator "" _W(const char c) { return WCHAR(c); } wstring operator "" _W(const char* arr, size_t size) { - std::string str(arr, size); + const std::string str(arr, size); return ToWString(str); } std::string ToString(const wstring& wstr) { - std::u16string ustr(reinterpret_cast(wstr.c_str())); + const std::u16string ustr(reinterpret_cast(wstr.c_str())); return miniutf::to_utf8(ustr); } @@ -49,7 +49,7 @@ wstring ToWString(const char* str) { } wstring ToWString(const std::string& str) { - auto ustr = miniutf::to_utf16(str); + const auto ustr = miniutf::to_utf16(str); return wstring(reinterpret_cast(ustr.c_str())); } @@ -60,14 +60,14 @@ wstring Trim(const wstring& str) { wstring trimmed = str; - auto trimSymbols = " \t\r\n\0"_W; + const auto trimSymbols = " \t\r\n\0"_W; - auto lpos = trimmed.find_first_not_of(trimSymbols); + const auto lpos = trimmed.find_first_not_of(trimSymbols); if (lpos != std::string::npos && lpos > 0) { trimmed = trimmed.substr(lpos); } - auto rpos = trimmed.find_last_not_of(trimSymbols); + const auto rpos = trimmed.find_last_not_of(trimSymbols); if (rpos != std::string::npos) { trimmed = trimmed.substr(0, rpos + 1); } @@ -82,14 +82,14 @@ std::string Trim(const std::string& str) { std::string trimmed = str; - auto trimSymbols = " \t\r\n\0"; + const auto trimSymbols = " \t\r\n\0"; - auto lpos = trimmed.find_first_not_of(trimSymbols); + const auto lpos = trimmed.find_first_not_of(trimSymbols); if (lpos != std::string::npos && lpos > 0) { trimmed = trimmed.substr(lpos); } - auto rpos = trimmed.find_last_not_of(trimSymbols); + const auto rpos = trimmed.find_last_not_of(trimSymbols); if (rpos != std::string::npos) { trimmed = trimmed.substr(0, rpos + 1); } From 11b0b30edfa00e2c32ab05072dd1faac2fb66608 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Wed, 10 Sep 2025 15:57:32 +0300 Subject: [PATCH 004/189] Set event mask appropriate to produceObjectBinStacksEnv --- .../corprofiler/ProcfilerCorProfilerCallback.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp index 3ea091d36..d7a2bf31a 100644 --- a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp @@ -66,7 +66,7 @@ ICorProfilerInfo15 *ProcfilerCorProfilerCallback::GetProfilerInfo() const { HRESULT ProcfilerCorProfilerCallback::Initialize(IUnknown *pICorProfilerInfoUnk) { myLogger->LogInformation("Started initializing CorProfiler callback"); - void **ptr = reinterpret_cast(&this->myProfilerInfo); + const auto ptr = reinterpret_cast(&this->myProfilerInfo); HRESULT result = pICorProfilerInfoUnk->QueryInterface(IID_ICorProfilerInfo15, ptr); if (FAILED(result)) { @@ -76,14 +76,20 @@ HRESULT ProcfilerCorProfilerCallback::Initialize(IUnknown *pICorProfilerInfoUnk) InitializeShadowStack(); - constexpr DWORD eventMask = COR_PRF_MONITOR_ENTERLEAVE | COR_PRF_MONITOR_EXCEPTIONS; + const auto produceObjectBinStacks = IsEnvVarTrue(produceObjectBinStacksEnv); + + DWORD eventMask = COR_PRF_MONITOR_ENTERLEAVE | COR_PRF_MONITOR_EXCEPTIONS; + if (produceObjectBinStacks) { + eventMask |= COR_PRF_ENABLE_FUNCTION_ARGS; + } + result = myProfilerInfo->SetEventMask(eventMask); if (FAILED(result)) { myLogger->LogInformation("Failed to set event mask: " + std::to_string(result)); return E_FAIL; } - if (IsEnvVarTrue(produceObjectBinStacksEnv)) { + if (produceObjectBinStacks) { result = myProfilerInfo->SetEnterLeaveFunctionHooks2( StaticHandleFunctionEnter2, StaticHandleFunctionLeave2, From ce3dacf636429440f6c6b76c17ca3510b6f9e085 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Thu, 11 Sep 2025 01:29:21 +0300 Subject: [PATCH 005/189] WIP --- .../ProcfilerCorProfilerCallback.cpp | 145 ++++++++++-------- .../ProcfilerCorProfilerCallback.h | 12 +- .../offline/corprofiler/shadowstack/utils.h | 20 ++- Procfiler/src/cpp/shared/info/TypeInfo.cpp | 5 + Procfiler/src/cpp/shared/info/TypeInfo.h | 2 + .../Base/CollectCommandBase.Options.cs | 2 +- .../ICommandExecutorDependantOnContext.cs | 2 +- 7 files changed, 116 insertions(+), 72 deletions(-) diff --git a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp index d7a2bf31a..a1edec50e 100644 --- a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp @@ -5,18 +5,18 @@ #include "shadowstack/serializers/DebugShadowStackSerializer.h" #include "shadowstack/serializers/EventPipeShadowStackSerializer.h" -ProcfilerCorProfilerCallback *ourCallback; +ProcfilerCorProfilerCallback* ourCallback; -ProcfilerCorProfilerCallback *GetCallbackInstance() { +ProcfilerCorProfilerCallback* GetCallbackInstance() { return ourCallback; } void StaticHandleFunctionEnter(const FunctionID functionId) { - GetCallbackInstance()->HandleFunctionEnter2(functionId); + GetCallbackInstance()->HandleFunctionEnter(functionId); } void StaticHandleFunctionLeave(const FunctionID functionId) { - GetCallbackInstance()->HandleFunctionLeave2(functionId); + GetCallbackInstance()->HandleFunctionLeave(functionId); } void StaticHandleFunctionTailCall(const FunctionID functionId) { @@ -24,14 +24,17 @@ void StaticHandleFunctionTailCall(const FunctionID functionId) { } void StaticHandleFunctionEnter2(FunctionID funcId, UINT_PTR clientData, COR_PRF_FRAME_INFO func, - COR_PRF_FUNCTION_ARGUMENT_INFO *argumentInfo) { + COR_PRF_FUNCTION_ARGUMENT_INFO* argumentInfo) { + GetCallbackInstance()->HandleFunctionEnter2(funcId, argumentInfo); } void StaticHandleFunctionLeave2(FunctionID funcId, UINT_PTR clientData, COR_PRF_FRAME_INFO func, - COR_PRF_FUNCTION_ARGUMENT_RANGE *retvalRange) { + COR_PRF_FUNCTION_ARGUMENT_RANGE* retvalRange) { + GetCallbackInstance()->HandleFunctionLeave2(funcId); } void StaticHandleFunctionTailCall2(FunctionID funcId, UINT_PTR clientData, COR_PRF_FRAME_INFO func) { + GetCallbackInstance()->HandleFunctionTailCall2(funcId); } int64_t ProcfilerCorProfilerCallback::GetCurrentTimestamp() const { @@ -45,28 +48,46 @@ int64_t ProcfilerCorProfilerCallback::GetCurrentTimestamp() const { return value.QuadPart; } -void ProcfilerCorProfilerCallback::HandleFunctionEnter2(const FunctionID funcId) { +void ProcfilerCorProfilerCallback::HandleFunctionEnter(const FunctionID funcId) const { const auto timestamp = GetCurrentTimestamp(); myShadowStack->AddFunctionEnter(funcId, GetCurrentManagedThreadId(), timestamp); } -void ProcfilerCorProfilerCallback::HandleFunctionLeave2(const FunctionID funcId) { +void ProcfilerCorProfilerCallback::HandleFunctionLeave(const FunctionID funcId) const { const auto timestamp = GetCurrentTimestamp(); myShadowStack->AddFunctionFinished(funcId, GetCurrentManagedThreadId(), timestamp); } -void ProcfilerCorProfilerCallback::HandleFunctionTailCall(const FunctionID funcId) { +void ProcfilerCorProfilerCallback::HandleFunctionTailCall(const FunctionID funcId) const { const auto timestamp = GetCurrentTimestamp(); myShadowStack->AddFunctionFinished(funcId, GetCurrentManagedThreadId(), timestamp); } -ICorProfilerInfo15 *ProcfilerCorProfilerCallback::GetProfilerInfo() const { +void ProcfilerCorProfilerCallback::HandleFunctionEnter2(FunctionID funcId, + COR_PRF_FUNCTION_ARGUMENT_INFO* argumentInfo) const { + auto info = FunctionInfo::GetFunctionInfo(myProfilerInfo, funcId); + if (info.GetMethodSignature().IsInstanceMethod() && info.GetTypeInfo().IsRefType()) { + std::cout << "XDDD " << info.GetFullName() << "\n"; + } + + HandleFunctionEnter(funcId); +} + +void ProcfilerCorProfilerCallback::HandleFunctionLeave2(const FunctionID funcId) const { + HandleFunctionLeave(funcId); +} + +void ProcfilerCorProfilerCallback::HandleFunctionTailCall2(const FunctionID funcId) const { + HandleFunctionTailCall(funcId); +} + +ICorProfilerInfo15* ProcfilerCorProfilerCallback::GetProfilerInfo() const { return myProfilerInfo; } -HRESULT ProcfilerCorProfilerCallback::Initialize(IUnknown *pICorProfilerInfoUnk) { +HRESULT ProcfilerCorProfilerCallback::Initialize(IUnknown* pICorProfilerInfoUnk) { myLogger->LogInformation("Started initializing CorProfiler callback"); - const auto ptr = reinterpret_cast(&this->myProfilerInfo); + const auto ptr = reinterpret_cast(&this->myProfilerInfo); HRESULT result = pICorProfilerInfoUnk->QueryInterface(IID_ICorProfilerInfo15, ptr); if (FAILED(result)) { @@ -112,6 +133,17 @@ HRESULT ProcfilerCorProfilerCallback::Initialize(IUnknown *pICorProfilerInfoUnk) return S_OK; } +HRESULT ProcfilerCorProfilerCallback::MovedReferences(ULONG cMovedObjectIDRanges, + ObjectID* oldObjectIDRangeStart, + ObjectID* newObjectIDRangeStart, + ULONG* cObjectIDRangeLength) { + return S_OK; +} + +HRESULT ProcfilerCorProfilerCallback::ObjectAllocated(ObjectID objectId, ClassID classId) { + return S_OK; +} + void ProcfilerCorProfilerCallback::InitializeShadowStack() { const auto onlineSerialization = IsEnvVarTrue(onlineSerializationEnv); myShadowStack = new ShadowStack(this->myProfilerInfo, myLogger, onlineSerialization); @@ -165,7 +197,7 @@ HRESULT ProcfilerCorProfilerCallback::Shutdown() { return S_OK; } -ProcfilerCorProfilerCallback::ProcfilerCorProfilerCallback(ProcfilerLogger *logger) : myRefCount(0), +ProcfilerCorProfilerCallback::ProcfilerCorProfilerCallback(ProcfilerLogger* logger) : myRefCount(0), myProfilerInfo(nullptr), myLogger(logger) { ourCallback = this; @@ -254,7 +286,7 @@ ProcfilerCorProfilerCallback::JITCompilationFinished(FunctionID functionId, HRES return S_OK; } -HRESULT ProcfilerCorProfilerCallback::JITCachedFunctionSearchStarted(FunctionID functionId, BOOL *pbUseCachedFunction) { +HRESULT ProcfilerCorProfilerCallback::JITCachedFunctionSearchStarted(FunctionID functionId, BOOL* pbUseCachedFunction) { return S_OK; } @@ -266,7 +298,7 @@ HRESULT ProcfilerCorProfilerCallback::JITFunctionPitched(FunctionID functionId) return S_OK; } -HRESULT ProcfilerCorProfilerCallback::JITInlining(FunctionID callerId, FunctionID calleeId, BOOL *pfShouldInline) { +HRESULT ProcfilerCorProfilerCallback::JITInlining(FunctionID callerId, FunctionID calleeId, BOOL* pfShouldInline) { return S_OK; } @@ -286,11 +318,11 @@ HRESULT ProcfilerCorProfilerCallback::RemotingClientInvocationStarted() { return S_OK; } -HRESULT ProcfilerCorProfilerCallback::RemotingClientSendingMessage(GUID *pCookie, BOOL fIsAsync) { +HRESULT ProcfilerCorProfilerCallback::RemotingClientSendingMessage(GUID* pCookie, BOOL fIsAsync) { return S_OK; } -HRESULT ProcfilerCorProfilerCallback::RemotingClientReceivingReply(GUID *pCookie, BOOL fIsAsync) { +HRESULT ProcfilerCorProfilerCallback::RemotingClientReceivingReply(GUID* pCookie, BOOL fIsAsync) { return S_OK; } @@ -298,7 +330,7 @@ HRESULT ProcfilerCorProfilerCallback::RemotingClientInvocationFinished() { return S_OK; } -HRESULT ProcfilerCorProfilerCallback::RemotingServerReceivingMessage(GUID *pCookie, BOOL fIsAsync) { +HRESULT ProcfilerCorProfilerCallback::RemotingServerReceivingMessage(GUID* pCookie, BOOL fIsAsync) { return S_OK; } @@ -310,7 +342,7 @@ HRESULT ProcfilerCorProfilerCallback::RemotingServerInvocationReturned() { return S_OK; } -HRESULT ProcfilerCorProfilerCallback::RemotingServerSendingReply(GUID *pCookie, BOOL fIsAsync) { +HRESULT ProcfilerCorProfilerCallback::RemotingServerSendingReply(GUID* pCookie, BOOL fIsAsync) { return S_OK; } @@ -352,29 +384,18 @@ HRESULT ProcfilerCorProfilerCallback::RuntimeThreadResumed(ThreadID threadId) { return S_OK; } -HRESULT ProcfilerCorProfilerCallback::MovedReferences(ULONG cMovedObjectIDRanges, - ObjectID *oldObjectIDRangeStart, - ObjectID *newObjectIDRangeStart, - ULONG *cObjectIDRangeLength) { - return S_OK; -} - -HRESULT ProcfilerCorProfilerCallback::ObjectAllocated(ObjectID objectId, ClassID classId) { - return S_OK; -} - -HRESULT ProcfilerCorProfilerCallback::ObjectsAllocatedByClass(ULONG cClassCount, ClassID *classIds, ULONG *cObjects) { +HRESULT ProcfilerCorProfilerCallback::ObjectsAllocatedByClass(ULONG cClassCount, ClassID* classIds, ULONG* cObjects) { return S_OK; } HRESULT ProcfilerCorProfilerCallback::ObjectReferences(ObjectID objectId, ClassID classId, ULONG cObjectRefs, - ObjectID *objectRefIds) { + ObjectID* objectRefIds) { return S_OK; } -HRESULT ProcfilerCorProfilerCallback::RootReferences(ULONG cRootRefs, ObjectID *rootRefIds) { +HRESULT ProcfilerCorProfilerCallback::RootReferences(ULONG cRootRefs, ObjectID* rootRefIds) { return S_OK; } @@ -432,15 +453,15 @@ HRESULT ProcfilerCorProfilerCallback::ExceptionCatcherLeave() { HRESULT ProcfilerCorProfilerCallback::COMClassicVTableCreated(ClassID wrappedClassId, - const GUID &implementedIID, - void *pVTable, + const GUID& implementedIID, + void* pVTable, ULONG cSlots) { return S_OK; } HRESULT ProcfilerCorProfilerCallback::COMClassicVTableDestroyed(ClassID wrappedClassId, - const GUID &implementedIID, - void *pVTable) { + const GUID& implementedIID, + void* pVTable) { return S_OK; } @@ -452,19 +473,19 @@ HRESULT ProcfilerCorProfilerCallback::ExceptionCLRCatcherExecute() { return S_OK; } -HRESULT ProcfilerCorProfilerCallback::ThreadNameChanged(ThreadID threadId, ULONG cchName, WCHAR *name) { +HRESULT ProcfilerCorProfilerCallback::ThreadNameChanged(ThreadID threadId, ULONG cchName, WCHAR* name) { return S_OK; } HRESULT ProcfilerCorProfilerCallback::GarbageCollectionStarted(int cGenerations, - BOOL *generationCollected, + BOOL* generationCollected, COR_PRF_GC_REASON reason) { return S_OK; } HRESULT ProcfilerCorProfilerCallback::SurvivingReferences(ULONG cSurvivingObjectIDRanges, - ObjectID *objectIDRangeStart, - ULONG *cObjectIDRangeLength) { + ObjectID* objectIDRangeStart, + ULONG* cObjectIDRangeLength) { return S_OK; } @@ -478,10 +499,10 @@ HRESULT ProcfilerCorProfilerCallback::FinalizeableObjectQueued(DWORD finalizerFl HRESULT ProcfilerCorProfilerCallback::RootReferences2(ULONG cRootRefs, - ObjectID *rootRefIds, - COR_PRF_GC_ROOT_KIND *rootKinds, - COR_PRF_GC_ROOT_FLAGS *rootFlags, - UINT_PTR *rootIds) { + ObjectID* rootRefIds, + COR_PRF_GC_ROOT_KIND* rootKinds, + COR_PRF_GC_ROOT_FLAGS* rootFlags, + UINT_PTR* rootIds) { return S_OK; } @@ -493,8 +514,8 @@ HRESULT ProcfilerCorProfilerCallback::HandleDestroyed(GCHandleID handleId) { return S_OK; } -HRESULT ProcfilerCorProfilerCallback::InitializeForAttach(IUnknown *pCorProfilerInfoUnk, - void *pvClientData, +HRESULT ProcfilerCorProfilerCallback::InitializeForAttach(IUnknown* pCorProfilerInfoUnk, + void* pvClientData, UINT cbClientData) { return S_OK; } @@ -514,7 +535,7 @@ ProcfilerCorProfilerCallback::ReJITCompilationStarted(FunctionID functionId, ReJ HRESULT ProcfilerCorProfilerCallback::GetReJITParameters(ModuleID moduleId, mdMethodDef methodId, - ICorProfilerFunctionControl *pFunctionControl) { + ICorProfilerFunctionControl* pFunctionControl) { return S_OK; } @@ -533,27 +554,27 @@ HRESULT ProcfilerCorProfilerCallback::ReJITError(ModuleID moduleId, } HRESULT ProcfilerCorProfilerCallback::MovedReferences2(ULONG cMovedObjectIDRanges, - ObjectID *oldObjectIDRangeStart, - ObjectID *newObjectIDRangeStart, - SIZE_T *cObjectIDRangeLength) { + ObjectID* oldObjectIDRangeStart, + ObjectID* newObjectIDRangeStart, + SIZE_T* cObjectIDRangeLength) { return S_OK; } HRESULT ProcfilerCorProfilerCallback::SurvivingReferences2(ULONG cSurvivingObjectIDRanges, - ObjectID *objectIDRangeStart, - SIZE_T *cObjectIDRangeLength) { + ObjectID* objectIDRangeStart, + SIZE_T* cObjectIDRangeLength) { return S_OK; } HRESULT ProcfilerCorProfilerCallback::ConditionalWeakTableElementReferences(ULONG cRootRefs, - ObjectID *keyRefIds, - ObjectID *valueRefIds, - GCHandleID *rootIds) { + ObjectID* keyRefIds, + ObjectID* valueRefIds, + GCHandleID* rootIds) { return S_OK; } -HRESULT ProcfilerCorProfilerCallback::GetAssemblyReferences(const WCHAR *wszAssemblyPath, - ICorProfilerAssemblyReferenceProvider *pAsmRefProvider) { +HRESULT ProcfilerCorProfilerCallback::GetAssemblyReferences(const WCHAR* wszAssemblyPath, + ICorProfilerAssemblyReferenceProvider* pAsmRefProvider) { return S_OK; } @@ -579,7 +600,7 @@ HRESULT ProcfilerCorProfilerCallback::EventPipeProviderCreated(EVENTPIPE_PROVIDE return S_OK; } -HRESULT ProcfilerCorProfilerCallback::LoadAsNotificationOnly(BOOL *pbNotificationOnly) { +HRESULT ProcfilerCorProfilerCallback::LoadAsNotificationOnly(BOOL* pbNotificationOnly) { return S_OK; } @@ -594,7 +615,7 @@ HRESULT ProcfilerCorProfilerCallback::EventPipeEventDelivered(EVENTPIPE_PROVIDER LPCGUID pRelatedActivityId, ThreadID eventThread, ULONG numStackFrames, - UINT_PTR *stackFrames) { + UINT_PTR* stackFrames) { return S_OK; } @@ -611,7 +632,7 @@ ProcfilerCorProfilerCallback::~ProcfilerCorProfilerCallback() { myShadowStackSerializer = nullptr; } -DWORD ProcfilerCorProfilerCallback::GetCurrentManagedThreadId() { +DWORD ProcfilerCorProfilerCallback::GetCurrentManagedThreadId() const { ThreadID threadId; myProfilerInfo->GetCurrentThreadID(&threadId); @@ -622,7 +643,7 @@ DWORD ProcfilerCorProfilerCallback::GetCurrentManagedThreadId() { } -HRESULT STDMETHODCALLTYPE ProcfilerCorProfilerCallback::QueryInterface(REFIID riid, void **ppvObject) { +HRESULT STDMETHODCALLTYPE ProcfilerCorProfilerCallback::QueryInterface(REFIID riid, void** ppvObject) { if (riid == IID_ICorProfilerCallback11 || riid == IID_ICorProfilerCallback10 || riid == IID_ICorProfilerCallback9 || diff --git a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.h b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.h index 098504df3..9363d3d48 100644 --- a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.h +++ b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.h @@ -14,7 +14,7 @@ class ProcfilerCorProfilerCallback final : public ICorProfilerCallback11 { ShadowStack* myShadowStack; ShadowStackSerializer* myShadowStackSerializer; - DWORD GetCurrentManagedThreadId(); + DWORD GetCurrentManagedThreadId() const; int64_t GetCurrentTimestamp() const; void InitializeShadowStack(); @@ -24,9 +24,13 @@ class ProcfilerCorProfilerCallback final : public ICorProfilerCallback11 { ICorProfilerInfo15* GetProfilerInfo() const; - void HandleFunctionEnter2(FunctionID funcId); - void HandleFunctionLeave2(FunctionID funcId); - void HandleFunctionTailCall(FunctionID funcId); + void HandleFunctionEnter(FunctionID funcId) const; + void HandleFunctionLeave(FunctionID funcId) const; + void HandleFunctionTailCall(FunctionID funcId) const; + + void HandleFunctionEnter2(FunctionID funcId, COR_PRF_FUNCTION_ARGUMENT_INFO *argumentInfo) const; + void HandleFunctionLeave2(FunctionID funcId) const; + void HandleFunctionTailCall2(FunctionID funcId) const; HRESULT STDMETHODCALLTYPE Initialize(IUnknown* pICorProfilerInfoUnk) override; HRESULT STDMETHODCALLTYPE Shutdown() override; diff --git a/Procfiler/src/cpp/offline/corprofiler/shadowstack/utils.h b/Procfiler/src/cpp/offline/corprofiler/shadowstack/utils.h index b92cbc3b1..ea72361d6 100644 --- a/Procfiler/src/cpp/offline/corprofiler/shadowstack/utils.h +++ b/Procfiler/src/cpp/offline/corprofiler/shadowstack/utils.h @@ -15,13 +15,25 @@ struct FunctionEvent { FunctionEventKind EventKind; int64_t Timestamp; - FunctionEvent(const FunctionID id, const FunctionEventKind eventKind, const int64_t timestamp) : - Id(id), - EventKind(eventKind), - Timestamp(timestamp) { + FunctionEvent(const FunctionID id, const FunctionEventKind eventKind, const int64_t timestamp) : Id(id), + EventKind(eventKind), + Timestamp(timestamp) { } }; +struct ObjectFunctionEvent : FunctionEvent { + int64_t ObjectId; + int64_t TypeId; + + ObjectFunctionEvent( + const FunctionID id, + const FunctionEventKind eventKind, + const int64_t timestamp, + const int64_t objectId, + const int64_t typeId + ) : FunctionEvent(id, eventKind, timestamp), ObjectId(objectId), TypeId(typeId) { + } +}; void writeFunctionEvent(const FunctionEvent& event, std::ofstream& fout); diff --git a/Procfiler/src/cpp/shared/info/TypeInfo.cpp b/Procfiler/src/cpp/shared/info/TypeInfo.cpp index 2c2467e5b..b670c2059 100644 --- a/Procfiler/src/cpp/shared/info/TypeInfo.cpp +++ b/Procfiler/src/cpp/shared/info/TypeInfo.cpp @@ -6,6 +6,7 @@ TypeInfo::TypeInfo(const std::vector& raw) : myRaw(raw) { myIsRefType = !raw.empty() && raw[0] == ELEMENT_TYPE_BYREF; + myIsClass = !raw.empty() && raw[0] == ELEMENT_TYPE_CLASS; myIsVoid = !raw.empty() && raw[0] == ELEMENT_TYPE_VOID; @@ -154,6 +155,10 @@ void TypeInfo::SetRefType(const bool isRefType) { myIsRefType = isRefType; } +bool TypeInfo::IsClass() const { + return myIsClass; +} + bool TypeInfo::IsBoxed() const { return myIsBoxed; } diff --git a/Procfiler/src/cpp/shared/info/TypeInfo.h b/Procfiler/src/cpp/shared/info/TypeInfo.h index fb058430a..76d83df25 100644 --- a/Procfiler/src/cpp/shared/info/TypeInfo.h +++ b/Procfiler/src/cpp/shared/info/TypeInfo.h @@ -14,6 +14,7 @@ struct TypeInfo { std::vector myGenerics{}; bool myIsRefType = false; + bool myIsClass = false; BYTE myTypeDef = 0; bool myIsBoxed = false; bool myIsVoid = false; @@ -40,6 +41,7 @@ struct TypeInfo { bool IsRefType() const; void SetRefType(bool isRefType); + bool IsClass() const; bool IsBoxed() const; bool IsVoid() const; diff --git a/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Base/CollectCommandBase.Options.cs b/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Base/CollectCommandBase.Options.cs index c1fe7836c..f6ee3ac15 100644 --- a/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Base/CollectCommandBase.Options.cs +++ b/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Base/CollectCommandBase.Options.cs @@ -125,5 +125,5 @@ private void AddCommonOptions(Command command) new("--log-serialization-format", static () => LogFormat.Xes, "The format which will be used to store event logs"); private Option ProduceObjectBinStacks { get; } = - new("--produce-object-bin-stacks", static () => true, "Whether to store information about objects and types associated with methods calls"); + new("--produce-object-bin-stacks", static () => false, "Whether to store information about objects and types associated with methods calls"); } \ No newline at end of file diff --git a/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/ICommandExecutorDependantOnContext.cs b/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/ICommandExecutorDependantOnContext.cs index 37ae28208..e9709b02e 100644 --- a/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/ICommandExecutorDependantOnContext.cs +++ b/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/ICommandExecutorDependantOnContext.cs @@ -122,7 +122,7 @@ private CollectedEvents CollectEventsFromProcess( private ClrEventsCollectionContext ToCollectionContext(CollectClrEventsContext context, int processId, string? binStacksPath) { var ctx = context.CommonContext; - var (_, _, _, _, category, _, duration, timeout, _, _, _, cppProfilerMode, _, _, _, _, _) = ctx; + var (_, _, _, _, category, _, duration, timeout, _, _, _, cppProfilerMode, _, _, _, _, _, _) = ctx; if (ctx.CppProfilerMode.IsDisabled()) { From 95dd2b44bb4f89addd1ca15b0efce0296e1bf4c0 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Thu, 11 Sep 2025 16:10:55 +0300 Subject: [PATCH 006/189] Found signature parser, WIP --- Procfiler/src/cpp/offline/CMakeLists.txt | 3 + .../ProcfilerCorProfilerCallback.cpp | 44 +- .../cpp/shared/info/sigparser/sigparser.cpp | 664 ++++++++++++++++++ .../src/cpp/shared/info/sigparser/sigparser.h | 294 ++++++++ .../shared/info/sigparser/sigparserimpl.hpp | 150 ++++ 5 files changed, 1151 insertions(+), 4 deletions(-) create mode 100644 Procfiler/src/cpp/shared/info/sigparser/sigparser.cpp create mode 100644 Procfiler/src/cpp/shared/info/sigparser/sigparser.h create mode 100644 Procfiler/src/cpp/shared/info/sigparser/sigparserimpl.hpp diff --git a/Procfiler/src/cpp/offline/CMakeLists.txt b/Procfiler/src/cpp/offline/CMakeLists.txt index 424dd18b1..c3831ffc7 100644 --- a/Procfiler/src/cpp/offline/CMakeLists.txt +++ b/Procfiler/src/cpp/offline/CMakeLists.txt @@ -40,6 +40,9 @@ set(SOURCES corprofiler/shadowstack/serializers/DebugShadowStackSerializer.h corprofiler/shadowstack/utils.cpp corprofiler/shadowstack/EventsWithThreadId.cpp + ../shared/info/sigparser/sigparser.H + ../shared/info/sigparser/sigparser.cpp + ../shared/info/sigparser/sigparserimpl.hpp ) include_directories(../3rdparty/coreclr/pal/prebuilt/inc) diff --git a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp index a1edec50e..69fdc213d 100644 --- a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp @@ -1,9 +1,13 @@ #include "ProcfilerCorProfilerCallback.h" #include #include + +#include "clr/profilerstring.hpp" #include "shadowstack/serializers/BinaryShadowStackSerializer.h" #include "shadowstack/serializers/DebugShadowStackSerializer.h" #include "shadowstack/serializers/EventPipeShadowStackSerializer.h" +#include "sigparser/sigparser.h" +#include "sigparser/sigparserimpl.hpp" ProcfilerCorProfilerCallback* ourCallback; @@ -65,10 +69,42 @@ void ProcfilerCorProfilerCallback::HandleFunctionTailCall(const FunctionID funcI void ProcfilerCorProfilerCallback::HandleFunctionEnter2(FunctionID funcId, COR_PRF_FUNCTION_ARGUMENT_INFO* argumentInfo) const { - auto info = FunctionInfo::GetFunctionInfo(myProfilerInfo, funcId); - if (info.GetMethodSignature().IsInstanceMethod() && info.GetTypeInfo().IsRefType()) { - std::cout << "XDDD " << info.GetFullName() << "\n"; - } + mdToken functionToken; + ClassID classId; + ModuleID moduleId; + + myProfilerInfo->GetFunctionInfo(funcId, &classId, &moduleId, &functionToken); + + IUnknown* unknown; + myProfilerInfo->GetModuleMetaData(moduleId, ofRead | ofWrite, IID_IMetaDataImport, &unknown); + + IMetaDataImport2* metadataImport = nullptr; + void** ptr = reinterpret_cast(&metadataImport); + unknown->QueryInterface(IID_IMetaDataImport, ptr); + + constexpr int STR_LENGTH = 256; + WCHAR funcName[STR_LENGTH]; + PCCOR_SIGNATURE sig; + ULONG cSig; + String name; + + metadataImport->GetMethodProps(functionToken, + NULL, + funcName, + STR_LENGTH, + 0, + 0, + &sig, + &cSig, + NULL, + NULL); + + SigFormatParserImpl sigParser; + sigParser.Parse(const_cast(sig), cSig); + + name += funcName; + + std::cout << ToString(name.ToWString()) << "::" << sigParser.HasThis() << "\n"; HandleFunctionEnter(funcId); } diff --git a/Procfiler/src/cpp/shared/info/sigparser/sigparser.cpp b/Procfiler/src/cpp/shared/info/sigparser/sigparser.cpp new file mode 100644 index 000000000..f4bdf2f72 --- /dev/null +++ b/Procfiler/src/cpp/shared/info/sigparser/sigparser.cpp @@ -0,0 +1,664 @@ +#include "sigparser.h" + +bool SigParser::Parse(sig_byte *pb, sig_count cbBuffer) +{ + pbBase = pb; + pbCur = pb; + pbEnd = pbBase + cbBuffer; + + sig_elem_type elem_type; + + if (!ParseByte(&elem_type)) + return false; + + switch (elem_type & 0xf) + { + case SIG_METHOD_DEFAULT: // default calling convention + case SIG_METHOD_C: // C calling convention + case SIG_METHOD_STDCALL: // Stdcall calling convention + case SIG_METHOD_THISCALL: // thiscall calling convention + case SIG_METHOD_FASTCALL: // fastcall calling convention + case SIG_METHOD_VARARG: // vararg calling convention + return ParseMethod(elem_type); + break; + + case SIG_FIELD: // encodes a field + return ParseField(elem_type); + break; + + case SIG_LOCAL_SIG: // used for the .locals directive + return ParseLocals(elem_type); + break; + + case SIG_PROPERTY: // used to encode a property + return ParseProperty(elem_type); + break; + + default: + // unknown signature + break; + } + + return false; +} + + +bool SigParser::ParseByte(sig_byte *pbOut) +{ + if (pbCur < pbEnd) + { + *pbOut = *pbCur; + pbCur++; + return true; + } + + return false; +} + + +bool SigParser::ParseMethod(sig_elem_type elem_type) +{ + // MethodDefSig ::= [[HASTHIS] [EXPLICITTHIS]] (DEFAULT|VARARG|GENERIC GenParamCount) + // ParamCount RetType Param* [SENTINEL Param+] + + NotifyBeginMethod(elem_type); + + sig_count gen_param_count; + sig_count param_count; + + if (elem_type & (SIG_HASTHIS | SIG_EXPLICITTHIS)) + { + NotifyHasThis(); + } + + if (elem_type & SIG_GENERIC) + { + if (!ParseNumber(&gen_param_count)) + return false; + + NotifyGenericParamCount(gen_param_count); + } + + if (!ParseNumber(¶m_count)) + return false; + + NotifyParamCount(param_count); + + if (!ParseRetType()) + return false; + + bool fEncounteredSentinel = false; + + for (sig_count i = 0; i < param_count; i++) + { + if (pbCur >= pbEnd) + return false; + + if (*pbCur == ELEMENT_TYPE_SENTINEL) + { + if (fEncounteredSentinel) + return false; + + fEncounteredSentinel = true; + NotifySentinel(); + pbCur++; + } + + if (!ParseParam()) + return false; + } + + NotifyEndMethod(); + + return true; +} + + +bool SigParser::ParseField(sig_elem_type elem_type) +{ + // FieldSig ::= FIELD CustomMod* Type + + NotifyBeginField(elem_type); + + if (!ParseOptionalCustomMods()) + return false; + + if (!ParseType()) + return false; + + NotifyEndField(); + + return true; +} + + +bool SigParser::ParseProperty(sig_elem_type elem_type) +{ + // PropertySig ::= PROPERTY [HASTHIS] ParamCount CustomMod* Type Param* + + NotifyBeginProperty(elem_type); + + sig_count param_count; + + if (!ParseNumber(¶m_count)) + return false; + + NotifyParamCount(param_count); + + if (!ParseOptionalCustomMods()) + return false; + + for (sig_count i = 0; i < param_count; i++) + { + if (!ParseParam()) + return false; + } + + NotifyEndProperty(); + + return true; +} + + +bool SigParser::ParseLocals(sig_elem_type elem_type) +{ + // LocalVarSig ::= LOCAL_SIG Count (TYPEDBYREF | ([CustomMod] [Constraint])* [BYREF] Type)+ + + NotifyBeginLocals(elem_type); + + sig_count local_count; + + if (!ParseNumber(&local_count)) + return false; + + NotifyLocalsCount(local_count); + + for (sig_count i = 0; i < local_count; i++) + { + if (!ParseLocal()) + return false; + } + + NotifyEndLocals(); + + return true; +} + + +bool SigParser::ParseLocal() +{ + //TYPEDBYREF | ([CustomMod] [Constraint])* [BYREF] Type + NotifyBeginLocal(); + + if (pbCur >= pbEnd) + return false; + + if (*pbCur == ELEMENT_TYPE_TYPEDBYREF) + { + NotifyTypedByref(); + pbCur++; + goto Success; + } + + if (!ParseOptionalCustomModsOrConstraint()) + return false; + + if (pbCur >= pbEnd) + return false; + + if (*pbCur == ELEMENT_TYPE_BYREF) + { + NotifyByref(); + pbCur++; + } + + if (!ParseType()) + return false; + +Success: + NotifyEndLocal(); + return true; +} + + +bool SigParser::ParseOptionalCustomModsOrConstraint() +{ + for (;;) + { + if (pbCur >= pbEnd) + return true; + + switch (*pbCur) + { + case ELEMENT_TYPE_CMOD_OPT: + case ELEMENT_TYPE_CMOD_REQD: + if (!ParseCustomMod()) + return false; + break; + + case ELEMENT_TYPE_PINNED: + NotifyConstraint(*pbCur); + pbCur++; + break; + + default: + return true; + } + } + + return false; +} + + +bool SigParser::ParseOptionalCustomMods() +{ + for (;;) + { + if (pbCur >= pbEnd) + return true; + + switch (*pbCur) + { + case ELEMENT_TYPE_CMOD_OPT: + case ELEMENT_TYPE_CMOD_REQD: + if (!ParseCustomMod()) + return false; + break; + + default: + return true; + } + } + + return false; +} + + + +bool SigParser::ParseCustomMod() +{ + sig_elem_type cmod = 0; + sig_index index; + sig_index_type indexType; + + if (!ParseByte(&cmod)) + return false; + + if (cmod == ELEMENT_TYPE_CMOD_OPT || cmod == ELEMENT_TYPE_CMOD_REQD) + { + if (!ParseTypeDefOrRefEncoded(&indexType, &index)) + return false; + + NotifyCustomMod(cmod, indexType, index); + return true; + } + + return false; +} + + +bool SigParser::ParseParam() +{ + // Param ::= CustomMod* ( TYPEDBYREF | [BYREF] Type ) + + NotifyBeginParam(); + + if (!ParseOptionalCustomMods()) + return false; + + if (pbCur >= pbEnd) + return false; + + if (*pbCur == ELEMENT_TYPE_TYPEDBYREF) + { + NotifyTypedByref(); + pbCur++; + goto Success; + } + + if (*pbCur == ELEMENT_TYPE_BYREF) + { + NotifyByref(); + pbCur++; + } + + if (!ParseType()) + return false; + +Success: + NotifyEndParam(); + return true; +} + + +bool SigParser::ParseRetType() +{ + // RetType ::= CustomMod* ( VOID | TYPEDBYREF | [BYREF] Type ) + + NotifyBeginRetType(); + + if (!ParseOptionalCustomMods()) + return false; + + if (pbCur >= pbEnd) + return false; + + if (*pbCur == ELEMENT_TYPE_TYPEDBYREF) + { + NotifyTypedByref(); + pbCur++; + goto Success; + } + + if (*pbCur == ELEMENT_TYPE_VOID) + { + NotifyVoid(); + pbCur++; + goto Success; + } + + if (*pbCur == ELEMENT_TYPE_BYREF) + { + NotifyByref(); + pbCur++; + } + + if (!ParseType()) + return false; + +Success: + NotifyEndRetType(); + return true; +} + +bool SigParser::ParseArrayShape() +{ + sig_count rank; + sig_count numsizes; + sig_count size; + + // ArrayShape ::= Rank NumSizes Size* NumLoBounds LoBound* + NotifyBeginArrayShape(); + if (!ParseNumber(&rank)) + return false; + + NotifyRank(rank); + + if (!ParseNumber(&numsizes)) + return false; + + NotifyNumSizes(numsizes); + + for (sig_count i = 0; i < numsizes; i++) + { + if (!ParseNumber(&size)) + return false; + + NotifySize(size); + } + + if (!ParseNumber(&numsizes)) + return false; + + NotifyNumLoBounds(numsizes); + + for (sig_count i = 0; i < numsizes; i++) + { + if (!ParseNumber(&size)) + return false; + + NotifyLoBound(size); + } + + NotifyEndArrayShape(); + return true; +} + +bool SigParser::ParseType() +{ + /* + Type ::= ( BOOLEAN | CHAR | I1 | U1 | U2 | U2 | I4 | U4 | I8 | U8 | R4 | R8 | I | U | + | VALUETYPE TypeDefOrRefEncoded + | CLASS TypeDefOrRefEncoded + | STRING + | OBJECT + | PTR CustomMod* VOID + | PTR CustomMod* Type + | FNPTR MethodDefSig + | FNPTR MethodRefSig + | ARRAY Type ArrayShape + | SZARRAY CustomMod* Type + | GENERICINST (CLASS | VALUETYPE) TypeDefOrRefEncoded GenArgCount Type * + | VAR Number + | MVAR Number + + */ + + NotifyBeginType(); + + sig_elem_type elem_type; + sig_index index; + sig_mem_number number; + sig_index_type indexType; + + if (!ParseByte(&elem_type)) + return false; + + switch (elem_type) + { + case ELEMENT_TYPE_BOOLEAN: + case ELEMENT_TYPE_CHAR: + case ELEMENT_TYPE_I1: + case ELEMENT_TYPE_U1: + case ELEMENT_TYPE_U2: + case ELEMENT_TYPE_I2: + case ELEMENT_TYPE_I4: + case ELEMENT_TYPE_U4: + case ELEMENT_TYPE_I8: + case ELEMENT_TYPE_U8: + case ELEMENT_TYPE_R4: + case ELEMENT_TYPE_R8: + case ELEMENT_TYPE_I: + case ELEMENT_TYPE_U: + case ELEMENT_TYPE_STRING: + case ELEMENT_TYPE_OBJECT: + // simple types + NotifyTypeSimple(elem_type); + break; + + case ELEMENT_TYPE_PTR: + // PTR CustomMod* VOID + // PTR CustomMod* Type + + NotifyTypePointer(); + + if (!ParseOptionalCustomMods()) + return false; + + if (pbCur >= pbEnd) + return false; + + if (*pbCur == ELEMENT_TYPE_VOID) + { + pbCur++; + NotifyVoid(); + break; + } + + if (!ParseType()) + return false; + + break; + + case ELEMENT_TYPE_CLASS: + // CLASS TypeDefOrRefEncoded + NotifyTypeClass(); + + if (!ParseTypeDefOrRefEncoded(&indexType, &index)) + return false; + + NotifyTypeDefOrRef(indexType, index); + break; + + case ELEMENT_TYPE_VALUETYPE: + //VALUETYPE TypeDefOrRefEncoded + NotifyTypeValueType(); + + if (!ParseTypeDefOrRefEncoded(&indexType, &index)) + return false; + + NotifyTypeDefOrRef(indexType, index); + break; + + case ELEMENT_TYPE_FNPTR: + // FNPTR MethodDefSig + // FNPTR MethodRefSig + NotifyTypeFunctionPointer(); + + if (!ParseByte(&elem_type)) + return false; + + if (!ParseMethod(elem_type)) + return false; + + break; + + case ELEMENT_TYPE_ARRAY: + // ARRAY Type ArrayShape + NotifyTypeArray(); + + if (!ParseType()) + return false; + + if (!ParseArrayShape()) + return false; + break; + + case ELEMENT_TYPE_SZARRAY: + // SZARRAY CustomMod* Type + + NotifyTypeSzArray(); + + if (!ParseOptionalCustomMods()) + return false; + + if (!ParseType()) + return false; + + break; + + case ELEMENT_TYPE_GENERICINST: + // GENERICINST (CLASS | VALUETYPE) TypeDefOrRefEncoded GenArgCount Type * + + if (!ParseByte(&elem_type)) + return false; + + if (elem_type != ELEMENT_TYPE_CLASS && elem_type != ELEMENT_TYPE_VALUETYPE) + return false; + + if (!ParseTypeDefOrRefEncoded(&indexType, &index)) + return false; + + if (!ParseNumber(&number)) + return false; + + NotifyTypeGenericInst(elem_type, indexType, index, number); + + { + for (sig_mem_number i=0; i < number; i++) + { + if (!ParseType()) + return false; + } + } + + break; + + case ELEMENT_TYPE_VAR: + // VAR Number + if (!ParseNumber(&number)) + return false; + NotifyTypeGenericTypeVariable(number); + break; + + case ELEMENT_TYPE_MVAR: + // MVAR Number + if (!ParseNumber(&number)) + return false; + NotifyTypeGenericMemberVariable(number); + break; + } + + NotifyEndType(); + + return true; +} + +bool SigParser::ParseTypeDefOrRefEncoded(sig_index_type *pIndexTypeOut, sig_index *pIndexOut) +{ + // parse an encoded typedef or typeref + + sig_count encoded = 0; + + if (!ParseNumber(&encoded)) + return false; + + *pIndexTypeOut = (sig_index_type) (encoded & 0x3); + *pIndexOut = (encoded >> 2); + return true; +} + +bool SigParser::ParseNumber(sig_count *pOut) +{ + // parse the variable length number format (0-4 bytes) + + sig_byte b1 = 0, b2 = 0, b3 = 0, b4 = 0; + + // at least one byte in the encoding, read that + + if (!ParseByte(&b1)) + return false; + + if (b1 == 0xff) + { + // special encoding of 'NULL' + // not sure what this means as a number, don't expect to see it except for string lengths + // which we don't encounter anyway so calling it an error + return false; + } + + // early out on 1 byte encoding + if ( (b1 & 0x80) == 0) + { + *pOut = (int)b1; + return true; + } + + // now at least 2 bytes in the encoding, read 2nd byte + if (!ParseByte(&b2)) + return false; + + // early out on 2 byte encoding + if ( (b1 & 0x40) == 0) + { + *pOut = (((b1 & 0x3f) << 8) | b2); + return true; + } + + // must be a 4 byte encoding + + if ( (b1 & 0x20) != 0) + { + // 4 byte encoding has this bit clear -- error if not + return false; + } + + if (!ParseByte(&b3)) + return false; + + if (!ParseByte(&b4)) + return false; + + *pOut = ((b1 & 0x1f)<<24) | (b2<<16) | (b3<<8) | b4; + return true; +} diff --git a/Procfiler/src/cpp/shared/info/sigparser/sigparser.h b/Procfiler/src/cpp/shared/info/sigparser/sigparser.h new file mode 100644 index 000000000..7c889b295 --- /dev/null +++ b/Procfiler/src/cpp/shared/info/sigparser/sigparser.h @@ -0,0 +1,294 @@ +#ifndef __PROFILER_SIGNATURE_PARSER__ +#define __PROFILER_SIGNATURE_PARSER__ + +/* + +Sig ::= MethodDefSig | MethodRefSig | StandAloneMethodSig | FieldSig | PropertySig | LocalVarSig + +MethodDefSig ::= [[HASTHIS] [EXPLICITTHIS]] (DEFAULT|VARARG|GENERIC GenParamCount) ParamCount RetType Param* + +MethodRefSig ::= [[HASTHIS] [EXPLICITTHIS]] VARARG ParamCount RetType Param* [SENTINEL Param+] + +StandAloneMethodSig ::= [[HASTHIS] [EXPLICITTHIS]] (DEFAULT|VARARG|C|STDCALL|THISCALL|FASTCALL) + ParamCount RetType Param* [SENTINEL Param+] + +FieldSig ::= FIELD CustomMod* Type + +PropertySig ::= PROPERTY [HASTHIS] ParamCount CustomMod* Type Param* + +LocalVarSig ::= LOCAL_SIG Count (TYPEDBYREF | ([CustomMod] [Constraint])* [BYREF] Type)+ + + +------------- + +CustomMod ::= ( CMOD_OPT | CMOD_REQD ) ( TypeDefEncoded | TypeRefEncoded ) + +Constraint ::= #define ELEMENT_TYPE_PINNED + +Param ::= CustomMod* ( TYPEDBYREF | [BYREF] Type ) + +RetType ::= CustomMod* ( VOID | TYPEDBYREF | [BYREF] Type ) + +Type ::= ( BOOLEAN | CHAR | I1 | U1 | U2 | U2 | I4 | U4 | I8 | U8 | R4 | R8 | I | U | + | VALUETYPE TypeDefOrRefEncoded + | CLASS TypeDefOrRefEncoded + | STRING + | OBJECT + | PTR CustomMod* VOID + | PTR CustomMod* Type + | FNPTR MethodDefSig + | FNPTR MethodRefSig + | ARRAY Type ArrayShape + | SZARRAY CustomMod* Type + | GENERICINST (CLASS | VALUETYPE) TypeDefOrRefEncoded GenArgCount Type* + | VAR Number + | MVAR Number + +ArrayShape ::= Rank NumSizes Size* NumLoBounds LoBound* + +TypeDefOrRefEncoded ::= TypeDefEncoded | TypeRefEncoded +TypeDefEncoded ::= 32-bit-3-part-encoding-for-typedefs-and-typerefs +TypeRefEncoded ::= 32-bit-3-part-encoding-for-typedefs-and-typerefs + +ParamCount ::= 29-bit-encoded-integer +GenArgCount ::= 29-bit-encoded-integer +Count ::= 29-bit-encoded-integer +Rank ::= 29-bit-encoded-integer +NumSizes ::= 29-bit-encoded-integer +Size ::= 29-bit-encoded-integer +NumLoBounds ::= 29-bit-encoded-integer +LoBounds ::= 29-bit-encoded-integer +Number ::= 29-bit-encoded-integer + +*/ + +#define ELEMENT_TYPE_END 0x00 //Marks end of a list +#define ELEMENT_TYPE_VOID 0x01 +#define ELEMENT_TYPE_BOOLEAN 0x02 +#define ELEMENT_TYPE_CHAR 0x03 +#define ELEMENT_TYPE_I1 0x04 +#define ELEMENT_TYPE_U1 0x05 +#define ELEMENT_TYPE_I2 0x06 +#define ELEMENT_TYPE_U2 0x07 +#define ELEMENT_TYPE_I4 0x08 +#define ELEMENT_TYPE_U4 0x09 +#define ELEMENT_TYPE_I8 0x0a +#define ELEMENT_TYPE_U8 0x0b +#define ELEMENT_TYPE_R4 0x0c +#define ELEMENT_TYPE_R8 0x0d +#define ELEMENT_TYPE_STRING 0x0e +#define ELEMENT_TYPE_PTR 0x0f // Followed by type +#define ELEMENT_TYPE_BYREF 0x10 // Followed by type +#define ELEMENT_TYPE_VALUETYPE 0x11 // Followed by TypeDef or TypeRef token +#define ELEMENT_TYPE_CLASS 0x12 // Followed by TypeDef or TypeRef token +#define ELEMENT_TYPE_VAR 0x13 // Generic parameter in a generic type definition, represented as number +#define ELEMENT_TYPE_ARRAY 0x14 // type rank boundsCount bound1 ... loCount lo1 ... +#define ELEMENT_TYPE_GENERICINST 0x15 // Generic type instantiation. Followed by type type-arg-count type-1 ... type-n +#define ELEMENT_TYPE_TYPEDBYREF 0x16 +#define ELEMENT_TYPE_I 0x18 // System.IntPtr +#define ELEMENT_TYPE_U 0x19 // System.UIntPtr +#define ELEMENT_TYPE_FNPTR 0x1b // Followed by full method signature +#define ELEMENT_TYPE_OBJECT 0x1c // System.Object +#define ELEMENT_TYPE_SZARRAY 0x1d // Single-dim array with 0 lower bound +#define ELEMENT_TYPE_MVAR 0x1e // Generic parameter in a generic method definition,represented as number +#define ELEMENT_TYPE_CMOD_REQD 0x1f // Required modifier : followed by a TypeDef or TypeRef token +#define ELEMENT_TYPE_CMOD_OPT 0x20 // Optional modifier : followed by a TypeDef or TypeRef token +#define ELEMENT_TYPE_INTERNAL 0x21 // Implemented within the CLI +#define ELEMENT_TYPE_MODIFIER 0x40 // Or'd with following element types +#define ELEMENT_TYPE_SENTINEL 0x41 // Sentinel for vararg method signature +#define ELEMENT_TYPE_PINNED 0x45 // Denotes a local variable that points at a pinned object + +#define SIG_METHOD_DEFAULT 0x00 // default calling convention +#define SIG_METHOD_C 0x01 // C calling convention +#define SIG_METHOD_STDCALL 0x02 // Stdcall calling convention +#define SIG_METHOD_THISCALL 0x03 // thiscall calling convention +#define SIG_METHOD_FASTCALL 0x04 // fastcall calling convention +#define SIG_METHOD_VARARG 0x05 // vararg calling convention +#define SIG_FIELD 0x06 // encodes a field +#define SIG_LOCAL_SIG 0x07 // used for the .locals directive +#define SIG_PROPERTY 0x08 // used to encode a property + +#define SIG_GENERIC 0x10 // used to indicate that the method has one or more generic parameters. +#define SIG_HASTHIS 0x20 // used to encode the keyword instance in the calling convention +#define SIG_EXPLICITTHIS 0x40 // used to encode the keyword explicit in the calling convention + +#define SIG_INDEX_TYPE_TYPEDEF 0x00 // ParseTypeDefOrRefEncoded returns this as the out index type for typedefs +#define SIG_INDEX_TYPE_TYPEREF 0x01 // ParseTypeDefOrRefEncoded returns this as the out index type for typerefs +#define SIG_INDEX_TYPE_TYPESPEC 0x02 // ParseTypeDefOrRefEncoded returns this as the out index type for typespecs + + +typedef unsigned char sig_byte; +typedef unsigned char sig_elem_type; +typedef unsigned char sig_index_type; +typedef unsigned int sig_index; +typedef unsigned int sig_count; +typedef unsigned int sig_mem_number; + +class SigParser +{ +private: + sig_byte *pbBase; + sig_byte *pbCur; + sig_byte *pbEnd; + +public: + bool Parse(sig_byte *blob, sig_count len); + bool HasThis(); + +private: + bool ParseByte(sig_byte *pbOut); + bool ParseNumber(sig_count *pOut); + bool ParseTypeDefOrRefEncoded(sig_index_type *pOutIndexType, sig_index *pOutIndex); + + bool ParseMethod(sig_elem_type); + bool ParseField(sig_elem_type); + bool ParseProperty(sig_elem_type); + bool ParseLocals(sig_elem_type); + bool ParseLocal(); + bool ParseOptionalCustomMods(); + bool ParseOptionalCustomModsOrConstraint(); + bool ParseCustomMod(); + bool ParseRetType(); + bool ParseType(); + bool ParseParam(); + bool ParseArrayShape(); + +protected: + ~SigParser() = default; + + // subtype these methods to create your parser side-effects + + //---------------------------------------------------- + + // a method with given elem_type + virtual void NotifyBeginMethod(sig_elem_type elem_type) = 0; + virtual void NotifyEndMethod() = 0; + + // the method has a this pointer + virtual void NotifyHasThis() = 0; + + // total parameters for the method + virtual void NotifyParamCount(sig_count) = 0; + + // starting a return type + virtual void NotifyBeginRetType() = 0; + virtual void NotifyEndRetType() = 0; + + // starting a parameter + virtual void NotifyBeginParam() = 0; + virtual void NotifyEndParam() = 0; + + // sentinel indication the location of the "..." in the method signature + virtual void NotifySentinel() = 0; + + // number of generic parameters in this method signature (if any) + virtual void NotifyGenericParamCount(sig_count) = 0; + + //---------------------------------------------------- + + // a field with given elem_type + virtual void NotifyBeginField(sig_elem_type elem_type) = 0; + virtual void NotifyEndField() = 0; + + //---------------------------------------------------- + + // a block of locals with given elem_type (always just LOCAL_SIG for now) + virtual void NotifyBeginLocals(sig_elem_type elem_type) = 0; + virtual void NotifyEndLocals() = 0; + + // count of locals with a block + virtual void NotifyLocalsCount(sig_count) = 0; + + // starting a new local within a local block + virtual void NotifyBeginLocal() = 0; + virtual void NotifyEndLocal() = 0; + + // the only constraint available to locals at the moment is ELEMENT_TYPE_PINNED + virtual void NotifyConstraint(sig_elem_type elem_type) = 0; + + + //---------------------------------------------------- + + // a property with given element type + virtual void NotifyBeginProperty(sig_elem_type elem_type) = 0; + virtual void NotifyEndProperty() = 0; + + //---------------------------------------------------- + + // starting array shape information for array types + virtual void NotifyBeginArrayShape() = 0; + virtual void NotifyEndArrayShape() = 0; + + // array rank (total number of dimensions) + virtual void NotifyRank(sig_count) = 0; + + // number of dimensions with specified sizes followed by the size of each + virtual void NotifyNumSizes(sig_count) = 0; + virtual void NotifySize(sig_count) = 0; + + // BUG BUG lower bounds can be negative, how can this be encoded? + // number of dimensions with specified lower bounds followed by lower bound of each + virtual void NotifyNumLoBounds(sig_count) = 0; + virtual void NotifyLoBound(sig_count) = 0; + + //---------------------------------------------------- + + + // starting a normal type (occurs in many contexts such as param, field, local, etc) + virtual void NotifyBeginType() = 0; + virtual void NotifyEndType() = 0; + + virtual void NotifyTypedByref() = 0; + + // the type has the 'byref' modifier on it -- this normally proceeds the type definition in the context + // the type is used, so for instance a parameter might have the byref modifier on it + // so this happens before the BeginType in that context + virtual void NotifyByref() = 0; + + // the type is "VOID" (this has limited uses, function returns and void pointer) + virtual void NotifyVoid() = 0; + + // the type has the indicated custom modifiers (which can be optional or required) + virtual void NotifyCustomMod(sig_elem_type cmod, sig_index_type indexType, sig_index index) = 0; + + // the type is a simple type, the elem_type defines it fully + virtual void NotifyTypeSimple(sig_elem_type elem_type) = 0; + + // the type is specified by the given index of the given index type (normally a type index in the type metadata) + // this callback is normally qualified by other ones such as NotifyTypeClass or NotifyTypeValueType + virtual void NotifyTypeDefOrRef(sig_index_type indexType, int index) = 0; + + // the type is an instance of a generic + // elem_type indicates value_type or class + // indexType and index indicate the metadata for the type in question + // number indicates the number of type specifications for the generic types that will follow + virtual void NotifyTypeGenericInst(sig_elem_type elem_type, sig_index_type indexType, sig_index index, sig_mem_number number) = 0; + + // the type is the type of the nth generic type parameter for the class + virtual void NotifyTypeGenericTypeVariable(sig_mem_number number) = 0; + + // the type is the type of the nth generic type parameter for the member + virtual void NotifyTypeGenericMemberVariable(sig_mem_number number) = 0; + + // the type will be a value type + virtual void NotifyTypeValueType() = 0; + + // the type will be a class + virtual void NotifyTypeClass() = 0; + + // the type is a pointer to a type (nested type notifications follow) + virtual void NotifyTypePointer() = 0; + + // the type is a function pointer, followed by the type of the function + virtual void NotifyTypeFunctionPointer() = 0; + + // the type is an array, this is followed by the array shape, see above, as well as modifiers and element type + virtual void NotifyTypeArray() = 0; + + // the type is a simple zero-based array, this has no shape but does have custom modifiers and element type + virtual void NotifyTypeSzArray() = 0; +}; + +//---------------------------------------------------- + +#endif // __PROFILER_SIGNATURE_PARSER__ diff --git a/Procfiler/src/cpp/shared/info/sigparser/sigparserimpl.hpp b/Procfiler/src/cpp/shared/info/sigparser/sigparserimpl.hpp new file mode 100644 index 000000000..1b421dbb1 --- /dev/null +++ b/Procfiler/src/cpp/shared/info/sigparser/sigparserimpl.hpp @@ -0,0 +1,150 @@ +#ifndef PROCFILER_SIGPARSERIMPL_H +#define PROCFILER_SIGPARSERIMPL_H + +#include "sigparser.h" + +class SigFormatParserImpl final : public SigParser { + bool myHasThis = false; + +public: + bool HasThis() const { + return myHasThis; + } + +protected: + void NotifyHasThis() override { + myHasThis = true; + } + + void NotifyBeginMethod(sig_elem_type elem_type) override { + } + + void NotifyEndMethod() override { + } + + void NotifyParamCount(sig_count) override { + } + + void NotifyBeginRetType() override { + } + + void NotifyEndRetType() override { + } + + void NotifyBeginParam() override { + } + + void NotifyEndParam() override { + } + + void NotifySentinel() override { + } + + void NotifyGenericParamCount(sig_count) override { + } + + void NotifyBeginField(sig_elem_type elem_type) override { + } + + void NotifyEndField() override { + } + + void NotifyBeginLocals(sig_elem_type elem_type) override { + } + + void NotifyEndLocals() override { + } + + void NotifyLocalsCount(sig_count) override { + } + + void NotifyBeginLocal() override { + } + + void NotifyEndLocal() override { + } + + void NotifyConstraint(sig_elem_type elem_type) override { + } + + void NotifyBeginProperty(sig_elem_type elem_type) override { + } + + void NotifyEndProperty() override { + } + + void NotifyBeginArrayShape() override { + } + + void NotifyEndArrayShape() override { + } + + void NotifyRank(sig_count) override { + } + + void NotifyNumSizes(sig_count) override { + } + + void NotifySize(sig_count) override { + } + + void NotifyNumLoBounds(sig_count) override { + } + + void NotifyLoBound(sig_count) override { + } + + void NotifyBeginType() override { + } + + void NotifyEndType() override { + } + + void NotifyTypedByref() override { + } + + void NotifyByref() override { + } + + void NotifyVoid() override { + } + + void NotifyCustomMod(sig_elem_type cmod, sig_index_type indexType, sig_index index) override { + } + + void NotifyTypeSimple(sig_elem_type elem_type) override { + } + + void NotifyTypeDefOrRef(sig_index_type indexType, int index) override { + } + + void NotifyTypeGenericInst(sig_elem_type elem_type, sig_index_type indexType, sig_index index, + sig_mem_number number) override { + } + + void NotifyTypeGenericTypeVariable(sig_mem_number number) override { + } + + void NotifyTypeGenericMemberVariable(sig_mem_number number) override { + } + + void NotifyTypeValueType() override { + } + + void NotifyTypeClass() override { + } + + void NotifyTypePointer() override { + } + + void NotifyTypeFunctionPointer() override { + } + + void NotifyTypeArray() override { + } + + void NotifyTypeSzArray() override { + } +}; + +#endif //PROCFILER_SIGPARSERIMPL_H From 907080dd6ae52a62c84cc0fb53ea390ddcb0abd1 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Thu, 11 Sep 2025 22:25:18 +0300 Subject: [PATCH 007/189] WIP --- .../ProcfilerCorProfilerCallback.cpp | 36 +++++++++++++------ .../src/cpp/shared/info/sigparser/sigparser.h | 1 - 2 files changed, 26 insertions(+), 11 deletions(-) diff --git a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp index 69fdc213d..b678b5be5 100644 --- a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp @@ -89,22 +89,38 @@ void ProcfilerCorProfilerCallback::HandleFunctionEnter2(FunctionID funcId, String name; metadataImport->GetMethodProps(functionToken, - NULL, - funcName, - STR_LENGTH, - 0, - 0, - &sig, - &cSig, - NULL, - NULL); + NULL, + funcName, + STR_LENGTH, + 0, + 0, + &sig, + &cSig, + NULL, + NULL); SigFormatParserImpl sigParser; sigParser.Parse(const_cast(sig), cSig); + mdTypeDef typeDef; + myProfilerInfo->GetClassIDInfo(classId, &moduleId, &typeDef); + myProfilerInfo->GetModuleMetaData(moduleId, ofRead | ofWrite, IID_IMetaDataImport, &unknown); + ptr = reinterpret_cast(&metadataImport); + unknown->QueryInterface(IID_IMetaDataImport, ptr); + + DWORD dwTypeDefFlags; + metadataImport->GetTypeDefProps(typeDef, + nullptr, + 0, + nullptr, + &dwTypeDefFlags, + nullptr); + + const auto isClassOrInterface = IsTdClass(dwTypeDefFlags) || IsTdInterface(dwTypeDefFlags); + name += funcName; - std::cout << ToString(name.ToWString()) << "::" << sigParser.HasThis() << "\n"; + std::cout << ToString(name.ToWString()) << "::" << sigParser.HasThis() << "::" << isClassOrInterface << "\n"; HandleFunctionEnter(funcId); } diff --git a/Procfiler/src/cpp/shared/info/sigparser/sigparser.h b/Procfiler/src/cpp/shared/info/sigparser/sigparser.h index 7c889b295..47235cc97 100644 --- a/Procfiler/src/cpp/shared/info/sigparser/sigparser.h +++ b/Procfiler/src/cpp/shared/info/sigparser/sigparser.h @@ -126,7 +126,6 @@ typedef unsigned int sig_mem_number; class SigParser { -private: sig_byte *pbBase; sig_byte *pbCur; sig_byte *pbEnd; From 58266119339fc389803cb03811a3599211f1eed6 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 12 Sep 2025 15:31:39 +0300 Subject: [PATCH 008/189] WIP --- .../ProcfilerCorProfilerCallback.cpp | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp index b678b5be5..a95c13079 100644 --- a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp @@ -86,7 +86,6 @@ void ProcfilerCorProfilerCallback::HandleFunctionEnter2(FunctionID funcId, WCHAR funcName[STR_LENGTH]; PCCOR_SIGNATURE sig; ULONG cSig; - String name; metadataImport->GetMethodProps(functionToken, NULL, @@ -116,11 +115,25 @@ void ProcfilerCorProfilerCallback::HandleFunctionEnter2(FunctionID funcId, &dwTypeDefFlags, nullptr); - const auto isClassOrInterface = IsTdClass(dwTypeDefFlags) || IsTdInterface(dwTypeDefFlags); - - name += funcName; + if (sigParser.HasThis()) { + if (argumentInfo->ranges->length == 0) { + std::cout << "argumentInfo->ranges->length == 0\n"; + } else { + ObjectID thisId = reinterpret_cast(*reinterpret_cast(argumentInfo->ranges[0].startAddress)); + COR_PRF_GC_GENERATION_RANGE generationRange; + auto result = myProfilerInfo->GetObjectGeneration(thisId, &generationRange); + + String name = funcName; + std::cout << FunctionInfo::GetFunctionInfo(myProfilerInfo, funcId).GetFullName(); + + if (result != S_OK) { + std::cout << "Failed to get object generation " << result << "\n"; + } else { + std::cout << "::" << generationRange.generation << "::" << sigParser.HasThis() << "::" << "\n"; + } + } + } - std::cout << ToString(name.ToWString()) << "::" << sigParser.HasThis() << "::" << isClassOrInterface << "\n"; HandleFunctionEnter(funcId); } From 6119eb83294a16a9f9dac0047f29b538b4f06ab6 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 12 Sep 2025 16:28:01 +0300 Subject: [PATCH 009/189] WIP --- Procfiler/src/cpp/offline/CMakeLists.txt | 2 + .../ProcfilerCorProfilerCallback.cpp | 75 ++---------- .../ProcfilerCorProfilerCallback.h | 2 + .../corprofiler/objects/ObjectsManager.cpp | 110 ++++++++++++++++++ .../corprofiler/objects/ObjectsManager.h | 18 +++ 5 files changed, 140 insertions(+), 67 deletions(-) create mode 100644 Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.cpp create mode 100644 Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.h diff --git a/Procfiler/src/cpp/offline/CMakeLists.txt b/Procfiler/src/cpp/offline/CMakeLists.txt index c3831ffc7..96106dc8d 100644 --- a/Procfiler/src/cpp/offline/CMakeLists.txt +++ b/Procfiler/src/cpp/offline/CMakeLists.txt @@ -43,6 +43,8 @@ set(SOURCES ../shared/info/sigparser/sigparser.H ../shared/info/sigparser/sigparser.cpp ../shared/info/sigparser/sigparserimpl.hpp + corprofiler/objects/ObjectsManager.cpp + corprofiler/objects/ObjectsManager.h ) include_directories(../3rdparty/coreclr/pal/prebuilt/inc) diff --git a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp index a95c13079..1c67d29d9 100644 --- a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp @@ -69,71 +69,8 @@ void ProcfilerCorProfilerCallback::HandleFunctionTailCall(const FunctionID funcI void ProcfilerCorProfilerCallback::HandleFunctionEnter2(FunctionID funcId, COR_PRF_FUNCTION_ARGUMENT_INFO* argumentInfo) const { - mdToken functionToken; - ClassID classId; - ModuleID moduleId; - - myProfilerInfo->GetFunctionInfo(funcId, &classId, &moduleId, &functionToken); - - IUnknown* unknown; - myProfilerInfo->GetModuleMetaData(moduleId, ofRead | ofWrite, IID_IMetaDataImport, &unknown); - - IMetaDataImport2* metadataImport = nullptr; - void** ptr = reinterpret_cast(&metadataImport); - unknown->QueryInterface(IID_IMetaDataImport, ptr); - - constexpr int STR_LENGTH = 256; - WCHAR funcName[STR_LENGTH]; - PCCOR_SIGNATURE sig; - ULONG cSig; - - metadataImport->GetMethodProps(functionToken, - NULL, - funcName, - STR_LENGTH, - 0, - 0, - &sig, - &cSig, - NULL, - NULL); - - SigFormatParserImpl sigParser; - sigParser.Parse(const_cast(sig), cSig); - - mdTypeDef typeDef; - myProfilerInfo->GetClassIDInfo(classId, &moduleId, &typeDef); - myProfilerInfo->GetModuleMetaData(moduleId, ofRead | ofWrite, IID_IMetaDataImport, &unknown); - ptr = reinterpret_cast(&metadataImport); - unknown->QueryInterface(IID_IMetaDataImport, ptr); - - DWORD dwTypeDefFlags; - metadataImport->GetTypeDefProps(typeDef, - nullptr, - 0, - nullptr, - &dwTypeDefFlags, - nullptr); - - if (sigParser.HasThis()) { - if (argumentInfo->ranges->length == 0) { - std::cout << "argumentInfo->ranges->length == 0\n"; - } else { - ObjectID thisId = reinterpret_cast(*reinterpret_cast(argumentInfo->ranges[0].startAddress)); - COR_PRF_GC_GENERATION_RANGE generationRange; - auto result = myProfilerInfo->GetObjectGeneration(thisId, &generationRange); - - String name = funcName; - std::cout << FunctionInfo::GetFunctionInfo(myProfilerInfo, funcId).GetFullName(); - - if (result != S_OK) { - std::cout << "Failed to get object generation " << result << "\n"; - } else { - std::cout << "::" << generationRange.generation << "::" << sigParser.HasThis() << "::" << "\n"; - } - } - } - + ObjectID id; + myObjectsManager->TryGetThisObjectId(funcId, argumentInfo, &id); HandleFunctionEnter(funcId); } @@ -161,6 +98,7 @@ HRESULT ProcfilerCorProfilerCallback::Initialize(IUnknown* pICorProfilerInfoUnk) } InitializeShadowStack(); + myObjectsManager = new ObjectsManager(myProfilerInfo); const auto produceObjectBinStacks = IsEnvVarTrue(produceObjectBinStacksEnv); @@ -263,11 +201,11 @@ HRESULT ProcfilerCorProfilerCallback::Shutdown() { } ProcfilerCorProfilerCallback::ProcfilerCorProfilerCallback(ProcfilerLogger* logger) : myRefCount(0), - myProfilerInfo(nullptr), - myLogger(logger) { + myProfilerInfo(nullptr), myLogger(logger) { ourCallback = this; myShadowStack = nullptr; myShadowStackSerializer = nullptr; + myObjectsManager = nullptr; } HRESULT ProcfilerCorProfilerCallback::AppDomainCreationStarted(AppDomainID appDomainId) { @@ -695,6 +633,9 @@ ProcfilerCorProfilerCallback::~ProcfilerCorProfilerCallback() { delete myShadowStackSerializer; myShadowStackSerializer = nullptr; + + delete myObjectsManager; + myObjectsManager = nullptr; } DWORD ProcfilerCorProfilerCallback::GetCurrentManagedThreadId() const { diff --git a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.h b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.h index 9363d3d48..4d52d5c58 100644 --- a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.h +++ b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.h @@ -4,6 +4,7 @@ #include "cor.h" #include "corprof.h" #include "./shadowstack/ShadowStack.h" +#include "./objects/ObjectsManager.h" #include "shadowstack/serializers/ShadowStackSerializer.h" #include @@ -13,6 +14,7 @@ class ProcfilerCorProfilerCallback final : public ICorProfilerCallback11 { std::atomic myRefCount; ShadowStack* myShadowStack; ShadowStackSerializer* myShadowStackSerializer; + ObjectsManager* myObjectsManager; DWORD GetCurrentManagedThreadId() const; int64_t GetCurrentTimestamp() const; diff --git a/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.cpp b/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.cpp new file mode 100644 index 000000000..d41f2e4e5 --- /dev/null +++ b/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.cpp @@ -0,0 +1,110 @@ +#include "ObjectsManager.h" + +#include "FunctionInfo.h" +#include "clr/profilerstring.hpp" +#include "sigparser/sigparserimpl.hpp" +#include +#include + +ObjectsManager::ObjectsManager(ICorProfilerInfo15* info) { + myProfilerInfo = info; +} + +ObjectsManager::~ObjectsManager() { + myProfilerInfo = nullptr; +} + +bool ObjectsManager::TryGetThisObjectId(const FunctionID funcId, + const COR_PRF_FUNCTION_ARGUMENT_INFO* args, + ObjectID* id) const { + mdToken functionToken; + ClassID classId; + ModuleID moduleId; + + auto hr = myProfilerInfo->GetFunctionInfo(funcId, &classId, &moduleId, &functionToken); + if (FAILED(hr)) { + return false; + } + + IUnknown* unknown; + hr = myProfilerInfo->GetModuleMetaData(moduleId, ofRead | ofWrite, IID_IMetaDataImport, &unknown); + if (FAILED(hr)) { + return false; + } + + IMetaDataImport2* metadataImport = nullptr; + auto ptr = reinterpret_cast(&metadataImport); + hr = unknown->QueryInterface(IID_IMetaDataImport, ptr); + if (FAILED(hr)) { + return false; + } + + PCCOR_SIGNATURE signature; + ULONG signatureLength; + + hr = metadataImport->GetMethodProps(functionToken, + nullptr, + nullptr, + 0, + nullptr, + nullptr, + &signature, + &signatureLength, + nullptr, + nullptr); + + if (FAILED(hr)) { + return false; + } + + SigFormatParserImpl sigParser; + if (!sigParser.Parse(const_cast(signature), signatureLength)) { + return false; + } + + mdTypeDef typeDef; + if (FAILED(myProfilerInfo->GetClassIDInfo(classId, &moduleId, &typeDef))) { + return false; + } + + if (FAILED(myProfilerInfo->GetModuleMetaData(moduleId, ofRead | ofWrite, IID_IMetaDataImport, &unknown))) { + return false; + } + + ptr = reinterpret_cast(&metadataImport); + if (FAILED(unknown->QueryInterface(IID_IMetaDataImport, ptr))) { + return false; + } + + DWORD dwTypeDefFlags; + hr = metadataImport->GetTypeDefProps(typeDef, + nullptr, + 0, + nullptr, + &dwTypeDefFlags, + nullptr); + + if (FAILED(hr) || !sigParser.HasThis()) { + return false; + } + + if (args->ranges->length == 0) { + std::cout << "argumentInfo->ranges->length == 0\n"; + return false; + } + + const auto thisId = reinterpret_cast(*reinterpret_cast(args->ranges[0].startAddress)); + COR_PRF_GC_GENERATION_RANGE generationRange; + const auto result = myProfilerInfo->GetObjectGeneration(thisId, &generationRange); + + std::cout << FunctionInfo::GetFunctionInfo(myProfilerInfo, funcId).GetFullName(); + + if (result != S_OK) { + std::cout << "Failed to get object generation " << result << "\n"; + } else { + *id = thisId; + std::cout << "::" << generationRange.generation << "::" << sigParser.HasThis() << "::" << "\n"; + } + + return true; +} diff --git a/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.h b/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.h new file mode 100644 index 000000000..0942ce551 --- /dev/null +++ b/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.h @@ -0,0 +1,18 @@ +#ifndef PROCFILER_OBJECTSMANAGER_H +#define PROCFILER_OBJECTSMANAGER_H +#include "cor.h" +#include "corprof.h" + +class ObjectsManager { + ICorProfilerInfo15* myProfilerInfo; + +public: + explicit ObjectsManager(ICorProfilerInfo15* info); + + ~ObjectsManager(); + + bool TryGetThisObjectId(FunctionID funcId, const COR_PRF_FUNCTION_ARGUMENT_INFO* args, ObjectID* id) const; +}; + + +#endif //PROCFILER_OBJECTSMANAGER_H From 73f4482e73c4c2931c1def312ee3f708e1e807c3 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 12 Sep 2025 16:40:40 +0300 Subject: [PATCH 010/189] WIP --- .../corprofiler/objects/ObjectsManager.cpp | 53 ++++++------------- 1 file changed, 15 insertions(+), 38 deletions(-) diff --git a/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.cpp b/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.cpp index d41f2e4e5..6629ed9f1 100644 --- a/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.cpp @@ -17,6 +17,10 @@ ObjectsManager::~ObjectsManager() { bool ObjectsManager::TryGetThisObjectId(const FunctionID funcId, const COR_PRF_FUNCTION_ARGUMENT_INFO* args, ObjectID* id) const { + if (args->ranges->length == 0) { + return false; + } + mdToken functionToken; ClassID classId; ModuleID moduleId; @@ -32,8 +36,8 @@ bool ObjectsManager::TryGetThisObjectId(const FunctionID funcId, return false; } - IMetaDataImport2* metadataImport = nullptr; - auto ptr = reinterpret_cast(&metadataImport); + IMetaDataImport2* mtd = nullptr; + auto ptr = reinterpret_cast(&mtd); hr = unknown->QueryInterface(IID_IMetaDataImport, ptr); if (FAILED(hr)) { return false; @@ -42,23 +46,12 @@ bool ObjectsManager::TryGetThisObjectId(const FunctionID funcId, PCCOR_SIGNATURE signature; ULONG signatureLength; - hr = metadataImport->GetMethodProps(functionToken, - nullptr, - nullptr, - 0, - nullptr, - nullptr, - &signature, - &signatureLength, - nullptr, - nullptr); - - if (FAILED(hr)) { + if (FAILED(mtd->GetMethodProps(functionToken, 0, 0, 0, 0, 0, &signature, &signatureLength, 0, 0))) { return false; } SigFormatParserImpl sigParser; - if (!sigParser.Parse(const_cast(signature), signatureLength)) { + if (!sigParser.Parse(const_cast(signature), signatureLength) || !sigParser.HasThis()) { return false; } @@ -71,40 +64,24 @@ bool ObjectsManager::TryGetThisObjectId(const FunctionID funcId, return false; } - ptr = reinterpret_cast(&metadataImport); + ptr = reinterpret_cast(&mtd); if (FAILED(unknown->QueryInterface(IID_IMetaDataImport, ptr))) { return false; } DWORD dwTypeDefFlags; - hr = metadataImport->GetTypeDefProps(typeDef, - nullptr, - 0, - nullptr, - &dwTypeDefFlags, - nullptr); - - if (FAILED(hr) || !sigParser.HasThis()) { - return false; - } - - if (args->ranges->length == 0) { - std::cout << "argumentInfo->ranges->length == 0\n"; + if (FAILED(mtd->GetTypeDefProps(typeDef, 0, 0, 0, &dwTypeDefFlags, 0))) { return false; } const auto thisId = reinterpret_cast(*reinterpret_cast(args->ranges[0].startAddress)); - COR_PRF_GC_GENERATION_RANGE generationRange; - const auto result = myProfilerInfo->GetObjectGeneration(thisId, &generationRange); - - std::cout << FunctionInfo::GetFunctionInfo(myProfilerInfo, funcId).GetFullName(); - if (result != S_OK) { - std::cout << "Failed to get object generation " << result << "\n"; - } else { - *id = thisId; - std::cout << "::" << generationRange.generation << "::" << sigParser.HasThis() << "::" << "\n"; + COR_PRF_GC_GENERATION_RANGE generationRange; + if (FAILED(myProfilerInfo->GetObjectGeneration(thisId, &generationRange))) { + return false; } + *id = thisId; + return true; } From a4ea3a7301a5438cf6a7647b6943cd8e43881bd8 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 12 Sep 2025 19:09:32 +0300 Subject: [PATCH 011/189] WIP --- .../corprofiler/objects/ObjectsManager.cpp | 24 ++----------------- .../corprofiler/objects/ObjectsManager.h | 2 +- 2 files changed, 3 insertions(+), 23 deletions(-) diff --git a/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.cpp b/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.cpp index 6629ed9f1..87a6c6eca 100644 --- a/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.cpp @@ -1,7 +1,6 @@ #include "ObjectsManager.h" #include "FunctionInfo.h" -#include "clr/profilerstring.hpp" #include "sigparser/sigparserimpl.hpp" #include #include @@ -16,7 +15,7 @@ ObjectsManager::~ObjectsManager() { bool ObjectsManager::TryGetThisObjectId(const FunctionID funcId, const COR_PRF_FUNCTION_ARGUMENT_INFO* args, - ObjectID* id) const { + ObjectID* objectId) const { if (args->ranges->length == 0) { return false; } @@ -55,25 +54,6 @@ bool ObjectsManager::TryGetThisObjectId(const FunctionID funcId, return false; } - mdTypeDef typeDef; - if (FAILED(myProfilerInfo->GetClassIDInfo(classId, &moduleId, &typeDef))) { - return false; - } - - if (FAILED(myProfilerInfo->GetModuleMetaData(moduleId, ofRead | ofWrite, IID_IMetaDataImport, &unknown))) { - return false; - } - - ptr = reinterpret_cast(&mtd); - if (FAILED(unknown->QueryInterface(IID_IMetaDataImport, ptr))) { - return false; - } - - DWORD dwTypeDefFlags; - if (FAILED(mtd->GetTypeDefProps(typeDef, 0, 0, 0, &dwTypeDefFlags, 0))) { - return false; - } - const auto thisId = reinterpret_cast(*reinterpret_cast(args->ranges[0].startAddress)); COR_PRF_GC_GENERATION_RANGE generationRange; @@ -81,7 +61,7 @@ bool ObjectsManager::TryGetThisObjectId(const FunctionID funcId, return false; } - *id = thisId; + *objectId = thisId; return true; } diff --git a/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.h b/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.h index 0942ce551..54d9cd2b5 100644 --- a/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.h +++ b/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.h @@ -11,7 +11,7 @@ class ObjectsManager { ~ObjectsManager(); - bool TryGetThisObjectId(FunctionID funcId, const COR_PRF_FUNCTION_ARGUMENT_INFO* args, ObjectID* id) const; + bool TryGetThisObjectId(FunctionID funcId, const COR_PRF_FUNCTION_ARGUMENT_INFO* args, ObjectID* objectId) const; }; From b1a1bc760d0d5123cf4450911fafffeca91e2957 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 13 Sep 2025 01:05:00 +0300 Subject: [PATCH 012/189] WIP --- Procfiler/src/cpp/offline/CMakeLists.txt | 1 + .../corprofiler/objects/ObjectsManager.cpp | 5 ++++ .../src/cpp/shared/util/MetadataCookie.hpp | 24 +++++++++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 Procfiler/src/cpp/shared/util/MetadataCookie.hpp diff --git a/Procfiler/src/cpp/offline/CMakeLists.txt b/Procfiler/src/cpp/offline/CMakeLists.txt index 96106dc8d..77ab5548b 100644 --- a/Procfiler/src/cpp/offline/CMakeLists.txt +++ b/Procfiler/src/cpp/offline/CMakeLists.txt @@ -45,6 +45,7 @@ set(SOURCES ../shared/info/sigparser/sigparserimpl.hpp corprofiler/objects/ObjectsManager.cpp corprofiler/objects/ObjectsManager.h + ../shared/util/MetadataCookie.hpp ) include_directories(../3rdparty/coreclr/pal/prebuilt/inc) diff --git a/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.cpp b/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.cpp index 87a6c6eca..470c25652 100644 --- a/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.cpp @@ -5,6 +5,8 @@ #include #include +#include "MetadataCookie.hpp" + ObjectsManager::ObjectsManager(ICorProfilerInfo15* info) { myProfilerInfo = info; } @@ -38,6 +40,9 @@ bool ObjectsManager::TryGetThisObjectId(const FunctionID funcId, IMetaDataImport2* mtd = nullptr; auto ptr = reinterpret_cast(&mtd); hr = unknown->QueryInterface(IID_IMetaDataImport, ptr); + + MetadataCookie cookie(mtd); + if (FAILED(hr)) { return false; } diff --git a/Procfiler/src/cpp/shared/util/MetadataCookie.hpp b/Procfiler/src/cpp/shared/util/MetadataCookie.hpp new file mode 100644 index 000000000..e8734f605 --- /dev/null +++ b/Procfiler/src/cpp/shared/util/MetadataCookie.hpp @@ -0,0 +1,24 @@ +// +// Created by HYPERPC on 9/13/2025. +// + +#ifndef PROCFILER_METADATACOOKIE_H +#define PROCFILER_METADATACOOKIE_H +#include + + +class MetadataCookie { + IMetaDataImport2* myMetadata; + +public: + explicit MetadataCookie(IMetaDataImport2* metadata) { + myMetadata = metadata; + } + + ~MetadataCookie() { + myMetadata->Release(); + } +}; + + +#endif //PROCFILER_METADATACOOKIE_H From 3b61b3230b3ede2459a478954613e6aaac9e2000 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sun, 14 Sep 2025 23:45:46 +0300 Subject: [PATCH 013/189] WIP --- .../ProcfilerCorProfilerCallback.cpp | 6 ++++++ .../corprofiler/objects/ObjectsManager.cpp | 21 +++++++++++++++++-- .../corprofiler/objects/ObjectsManager.h | 15 ++++++++++++- 3 files changed, 39 insertions(+), 3 deletions(-) diff --git a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp index 1c67d29d9..ab2151c84 100644 --- a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp @@ -140,10 +140,16 @@ HRESULT ProcfilerCorProfilerCallback::MovedReferences(ULONG cMovedObjectIDRanges ObjectID* oldObjectIDRangeStart, ObjectID* newObjectIDRangeStart, ULONG* cObjectIDRangeLength) { + myObjectsManager->HandleObjectsMove(cMovedObjectIDRanges, + oldObjectIDRangeStart, + newObjectIDRangeStart, + cObjectIDRangeLength); + return S_OK; } HRESULT ProcfilerCorProfilerCallback::ObjectAllocated(ObjectID objectId, ClassID classId) { + myObjectsManager->HandleObjectAllocation(objectId); return S_OK; } diff --git a/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.cpp b/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.cpp index 470c25652..4d68e28b5 100644 --- a/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.cpp @@ -17,7 +17,7 @@ ObjectsManager::~ObjectsManager() { bool ObjectsManager::TryGetThisObjectId(const FunctionID funcId, const COR_PRF_FUNCTION_ARGUMENT_INFO* args, - ObjectID* objectId) const { + UINT64* objectId) { if (args->ranges->length == 0) { return false; } @@ -66,7 +66,24 @@ bool ObjectsManager::TryGetThisObjectId(const FunctionID funcId, return false; } - *objectId = thisId; + std::lock_guard lock(this->myMutex); + *objectId = myObjectsIds.at(thisId); return true; } + +void ObjectsManager::HandleObjectsMove(ULONG cMovedObjectIDRanges, + ObjectID* oldObjectIDRangeStart, + ObjectID* newObjectIDRangeStart, + ULONG* cObjectIDRangeLength) { +} + +void ObjectsManager::HandleObjectAllocation(const ObjectID& id) { + static std::atomic nextObjectId{0}; + + auto nextId = nextObjectId.fetch_add(1); + + std::lock_guard lock(this->myMutex); + + myObjectsIds.insert({id, nextId}); +} diff --git a/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.h b/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.h index 54d9cd2b5..95794ac2d 100644 --- a/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.h +++ b/Procfiler/src/cpp/offline/corprofiler/objects/ObjectsManager.h @@ -1,17 +1,30 @@ #ifndef PROCFILER_OBJECTSMANAGER_H #define PROCFILER_OBJECTSMANAGER_H + +#include +#include + #include "cor.h" #include "corprof.h" class ObjectsManager { ICorProfilerInfo15* myProfilerInfo; + std::map myObjectsIds; + std::mutex myMutex; public: explicit ObjectsManager(ICorProfilerInfo15* info); ~ObjectsManager(); - bool TryGetThisObjectId(FunctionID funcId, const COR_PRF_FUNCTION_ARGUMENT_INFO* args, ObjectID* objectId) const; + bool TryGetThisObjectId(FunctionID funcId, const COR_PRF_FUNCTION_ARGUMENT_INFO* args, UINT64* objectPtr); + + void HandleObjectsMove(ULONG cMovedObjectIDRanges, + ObjectID* oldObjectIDRangeStart, + ObjectID* newObjectIDRangeStart, + ULONG* cObjectIDRangeLength); + + void HandleObjectAllocation(const ObjectID& id); }; From 2fb95040f2e9c8f65f366fdcaff2a75d2209aaa1 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 15 Sep 2025 00:08:26 +0300 Subject: [PATCH 014/189] WIP --- Procfiler/src/cpp/shared/util/env_constants.h | 1 + Procfiler/src/dotnet/Core/CppProcfiler/CppProfilerEnvs.cs | 1 + .../CollectClrEvents/Base/CollectCommandBase.CommandLine.cs | 3 ++- .../CollectClrEvents/Base/CollectCommandBase.Options.cs | 4 ++++ .../src/Commands/CollectClrEvents/Context/Contexts.cs | 3 ++- .../CollectClrEvents/ICommandExecutorDependantOnContext.cs | 2 +- .../Procfiler/src/Core/Processes/DotnetProcessLauncherDto.cs | 4 +++- .../Procfiler/src/Core/Processes/IDotnetProcessLauncher.cs | 5 +++++ .../dotnet/ProcfilerTests/Core/KnownSolutionExtensions.cs | 3 ++- 9 files changed, 21 insertions(+), 5 deletions(-) diff --git a/Procfiler/src/cpp/shared/util/env_constants.h b/Procfiler/src/cpp/shared/util/env_constants.h index 33c445913..21e860ef0 100644 --- a/Procfiler/src/cpp/shared/util/env_constants.h +++ b/Procfiler/src/cpp/shared/util/env_constants.h @@ -16,6 +16,7 @@ const std::string useSeparateBinStacksFilesEnv = "PROCFILER_USE_SEPARATE_BINSTAC const std::string onlineSerializationEnv = "PROCFILER_ONLINE_SERIALIZATION"; const std::string produceObjectBinStacksEnv = "PROCFILER_PRODUCE_OBJECT_BIN_STACKS"; +const std::string objectsTrackingFilterRegex = "PROCFILER_OBJECTS_TRACKING_FILTER_REGEX"; bool IsEnvVarDefined(const std::string& envVarName); diff --git a/Procfiler/src/dotnet/Core/CppProcfiler/CppProfilerEnvs.cs b/Procfiler/src/dotnet/Core/CppProcfiler/CppProfilerEnvs.cs index 756ced05c..c71819ac6 100644 --- a/Procfiler/src/dotnet/Core/CppProcfiler/CppProfilerEnvs.cs +++ b/Procfiler/src/dotnet/Core/CppProcfiler/CppProfilerEnvs.cs @@ -11,4 +11,5 @@ public static class CppProfilerEnvs public const string UseSeparateBinStacksFiles = "PROCFILER_USE_SEPARATE_BINSTACKS_FILES"; public const string OnlineSerialization = "PROCFILER_ONLINE_SERIALIZATION"; public const string ProduceObjectBinStacks = "PROCFILER_PRODUCE_OBJECT_BIN_STACKS"; + public const string ObjectsTrackingFilterRegex = "PROCFILER_OBJECTS_TRACKING_FILTER_REGEX"; } \ No newline at end of file diff --git a/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Base/CollectCommandBase.CommandLine.cs b/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Base/CollectCommandBase.CommandLine.cs index 10b59c091..b3c169153 100644 --- a/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Base/CollectCommandBase.CommandLine.cs +++ b/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Base/CollectCommandBase.CommandLine.cs @@ -50,6 +50,7 @@ private CollectingClrEventsCommonContext CreateCommonContext(ParseResult parseRe var writeAllEventMetadata = parseResult.GetValueForOption(WriteAllEventMetadata); var logSerializationFormat = parseResult.GetValueForOption(LogSerializationFormatOption); var produceObjectBinStacks = parseResult.GetValueForOption(ProduceObjectBinStacks); + var objectsTrackingFilterRegex = parseResult.GetValueForOption(ObjectsTrackingFilterRegex); var serializationCtx = new SerializationContext(fileFormat); var parseResultInfoProvider = new ParseResultInfoProviderImpl(parseResult); @@ -57,7 +58,7 @@ private CollectingClrEventsCommonContext CreateCommonContext(ParseResult parseRe return new CollectingClrEventsCommonContext( outputPath, serializationCtx, parseResultInfoProvider, arguments, category, clearBefore, duration, timeout, printOutput, methodsFilterRegex, processWaitTimeoutMs, useCppProfiler, useDuringRuntimeFiltering, cppProfilerUseConsoleLogging, - clearArtifacts, writeAllEventMetadata, logSerializationFormat, produceObjectBinStacks); + clearArtifacts, writeAllEventMetadata, logSerializationFormat, produceObjectBinStacks, objectsTrackingFilterRegex); } private CollectClrEventsContext CreateCollectClrContextFrom(ParseResult parseResult) diff --git a/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Base/CollectCommandBase.Options.cs b/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Base/CollectCommandBase.Options.cs index f6ee3ac15..b165c1ee3 100644 --- a/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Base/CollectCommandBase.Options.cs +++ b/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Base/CollectCommandBase.Options.cs @@ -38,6 +38,7 @@ private void AddCommonOptions(Command command) command.AddOption(WriteAllEventMetadata); command.AddOption(LogSerializationFormatOption); command.AddOption(ProduceObjectBinStacks); + command.AddOption(ObjectsTrackingFilterRegex); } private Option SelfContainedOption { get; } = @@ -126,4 +127,7 @@ private void AddCommonOptions(Command command) private Option ProduceObjectBinStacks { get; } = new("--produce-object-bin-stacks", static () => false, "Whether to store information about objects and types associated with methods calls"); + + private Option ObjectsTrackingFilterRegex { get; } = + new("--objects-tracking-filter-regex", static () => null, "Regex to narrow the set of types objects of which will be tracked"); } \ No newline at end of file diff --git a/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Context/Contexts.cs b/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Context/Contexts.cs index 6c648ca75..c63f4a041 100644 --- a/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Context/Contexts.cs +++ b/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/Context/Contexts.cs @@ -25,7 +25,8 @@ public record struct CollectingClrEventsCommonContext( bool ClearArtifacts, bool WriteAllEventMetadata, LogFormat LogSerializationFormat, - bool ProduceObjectBinStacks + bool ProduceObjectBinStacks, + string? ObjectsFilterTrackingRegex ); public record CollectClrEventsContext(CollectingClrEventsCommonContext CommonContext); diff --git a/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/ICommandExecutorDependantOnContext.cs b/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/ICommandExecutorDependantOnContext.cs index e9709b02e..d4fea92f2 100644 --- a/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/ICommandExecutorDependantOnContext.cs +++ b/Procfiler/src/dotnet/Procfiler/src/Commands/CollectClrEvents/ICommandExecutorDependantOnContext.cs @@ -122,7 +122,7 @@ private CollectedEvents CollectEventsFromProcess( private ClrEventsCollectionContext ToCollectionContext(CollectClrEventsContext context, int processId, string? binStacksPath) { var ctx = context.CommonContext; - var (_, _, _, _, category, _, duration, timeout, _, _, _, cppProfilerMode, _, _, _, _, _, _) = ctx; + var (_, _, _, _, category, _, duration, timeout, _, _, _, cppProfilerMode, _, _, _, _, _, _, _) = ctx; if (ctx.CppProfilerMode.IsDisabled()) { diff --git a/Procfiler/src/dotnet/Procfiler/src/Core/Processes/DotnetProcessLauncherDto.cs b/Procfiler/src/dotnet/Procfiler/src/Core/Processes/DotnetProcessLauncherDto.cs index 994e1055f..6cb127d32 100644 --- a/Procfiler/src/dotnet/Procfiler/src/Core/Processes/DotnetProcessLauncherDto.cs +++ b/Procfiler/src/dotnet/Procfiler/src/Core/Processes/DotnetProcessLauncherDto.cs @@ -19,6 +19,7 @@ public readonly struct DotnetProcessLauncherDto public required bool CppProfilerUseConsoleLogging { get; init; } public required string WorkingDirectory { get; init; } public required bool ProduceObjectBinStacks { get; init; } + public required string? ObjectsTrackingFilterRegex { get; init; } public static DotnetProcessLauncherDto CreateFrom( @@ -60,7 +61,8 @@ private static DotnetProcessLauncherDto CreateInternal( CppProfilerUseConsoleLogging = context.CppProfilerUseConsoleLogging, WorkingDirectory = workingDirectory, BinaryStacksSavePath = binStacksSavePath, - ProduceObjectBinStacks = context.ProduceObjectBinStacks + ProduceObjectBinStacks = context.ProduceObjectBinStacks, + ObjectsTrackingFilterRegex = context.ObjectsFilterTrackingRegex }; public static DotnetProcessLauncherDto CreateFrom( diff --git a/Procfiler/src/dotnet/Procfiler/src/Core/Processes/IDotnetProcessLauncher.cs b/Procfiler/src/dotnet/Procfiler/src/Core/Processes/IDotnetProcessLauncher.cs index 55764c08d..54e0ae146 100644 --- a/Procfiler/src/dotnet/Procfiler/src/Core/Processes/IDotnetProcessLauncher.cs +++ b/Procfiler/src/dotnet/Procfiler/src/Core/Processes/IDotnetProcessLauncher.cs @@ -65,6 +65,11 @@ public void TryStartDotnetProcess(DotnetProcessLauncherDto launcherDto, Action

From e822513a15b56cffbcf425371a1298e5bc08a8fc Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Tue, 16 Sep 2025 18:23:17 +0300 Subject: [PATCH 015/189] Add DagLCS graph type --- Ficus/protos/pipelines_and_context.proto | 1 + Ficus/src/rust/Cargo.lock | 72 ++++++++++++------- .../discovery/root_sequence/discovery.rs | 9 ++- Ficus/src/rust/ficus/src/grpc/converters.rs | 1 + Ficus/src/rust/ficus/src/utils/graph/graph.rs | 1 + 5 files changed, 58 insertions(+), 26 deletions(-) diff --git a/Ficus/protos/pipelines_and_context.proto b/Ficus/protos/pipelines_and_context.proto index 52061824d..589a0e256 100644 --- a/Ficus/protos/pipelines_and_context.proto +++ b/Ficus/protos/pipelines_and_context.proto @@ -201,6 +201,7 @@ message GrpcComplexContextRequestPipelinePart { enum GrpcGraphKind { None = 0; DAG = 1; + DagLCS = 2; } message GrpcGraph { diff --git a/Ficus/src/rust/Cargo.lock b/Ficus/src/rust/Cargo.lock index f61b50e98..0b0ac4de7 100644 --- a/Ficus/src/rust/Cargo.lock +++ b/Ficus/src/rust/Cargo.lock @@ -360,9 +360,9 @@ dependencies = [ [[package]] name = "cmake" -version = "0.1.51" +version = "0.1.54" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb1e43aa7fd152b1f968787f7dbcdeb306d1867ff373c69955211876c053f91a" +checksum = "e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0" dependencies = [ "cc", ] @@ -886,7 +886,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite", - "socket2", + "socket2 0.5.7", "tokio", "tower-service", "tracing", @@ -957,6 +957,17 @@ dependencies = [ "generic-array", ] +[[package]] +name = "io-uring" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" +dependencies = [ + "bitflags 2.6.0", + "cfg-if", + "libc", +] + [[package]] name = "is_terminal_polyfill" version = "1.70.1" @@ -1025,9 +1036,9 @@ checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" [[package]] name = "libc" -version = "0.2.164" +version = "0.2.175" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "433bfe06b8c75da9b2e3fbea6e5329ff87748f0b144ef75306e674c3f6f7c13f" +checksum = "6a82ae493e598baaea5209805c49bbf2ea7de956d50d7da0da1164f9c6d28543" [[package]] name = "libm" @@ -1037,9 +1048,9 @@ checksum = "8355be11b20d696c8f18f6cc018c4e372165b1fa8126cef092399c9951984ffa" [[package]] name = "libz-sys" -version = "1.1.20" +version = "1.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" +checksum = "8b70e7a7df205e92a1a4cd9aaae7898dac0aa555503cc0a649494d0d60e7651d" dependencies = [ "cc", "libc", @@ -1115,9 +1126,9 @@ checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" [[package]] name = "log" -version = "0.4.25" +version = "0.4.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" +checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432" [[package]] name = "matchit" @@ -1386,23 +1397,24 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.5.11" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +checksum = "a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a" dependencies = [ "num_enum_derive", + "rustversion", ] [[package]] name = "num_enum_derive" -version = "0.5.11" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.87", ] [[package]] @@ -1499,9 +1511,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.31" +version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" +checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c" [[package]] name = "portable-atomic" @@ -1779,9 +1791,9 @@ dependencies = [ [[package]] name = "rdkafka-sys" -version = "4.7.0+2.3.0" +version = "4.9.0+2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55e0d2f9ba6253f6ec72385e453294f8618e9e15c2c6aba2a5c01ccf9622d615" +checksum = "5230dca48bc354d718269f3e4353280e188b610f7af7e2fcf54b7a79d5802872" dependencies = [ "cmake", "libc", @@ -1950,6 +1962,16 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "socket2" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" +dependencies = [ + "libc", + "windows-sys 0.59.0", +] + [[package]] name = "space" version = "0.12.1" @@ -2071,18 +2093,20 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "tokio" -version = "1.41.1" +version = "1.47.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22cfb5bee7a6a52939ca9224d6ac897bb669134078daa8735560897f69de4d33" +checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" dependencies = [ "backtrace", "bytes", + "io-uring", "libc", "mio", "pin-project-lite", - "socket2", + "slab", + "socket2 0.6.0", "tokio-macros", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -2097,9 +2121,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "2.4.0" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" +checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" dependencies = [ "proc-macro2", "quote", diff --git a/Ficus/src/rust/ficus/src/features/discovery/root_sequence/discovery.rs b/Ficus/src/rust/ficus/src/features/discovery/root_sequence/discovery.rs index bd78afcf0..c99e2effb 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/root_sequence/discovery.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/root_sequence/discovery.rs @@ -3,7 +3,7 @@ use crate::features::discovery::root_sequence::adjustments::{ adjust_connections, adjust_edges_data, adjust_weights, find_next_node, merge_sequences_of_nodes, }; use crate::features::discovery::root_sequence::context::DiscoveryContext; -use crate::features::discovery::root_sequence::models::{DiscoverRootSequenceGraphError, EventWithUniqueId}; +use crate::features::discovery::root_sequence::models::{DiscoverRootSequenceGraphError, EventWithUniqueId, RootSequenceKind}; use crate::features::discovery::root_sequence::root_sequence::discover_root_sequence; use crate::utils::context_key::DefaultContextKey; use crate::utils::graph::graph::{DefaultGraph, GraphKind, NodesConnectionData}; @@ -65,7 +65,12 @@ pub fn discover_root_sequence_graph( ) -> Result { let mut result = discover_root_sequence_graph_internal(log, context, true)?; - result.graph_mut().set_kind(Some(GraphKind::Dag)); + let graph_kind = match context.root_sequence_kind() { + RootSequenceKind::FindBest | RootSequenceKind::PairwiseLCS | RootSequenceKind::Trace => GraphKind::Dag, + RootSequenceKind::LCS => GraphKind::DagLCS + }; + + result.graph_mut().set_kind(Some(graph_kind)); add_start_end_nodes_ids_to_user_data(&mut result); adjust_connections(context, log, &mut result.graph); diff --git a/Ficus/src/rust/ficus/src/grpc/converters.rs b/Ficus/src/rust/ficus/src/grpc/converters.rs index 88bf70b5d..7e16a0e47 100644 --- a/Ficus/src/rust/ficus/src/grpc/converters.rs +++ b/Ficus/src/rust/ficus/src/grpc/converters.rs @@ -647,6 +647,7 @@ fn convert_to_grpc_graph_kind(kind: Option<&GraphKind>) -> GrpcGraphKind { None => GrpcGraphKind::None, Some(kind) => match kind { GraphKind::Dag => GrpcGraphKind::Dag, + GraphKind::DagLCS => GrpcGraphKind::DagLcs, }, } } diff --git a/Ficus/src/rust/ficus/src/utils/graph/graph.rs b/Ficus/src/rust/ficus/src/utils/graph/graph.rs index faec87671..946d7fe39 100644 --- a/Ficus/src/rust/ficus/src/utils/graph/graph.rs +++ b/Ficus/src/rust/ficus/src/utils/graph/graph.rs @@ -48,6 +48,7 @@ impl NodesConnectionData { #[derive(Debug, Clone)] pub enum GraphKind { Dag, + DagLCS } #[derive(Debug, Getters, Setters)] From c1325d728d1f8eb4dbe575e4160745bd8760d1a6 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Tue, 16 Sep 2025 18:40:24 +0300 Subject: [PATCH 016/189] Regenerate models --- .../Npm/src/protos/ficus/GrpcGraphKind.ts | 3 +++ .../go/grpcmodels/pipelines_and_context.pb.go | 17 +++++++++++------ .../models/pipelines_and_context_pb2.py | 12 ++++++------ .../models/pipelines_and_context_pb2.pyi | 2 ++ 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcGraphKind.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcGraphKind.ts index ddbd093c8..79ff35742 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcGraphKind.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcGraphKind.ts @@ -3,6 +3,7 @@ export const GrpcGraphKind = { None: 0, DAG: 1, + DagLCS: 2, } as const; export type GrpcGraphKind_DONTUSE = @@ -10,5 +11,7 @@ export type GrpcGraphKind_DONTUSE = | 0 | 'DAG' | 1 + | 'DagLCS' + | 2 export type GrpcGraphKind = typeof GrpcGraphKind[keyof typeof GrpcGraphKind] diff --git a/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go b/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go index 1858d71f7..735e1e00d 100644 --- a/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go +++ b/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go @@ -25,8 +25,9 @@ const ( type GrpcGraphKind int32 const ( - GrpcGraphKind_None GrpcGraphKind = 0 - GrpcGraphKind_DAG GrpcGraphKind = 1 + GrpcGraphKind_None GrpcGraphKind = 0 + GrpcGraphKind_DAG GrpcGraphKind = 1 + GrpcGraphKind_DagLCS GrpcGraphKind = 2 ) // Enum value maps for GrpcGraphKind. @@ -34,10 +35,12 @@ var ( GrpcGraphKind_name = map[int32]string{ 0: "None", 1: "DAG", + 2: "DagLCS", } GrpcGraphKind_value = map[string]int32{ - "None": 0, - "DAG": 1, + "None": 0, + "DAG": 1, + "DagLCS": 2, } ) @@ -4211,10 +4214,12 @@ const file_pipelines_and_context_proto_rawDesc = "" + "\x06events\x18\x01 \x03(\v2\x16.ficus.GrpcThreadEventR\x06events\";\n" + "\x0fGrpcThreadEvent\x12\x12\n" + "\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n" + - "\x05stamp\x18\x02 \x01(\x03R\x05stamp*\"\n" + + "\x05stamp\x18\x02 \x01(\x03R\x05stamp*.\n" + "\rGrpcGraphKind\x12\b\n" + "\x04None\x10\x00\x12\a\n" + - "\x03DAG\x10\x01*u\n" + + "\x03DAG\x10\x01\x12\n" + + "\n" + + "\x06DagLCS\x10\x02*u\n" + "\x10GrpcDurationKind\x12\x0f\n" + "\vUnspecified\x10\x00\x12\t\n" + "\x05Nanos\x10\x01\x12\n" + diff --git a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py index 9931fcdbf..fa847df55 100644 --- a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py +++ b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py @@ -34,7 +34,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bpipelines_and_context.proto\x12\x05\x66icus\x1a\x0fpm_models.proto\x1a\nutil.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x1e\n\x0eGrpcContextKey\x12\x0c\n\x04name\x18\x01 \x01(\t\"W\n\x1bGrpcContextValueWithKeyName\x12\x10\n\x08key_name\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"\x8b\t\n\x10GrpcContextValue\x12\x10\n\x06string\x18\x01 \x01(\tH\x00\x12;\n\nhashes_log\x18\x02 \x01(\x0b\x32%.ficus.GrpcHashesEventLogContextValueH\x00\x12\x39\n\tnames_log\x18\x03 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12\x10\n\x06uint32\x18\x04 \x01(\rH\x00\x12J\n\x11traces_sub_arrays\x18\x05 \x01(\x0b\x32-.ficus.GrpcEventLogTraceSubArraysContextValueH\x00\x12P\n\x16trace_index_sub_arrays\x18\x06 \x01(\x0b\x32..ficus.GrpcSubArraysWithTraceIndexContextValueH\x00\x12\x0e\n\x04\x62ool\x18\x07 \x01(\x08H\x00\x12=\n\rxes_event_log\x18\x08 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12/\n\ncolors_log\x18\t \x01(\x0b\x32\x19.ficus.GrpcColorsEventLogH\x00\x12\x1f\n\x04\x65num\x18\n \x01(\x0b\x32\x0f.ficus.GrpcEnumH\x00\x12\x31\n\x0e\x65vent_log_info\x18\x0b \x01(\x0b\x32\x17.ficus.GrpcEventLogInfoH\x00\x12%\n\x07strings\x18\x0c \x01(\x0b\x32\x12.ficus.GrpcStringsH\x00\x12\'\n\x08pipeline\x18\r \x01(\x0b\x32\x13.ficus.GrpcPipelineH\x00\x12\'\n\x08petriNet\x18\x0e \x01(\x0b\x32\x13.ficus.GrpcPetriNetH\x00\x12!\n\x05graph\x18\x0f \x01(\x0b\x32\x10.ficus.GrpcGraphH\x00\x12\x0f\n\x05\x66loat\x18\x10 \x01(\x02H\x00\x12+\n\nannotation\x18\x11 \x01(\x0b\x32\x15.ficus.GrpcAnnotationH\x00\x12%\n\x07\x64\x61taset\x18\x12 \x01(\x0b\x32\x12.ficus.GrpcDatasetH\x00\x12\x34\n\x0flabeled_dataset\x18\x13 \x01(\x0b\x32\x19.ficus.GrpcLabeledDatasetH\x00\x12!\n\x05\x62ytes\x18\x14 \x01(\x0b\x32\x10.ficus.GrpcBytesH\x00\x12;\n\x12logTimelineDiagram\x18\x15 \x01(\x0b\x32\x1d.ficus.GrpcLogTimelineDiagramH\x00\x12,\n\x0b\x66loat_array\x18\x16 \x01(\x0b\x32\x15.ficus.GrpcFloatArrayH\x00\x12(\n\tint_array\x18\x17 \x01(\x0b\x32\x13.ficus.GrpcIntArrayH\x00\x12*\n\nuint_array\x18\x18 \x01(\x0b\x32\x14.ficus.GrpcUintArrayH\x00\x12\x0e\n\x04json\x18\x19 \x01(\tH\x00\x12.\n\tevent_log\x18\x1a \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLogH\x00\x42\x0e\n\x0c\x63ontextValue\"\x1f\n\x0eGrpcFloatArray\x12\r\n\x05items\x18\x01 \x03(\x01\"\x1d\n\x0cGrpcIntArray\x12\r\n\x05items\x18\x01 \x03(\x03\"\x1e\n\rGrpcUintArray\x12\r\n\x05items\x18\x01 \x03(\x04\"a\n\x13GrpcContextKeyValue\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"H\n\x1eGrpcHashesEventLogContextValue\x12&\n\x03log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcHashesEventLog\"F\n\x1dGrpcNamesEventLogContextValue\x12%\n\x03log\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcNamesEventLog\"^\n&GrpcEventLogTraceSubArraysContextValue\x12\x34\n\x11traces_sub_arrays\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcTraceSubArrays\"/\n\x11GrpcTraceSubArray\x12\r\n\x05start\x18\x01 \x01(\r\x12\x0b\n\x03\x65nd\x18\x02 \x01(\r\"B\n\x12GrpcTraceSubArrays\x12,\n\nsub_arrays\x18\x01 \x03(\x0b\x32\x18.ficus.GrpcTraceSubArray\"^\n\x1aGrpcSubArrayWithTraceIndex\x12+\n\tsub_array\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcTraceSubArray\x12\x13\n\x0btrace_index\x18\x02 \x01(\r\"`\n\'GrpcSubArraysWithTraceIndexContextValue\x12\x35\n\nsub_arrays\x18\x01 \x03(\x0b\x32!.ficus.GrpcSubArrayWithTraceIndex\"\xa4\x01\n\x12GrpcColorsEventLog\x12\x31\n\x07mapping\x18\x01 \x03(\x0b\x32 .ficus.GrpcColorsEventLogMapping\x12&\n\x06traces\x18\x02 \x03(\x0b\x32\x16.ficus.GrpcColorsTrace\x12\x33\n\x0b\x61\x64justments\x18\x03 \x03(\x0b\x32\x1e.ficus.GrpcColorsLogAdjustment\"\xba\x01\n\x17GrpcColorsLogAdjustment\x12G\n\x14rectangle_adjustment\x18\x01 \x01(\x0b\x32\'.ficus.GrpcColorsLogRectangleAdjustmentH\x00\x12I\n\x10\x61xis_after_trace\x18\x02 \x01(\x0b\x32-.ficus.GrpcColorsLogXAxisAfterTraceAdjustmentH\x00\x42\x0b\n\tselection\"\xa9\x01\n GrpcColorsLogRectangleAdjustment\x12*\n\rup_left_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12-\n\x10\x64own_right_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12*\n\"extend_to_nearest_vertical_borders\x18\x03 \x01(\x08\"8\n\x0cGrpcLogPoint\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x02 \x01(\x04\"=\n&GrpcColorsLogXAxisAfterTraceAdjustment\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\"J\n\x19GrpcColorsEventLogMapping\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x05\x63olor\x18\x02 \x01(\x0b\x32\x10.ficus.GrpcColor\"\\\n\x0fGrpcColorsTrace\x12\x31\n\x0c\x65vent_colors\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcColoredRectangle\x12\x16\n\x0e\x63onstant_width\x18\x02 \x01(\x08\"L\n\x14GrpcColoredRectangle\x12\x13\n\x0b\x63olor_index\x18\x01 \x01(\r\x12\x0f\n\x07start_x\x18\x02 \x01(\x01\x12\x0e\n\x06length\x18\x03 \x01(\x01\"+\n\x08GrpcEnum\x12\x10\n\x08\x65numType\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"[\n\x10GrpcEventLogInfo\x12\x14\n\x0c\x65vents_count\x18\x01 \x01(\r\x12\x14\n\x0ctraces_count\x18\x02 \x01(\r\x12\x1b\n\x13\x65vent_classes_count\x18\x03 \x01(\r\"\x1e\n\x0bGrpcStrings\x12\x0f\n\x07strings\x18\x01 \x03(\t\":\n\x0cGrpcPipeline\x12*\n\x05parts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"\xab\x02\n\x14GrpcPipelinePartBase\x12.\n\x0b\x64\x65\x66\x61ultPart\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcPipelinePartH\x00\x12\x37\n\x0cparallelPart\x18\x02 \x01(\x0b\x32\x1f.ficus.GrpcParallelPipelinePartH\x00\x12O\n\x18simpleContextRequestPart\x18\x03 \x01(\x0b\x32+.ficus.GrpcSimpleContextRequestPipelinePartH\x00\x12Q\n\x19\x63omplexContextRequestPart\x18\x04 \x01(\x0b\x32,.ficus.GrpcComplexContextRequestPipelinePartH\x00\x42\x06\n\x04part\"]\n\x10GrpcPipelinePart\x12\x0c\n\x04name\x18\x01 \x01(\t\x12;\n\rconfiguration\x18\x02 \x01(\x0b\x32$.ficus.GrpcPipelinePartConfiguration\"\\\n\x1dGrpcPipelinePartConfiguration\x12;\n\x17\x63onfigurationParameters\x18\x01 \x03(\x0b\x32\x1a.ficus.GrpcContextKeyValue\"N\n\x18GrpcParallelPipelinePart\x12\x32\n\rpipelineParts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"N\n\x19GrpcParallelPipelineParts\x12\x31\n\x08pipeline\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcParallelPipelinePart\"\x97\x01\n$GrpcSimpleContextRequestPipelinePart\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12)\n\x10\x66rontendPartUuid\x18\x02 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x03 \x01(\t\"\xce\x01\n%GrpcComplexContextRequestPipelinePart\x12#\n\x04keys\x18\x01 \x03(\x0b\x32\x15.ficus.GrpcContextKey\x12\x33\n\x12\x62\x65\x66orePipelinePart\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcPipelinePart\x12)\n\x10\x66rontendPartUuid\x18\x03 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x04 \x01(\t\"y\n\tGrpcGraph\x12#\n\x05nodes\x18\x01 \x03(\x0b\x32\x14.ficus.GrpcGraphNode\x12#\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x14.ficus.GrpcGraphEdge\x12\"\n\x04kind\x18\x03 \x01(\x0e\x32\x14.ficus.GrpcGraphKind\"\x88\x01\n\rGrpcGraphNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\x12\x36\n\x0f\x61\x64\x64itional_data\x18\x03 \x03(\x0b\x32\x1d.ficus.GrpcNodeAdditionalData\x12%\n\x0binner_graph\x18\x04 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\xac\x03\n\x16GrpcNodeAdditionalData\x12&\n\x04none\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x30\n\rsoftware_data\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x38\n\x0cpattern_info\x18\x03 \x01(\x0b\x32 .ficus.GrpcUnderlyingPatternInfoH\x00\x12;\n\ntrace_data\x18\x04 \x01(\x0b\x32%.ficus.GrpcNodeCorrespondingTraceDataH\x00\x12\x34\n\ttime_data\x18\x05 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x12\x42\n\x16multithreaded_fragment\x18\x07 \x01(\x0b\x32 .ficus.GrpcMultithreadedFragmentH\x00\x12?\n\x1aoriginal_event_coordinates\x18\x06 \x01(\x0b\x32\x1b.ficus.GrpcEventCoordinatesB\x06\n\x04\x64\x61ta\"Q\n\x19GrpcMultithreadedFragment\x12\x34\n\x11multithreaded_log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLog\"@\n\x18GrpcActivityStartEndData\x12\x12\n\nstart_time\x18\x01 \x01(\x03\x12\x10\n\x08\x65nd_time\x18\x02 \x01(\x03\"=\n\x14GrpcEventCoordinates\x12\x10\n\x08trace_id\x18\x02 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x03 \x01(\x04\"B\n\x1eGrpcNodeCorrespondingTraceData\x12 \n\x18\x62\x65longs_to_root_sequence\x18\x01 \x01(\x08\"\xbf\x02\n\x10GrpcSoftwareData\x12,\n\thistogram\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\x12\x45\n\x19timeline_diagram_fragment\x18\x02 \x01(\x0b\x32\".ficus.GrpcTimelineDiagramFragment\x12\x37\n\x0ehistogram_data\x18\r \x03(\x0b\x32\x1f.ficus.GrpcGeneralHistogramData\x12\x39\n\x13simple_counter_data\x18\x0e \x03(\x0b\x32\x1c.ficus.GrpcSimpleCounterData\x12\x42\n\x19\x61\x63tivities_durations_data\x18\x0f \x03(\x0b\x32\x1f.ficus.GrpcActivityDurationData\"\x84\x01\n\x18GrpcActivityDurationData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12%\n\x04kind\x18\x03 \x01(\x0e\x32\x17.ficus.GrpcDurationKind\"W\n\x1aGrpcGenericEnhancementBase\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05units\x18\x02 \x01(\t\x12\x12\n\x05group\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_group\"w\n\x18GrpcGeneralHistogramData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12*\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\"W\n\x15GrpcSimpleCounterData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"|\n\x16GrpcMethodInliningInfo\x12\x30\n\x0cinlinee_info\x18\x01 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\x12\x30\n\x0cinliner_info\x18\x02 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\"I\n\x13GrpcMethodNameParts\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\t\"1\n\x12GrpcHistogramEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"A\n\x1bGrpcTimelineDiagramFragment\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\"a\n\x12GrpcAllocationInfo\x12\x11\n\ttype_name\x18\x01 \x01(\t\x12\x1f\n\x17\x61llocated_objects_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x61llocated_bytes\x18\x03 \x01(\x04\"\x8b\x01\n\x19GrpcUnderlyingPatternInfo\x12\x36\n\x0cpattern_kind\x18\x01 \x01(\x0e\x32 .ficus.GrpcUnderlyingPatternKind\x12\x15\n\rbase_sequence\x18\x02 \x03(\t\x12\x1f\n\x05graph\x18\x03 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\x9a\x01\n\rGrpcGraphEdge\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tfrom_node\x18\x02 \x01(\x04\x12\x0f\n\x07to_node\x18\x03 \x01(\x04\x12\x0e\n\x06weight\x18\x04 \x01(\x01\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\t\x12;\n\x0f\x61\x64\x64itional_data\x18\x06 \x03(\x0b\x32\".ficus.GrpcGraphEdgeAdditionalData\"\xc5\x01\n\x1bGrpcGraphEdgeAdditionalData\x12\x30\n\rsoftware_data\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x36\n\x0e\x65xecution_info\x18\x02 \x01(\x0b\x32\x1c.ficus.GrpcEdgeExecutionInfoH\x00\x12\x34\n\ttime_data\x18\x03 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x42\x06\n\x04\x64\x61ta\"(\n\x15GrpcEdgeExecutionInfo\x12\x0f\n\x07traceId\x18\x01 \x01(\x04\"\x1a\n\tGrpcBytes\x12\r\n\x05\x62ytes\x18\x01 \x01(\x0c\"I\n\x16GrpcLogTimelineDiagram\x12/\n\x06traces\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcTraceTimelineDiagram\"p\n\x1cGrpcTimelineTraceEventsGroup\x12(\n\x0bstart_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12&\n\tend_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\"z\n\x18GrpcTraceTimelineDiagram\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\x12:\n\revents_groups\x18\x02 \x03(\x0b\x32#.ficus.GrpcTimelineTraceEventsGroup\"4\n\nGrpcThread\x12&\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x16.ficus.GrpcThreadEvent\".\n\x0fGrpcThreadEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05stamp\x18\x02 \x01(\x03*\"\n\rGrpcGraphKind\x12\x08\n\x04None\x10\x00\x12\x07\n\x03\x44\x41G\x10\x01*u\n\x10GrpcDurationKind\x12\x0f\n\x0bUnspecified\x10\x00\x12\t\n\x05Nanos\x10\x01\x12\n\n\x06Micros\x10\x02\x12\n\n\x06Millis\x10\x03\x12\x0b\n\x07Seconds\x10\x04\x12\x0b\n\x07Minutes\x10\x05\x12\t\n\x05Hours\x10\x06\x12\x08\n\x04\x44\x61ys\x10\x07*\xb1\x01\n\x19GrpcUnderlyingPatternKind\x12\x0e\n\nStrictLoop\x10\x00\x12\x18\n\x14PrimitiveTandemArray\x10\x01\x12\x16\n\x12MaximalTandemArray\x10\x02\x12\x11\n\rMaximalRepeat\x10\x03\x12\x16\n\x12SuperMaximalRepeat\x10\x04\x12\x1a\n\x16NearSuperMaximalRepeat\x10\x05\x12\x0b\n\x07Unknown\x10\x06\x42\x0fZ\r./;grpcmodelsb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bpipelines_and_context.proto\x12\x05\x66icus\x1a\x0fpm_models.proto\x1a\nutil.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x1e\n\x0eGrpcContextKey\x12\x0c\n\x04name\x18\x01 \x01(\t\"W\n\x1bGrpcContextValueWithKeyName\x12\x10\n\x08key_name\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"\x8b\t\n\x10GrpcContextValue\x12\x10\n\x06string\x18\x01 \x01(\tH\x00\x12;\n\nhashes_log\x18\x02 \x01(\x0b\x32%.ficus.GrpcHashesEventLogContextValueH\x00\x12\x39\n\tnames_log\x18\x03 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12\x10\n\x06uint32\x18\x04 \x01(\rH\x00\x12J\n\x11traces_sub_arrays\x18\x05 \x01(\x0b\x32-.ficus.GrpcEventLogTraceSubArraysContextValueH\x00\x12P\n\x16trace_index_sub_arrays\x18\x06 \x01(\x0b\x32..ficus.GrpcSubArraysWithTraceIndexContextValueH\x00\x12\x0e\n\x04\x62ool\x18\x07 \x01(\x08H\x00\x12=\n\rxes_event_log\x18\x08 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12/\n\ncolors_log\x18\t \x01(\x0b\x32\x19.ficus.GrpcColorsEventLogH\x00\x12\x1f\n\x04\x65num\x18\n \x01(\x0b\x32\x0f.ficus.GrpcEnumH\x00\x12\x31\n\x0e\x65vent_log_info\x18\x0b \x01(\x0b\x32\x17.ficus.GrpcEventLogInfoH\x00\x12%\n\x07strings\x18\x0c \x01(\x0b\x32\x12.ficus.GrpcStringsH\x00\x12\'\n\x08pipeline\x18\r \x01(\x0b\x32\x13.ficus.GrpcPipelineH\x00\x12\'\n\x08petriNet\x18\x0e \x01(\x0b\x32\x13.ficus.GrpcPetriNetH\x00\x12!\n\x05graph\x18\x0f \x01(\x0b\x32\x10.ficus.GrpcGraphH\x00\x12\x0f\n\x05\x66loat\x18\x10 \x01(\x02H\x00\x12+\n\nannotation\x18\x11 \x01(\x0b\x32\x15.ficus.GrpcAnnotationH\x00\x12%\n\x07\x64\x61taset\x18\x12 \x01(\x0b\x32\x12.ficus.GrpcDatasetH\x00\x12\x34\n\x0flabeled_dataset\x18\x13 \x01(\x0b\x32\x19.ficus.GrpcLabeledDatasetH\x00\x12!\n\x05\x62ytes\x18\x14 \x01(\x0b\x32\x10.ficus.GrpcBytesH\x00\x12;\n\x12logTimelineDiagram\x18\x15 \x01(\x0b\x32\x1d.ficus.GrpcLogTimelineDiagramH\x00\x12,\n\x0b\x66loat_array\x18\x16 \x01(\x0b\x32\x15.ficus.GrpcFloatArrayH\x00\x12(\n\tint_array\x18\x17 \x01(\x0b\x32\x13.ficus.GrpcIntArrayH\x00\x12*\n\nuint_array\x18\x18 \x01(\x0b\x32\x14.ficus.GrpcUintArrayH\x00\x12\x0e\n\x04json\x18\x19 \x01(\tH\x00\x12.\n\tevent_log\x18\x1a \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLogH\x00\x42\x0e\n\x0c\x63ontextValue\"\x1f\n\x0eGrpcFloatArray\x12\r\n\x05items\x18\x01 \x03(\x01\"\x1d\n\x0cGrpcIntArray\x12\r\n\x05items\x18\x01 \x03(\x03\"\x1e\n\rGrpcUintArray\x12\r\n\x05items\x18\x01 \x03(\x04\"a\n\x13GrpcContextKeyValue\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"H\n\x1eGrpcHashesEventLogContextValue\x12&\n\x03log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcHashesEventLog\"F\n\x1dGrpcNamesEventLogContextValue\x12%\n\x03log\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcNamesEventLog\"^\n&GrpcEventLogTraceSubArraysContextValue\x12\x34\n\x11traces_sub_arrays\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcTraceSubArrays\"/\n\x11GrpcTraceSubArray\x12\r\n\x05start\x18\x01 \x01(\r\x12\x0b\n\x03\x65nd\x18\x02 \x01(\r\"B\n\x12GrpcTraceSubArrays\x12,\n\nsub_arrays\x18\x01 \x03(\x0b\x32\x18.ficus.GrpcTraceSubArray\"^\n\x1aGrpcSubArrayWithTraceIndex\x12+\n\tsub_array\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcTraceSubArray\x12\x13\n\x0btrace_index\x18\x02 \x01(\r\"`\n\'GrpcSubArraysWithTraceIndexContextValue\x12\x35\n\nsub_arrays\x18\x01 \x03(\x0b\x32!.ficus.GrpcSubArrayWithTraceIndex\"\xa4\x01\n\x12GrpcColorsEventLog\x12\x31\n\x07mapping\x18\x01 \x03(\x0b\x32 .ficus.GrpcColorsEventLogMapping\x12&\n\x06traces\x18\x02 \x03(\x0b\x32\x16.ficus.GrpcColorsTrace\x12\x33\n\x0b\x61\x64justments\x18\x03 \x03(\x0b\x32\x1e.ficus.GrpcColorsLogAdjustment\"\xba\x01\n\x17GrpcColorsLogAdjustment\x12G\n\x14rectangle_adjustment\x18\x01 \x01(\x0b\x32\'.ficus.GrpcColorsLogRectangleAdjustmentH\x00\x12I\n\x10\x61xis_after_trace\x18\x02 \x01(\x0b\x32-.ficus.GrpcColorsLogXAxisAfterTraceAdjustmentH\x00\x42\x0b\n\tselection\"\xa9\x01\n GrpcColorsLogRectangleAdjustment\x12*\n\rup_left_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12-\n\x10\x64own_right_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12*\n\"extend_to_nearest_vertical_borders\x18\x03 \x01(\x08\"8\n\x0cGrpcLogPoint\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x02 \x01(\x04\"=\n&GrpcColorsLogXAxisAfterTraceAdjustment\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\"J\n\x19GrpcColorsEventLogMapping\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x05\x63olor\x18\x02 \x01(\x0b\x32\x10.ficus.GrpcColor\"\\\n\x0fGrpcColorsTrace\x12\x31\n\x0c\x65vent_colors\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcColoredRectangle\x12\x16\n\x0e\x63onstant_width\x18\x02 \x01(\x08\"L\n\x14GrpcColoredRectangle\x12\x13\n\x0b\x63olor_index\x18\x01 \x01(\r\x12\x0f\n\x07start_x\x18\x02 \x01(\x01\x12\x0e\n\x06length\x18\x03 \x01(\x01\"+\n\x08GrpcEnum\x12\x10\n\x08\x65numType\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"[\n\x10GrpcEventLogInfo\x12\x14\n\x0c\x65vents_count\x18\x01 \x01(\r\x12\x14\n\x0ctraces_count\x18\x02 \x01(\r\x12\x1b\n\x13\x65vent_classes_count\x18\x03 \x01(\r\"\x1e\n\x0bGrpcStrings\x12\x0f\n\x07strings\x18\x01 \x03(\t\":\n\x0cGrpcPipeline\x12*\n\x05parts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"\xab\x02\n\x14GrpcPipelinePartBase\x12.\n\x0b\x64\x65\x66\x61ultPart\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcPipelinePartH\x00\x12\x37\n\x0cparallelPart\x18\x02 \x01(\x0b\x32\x1f.ficus.GrpcParallelPipelinePartH\x00\x12O\n\x18simpleContextRequestPart\x18\x03 \x01(\x0b\x32+.ficus.GrpcSimpleContextRequestPipelinePartH\x00\x12Q\n\x19\x63omplexContextRequestPart\x18\x04 \x01(\x0b\x32,.ficus.GrpcComplexContextRequestPipelinePartH\x00\x42\x06\n\x04part\"]\n\x10GrpcPipelinePart\x12\x0c\n\x04name\x18\x01 \x01(\t\x12;\n\rconfiguration\x18\x02 \x01(\x0b\x32$.ficus.GrpcPipelinePartConfiguration\"\\\n\x1dGrpcPipelinePartConfiguration\x12;\n\x17\x63onfigurationParameters\x18\x01 \x03(\x0b\x32\x1a.ficus.GrpcContextKeyValue\"N\n\x18GrpcParallelPipelinePart\x12\x32\n\rpipelineParts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"N\n\x19GrpcParallelPipelineParts\x12\x31\n\x08pipeline\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcParallelPipelinePart\"\x97\x01\n$GrpcSimpleContextRequestPipelinePart\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12)\n\x10\x66rontendPartUuid\x18\x02 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x03 \x01(\t\"\xce\x01\n%GrpcComplexContextRequestPipelinePart\x12#\n\x04keys\x18\x01 \x03(\x0b\x32\x15.ficus.GrpcContextKey\x12\x33\n\x12\x62\x65\x66orePipelinePart\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcPipelinePart\x12)\n\x10\x66rontendPartUuid\x18\x03 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x04 \x01(\t\"y\n\tGrpcGraph\x12#\n\x05nodes\x18\x01 \x03(\x0b\x32\x14.ficus.GrpcGraphNode\x12#\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x14.ficus.GrpcGraphEdge\x12\"\n\x04kind\x18\x03 \x01(\x0e\x32\x14.ficus.GrpcGraphKind\"\x88\x01\n\rGrpcGraphNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\x12\x36\n\x0f\x61\x64\x64itional_data\x18\x03 \x03(\x0b\x32\x1d.ficus.GrpcNodeAdditionalData\x12%\n\x0binner_graph\x18\x04 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\xac\x03\n\x16GrpcNodeAdditionalData\x12&\n\x04none\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x30\n\rsoftware_data\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x38\n\x0cpattern_info\x18\x03 \x01(\x0b\x32 .ficus.GrpcUnderlyingPatternInfoH\x00\x12;\n\ntrace_data\x18\x04 \x01(\x0b\x32%.ficus.GrpcNodeCorrespondingTraceDataH\x00\x12\x34\n\ttime_data\x18\x05 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x12\x42\n\x16multithreaded_fragment\x18\x07 \x01(\x0b\x32 .ficus.GrpcMultithreadedFragmentH\x00\x12?\n\x1aoriginal_event_coordinates\x18\x06 \x01(\x0b\x32\x1b.ficus.GrpcEventCoordinatesB\x06\n\x04\x64\x61ta\"Q\n\x19GrpcMultithreadedFragment\x12\x34\n\x11multithreaded_log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLog\"@\n\x18GrpcActivityStartEndData\x12\x12\n\nstart_time\x18\x01 \x01(\x03\x12\x10\n\x08\x65nd_time\x18\x02 \x01(\x03\"=\n\x14GrpcEventCoordinates\x12\x10\n\x08trace_id\x18\x02 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x03 \x01(\x04\"B\n\x1eGrpcNodeCorrespondingTraceData\x12 \n\x18\x62\x65longs_to_root_sequence\x18\x01 \x01(\x08\"\xbf\x02\n\x10GrpcSoftwareData\x12,\n\thistogram\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\x12\x45\n\x19timeline_diagram_fragment\x18\x02 \x01(\x0b\x32\".ficus.GrpcTimelineDiagramFragment\x12\x37\n\x0ehistogram_data\x18\r \x03(\x0b\x32\x1f.ficus.GrpcGeneralHistogramData\x12\x39\n\x13simple_counter_data\x18\x0e \x03(\x0b\x32\x1c.ficus.GrpcSimpleCounterData\x12\x42\n\x19\x61\x63tivities_durations_data\x18\x0f \x03(\x0b\x32\x1f.ficus.GrpcActivityDurationData\"\x84\x01\n\x18GrpcActivityDurationData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12%\n\x04kind\x18\x03 \x01(\x0e\x32\x17.ficus.GrpcDurationKind\"W\n\x1aGrpcGenericEnhancementBase\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05units\x18\x02 \x01(\t\x12\x12\n\x05group\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_group\"w\n\x18GrpcGeneralHistogramData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12*\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\"W\n\x15GrpcSimpleCounterData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"|\n\x16GrpcMethodInliningInfo\x12\x30\n\x0cinlinee_info\x18\x01 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\x12\x30\n\x0cinliner_info\x18\x02 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\"I\n\x13GrpcMethodNameParts\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\t\"1\n\x12GrpcHistogramEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"A\n\x1bGrpcTimelineDiagramFragment\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\"a\n\x12GrpcAllocationInfo\x12\x11\n\ttype_name\x18\x01 \x01(\t\x12\x1f\n\x17\x61llocated_objects_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x61llocated_bytes\x18\x03 \x01(\x04\"\x8b\x01\n\x19GrpcUnderlyingPatternInfo\x12\x36\n\x0cpattern_kind\x18\x01 \x01(\x0e\x32 .ficus.GrpcUnderlyingPatternKind\x12\x15\n\rbase_sequence\x18\x02 \x03(\t\x12\x1f\n\x05graph\x18\x03 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\x9a\x01\n\rGrpcGraphEdge\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tfrom_node\x18\x02 \x01(\x04\x12\x0f\n\x07to_node\x18\x03 \x01(\x04\x12\x0e\n\x06weight\x18\x04 \x01(\x01\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\t\x12;\n\x0f\x61\x64\x64itional_data\x18\x06 \x03(\x0b\x32\".ficus.GrpcGraphEdgeAdditionalData\"\xc5\x01\n\x1bGrpcGraphEdgeAdditionalData\x12\x30\n\rsoftware_data\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x36\n\x0e\x65xecution_info\x18\x02 \x01(\x0b\x32\x1c.ficus.GrpcEdgeExecutionInfoH\x00\x12\x34\n\ttime_data\x18\x03 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x42\x06\n\x04\x64\x61ta\"(\n\x15GrpcEdgeExecutionInfo\x12\x0f\n\x07traceId\x18\x01 \x01(\x04\"\x1a\n\tGrpcBytes\x12\r\n\x05\x62ytes\x18\x01 \x01(\x0c\"I\n\x16GrpcLogTimelineDiagram\x12/\n\x06traces\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcTraceTimelineDiagram\"p\n\x1cGrpcTimelineTraceEventsGroup\x12(\n\x0bstart_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12&\n\tend_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\"z\n\x18GrpcTraceTimelineDiagram\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\x12:\n\revents_groups\x18\x02 \x03(\x0b\x32#.ficus.GrpcTimelineTraceEventsGroup\"4\n\nGrpcThread\x12&\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x16.ficus.GrpcThreadEvent\".\n\x0fGrpcThreadEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05stamp\x18\x02 \x01(\x03*.\n\rGrpcGraphKind\x12\x08\n\x04None\x10\x00\x12\x07\n\x03\x44\x41G\x10\x01\x12\n\n\x06\x44\x61gLCS\x10\x02*u\n\x10GrpcDurationKind\x12\x0f\n\x0bUnspecified\x10\x00\x12\t\n\x05Nanos\x10\x01\x12\n\n\x06Micros\x10\x02\x12\n\n\x06Millis\x10\x03\x12\x0b\n\x07Seconds\x10\x04\x12\x0b\n\x07Minutes\x10\x05\x12\t\n\x05Hours\x10\x06\x12\x08\n\x04\x44\x61ys\x10\x07*\xb1\x01\n\x19GrpcUnderlyingPatternKind\x12\x0e\n\nStrictLoop\x10\x00\x12\x18\n\x14PrimitiveTandemArray\x10\x01\x12\x16\n\x12MaximalTandemArray\x10\x02\x12\x11\n\rMaximalRepeat\x10\x03\x12\x16\n\x12SuperMaximalRepeat\x10\x04\x12\x1a\n\x16NearSuperMaximalRepeat\x10\x05\x12\x0b\n\x07Unknown\x10\x06\x42\x0fZ\r./;grpcmodelsb\x06proto3') @@ -52,15 +52,15 @@ _globals['_GRPCGRAPHKIND']._serialized_start=7403 - _globals['_GRPCGRAPHKIND']._serialized_end=7437 + _globals['_GRPCGRAPHKIND']._serialized_end=7449 - _globals['_GRPCDURATIONKIND']._serialized_start=7439 + _globals['_GRPCDURATIONKIND']._serialized_start=7451 - _globals['_GRPCDURATIONKIND']._serialized_end=7556 + _globals['_GRPCDURATIONKIND']._serialized_end=7568 - _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_start=7559 + _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_start=7571 - _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_end=7736 + _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_end=7748 _globals['_GRPCCONTEXTKEY']._serialized_start=96 diff --git a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi index 5a0f28d74..7c06d0871 100644 --- a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi +++ b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi @@ -13,6 +13,7 @@ class GrpcGraphKind(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = [] None: _ClassVar[GrpcGraphKind] DAG: _ClassVar[GrpcGraphKind] + DagLCS: _ClassVar[GrpcGraphKind] class GrpcDurationKind(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): __slots__ = [] @@ -36,6 +37,7 @@ class GrpcUnderlyingPatternKind(int, metaclass=_enum_type_wrapper.EnumTypeWrappe Unknown: _ClassVar[GrpcUnderlyingPatternKind] None: GrpcGraphKind DAG: GrpcGraphKind +DagLCS: GrpcGraphKind Unspecified: GrpcDurationKind Nanos: GrpcDurationKind Micros: GrpcDurationKind From 271c7ff3d479e16426186e661c2423b39b8285b8 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Tue, 16 Sep 2025 19:37:43 +0300 Subject: [PATCH 017/189] Stupid bug fix --- .../FicusDashboard/Npm/src/graph/graph_elements.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts index 8df1a5223..2fe635e71 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts @@ -133,7 +133,7 @@ function createGraphNodesElements(nodes: GrpcGraphNode[], filter: RegExp | null) id: node.id.toString(), additionalData: node.additionalData, innerGraph: node.innerGraph, - executionTime: calculateOverallExecutionTime(node), + executionTimeNs: calculateOverallExecutionTime(node), enhancementData: getNodeEnhancementDataOrNull(node, filter), } }) @@ -239,7 +239,7 @@ export function createGraphEdgesElements( target: edge.toNode.toString(), additionalData: edge.additionalData, enhancementData: getEdgeEnhancementDataOrNull(edge, filter), - executionTime: executionTime, + executionTimeNs: executionTime, weight: edge.weight, width: width, color: color From 43eaf595c8e5892b7c3e8c2d2c411ab4ddd34ea0 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Tue, 16 Sep 2025 20:07:21 +0300 Subject: [PATCH 018/189] Fix comparator bug --- .../FicusDashboard/Npm/src/colors_log/event_handlers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/colors_log/event_handlers.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/colors_log/event_handlers.ts index 2d96b795a..03262f155 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/colors_log/event_handlers.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/colors_log/event_handlers.ts @@ -54,7 +54,7 @@ function findSelectedEvent(mouseEvent: MouseEvent, return 0; } - return x - event.x; + return event.x - x; }); if (index > -1 && index < trace.length) { From bed0eb4ca1963055b2396b6fd5b20432e3c324fc Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Tue, 16 Sep 2025 20:08:05 +0300 Subject: [PATCH 019/189] Add setting to render graph in flamegraph mode --- .../Canvas/Graph/BoolCheckbox.razor | 13 +++++++ .../Graph/GraphLikeEntitySettings.razor | 37 ++++++++++--------- .../Canvas/Graph/GraphRenderer.razor | 2 +- .../FicusDashboard/Npm/src/graph/util.ts | 2 + 4 files changed, 35 insertions(+), 19 deletions(-) create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/BoolCheckbox.razor diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/BoolCheckbox.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/BoolCheckbox.razor new file mode 100644 index 000000000..57e7989e5 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/BoolCheckbox.razor @@ -0,0 +1,13 @@ +@using Radzen.Blazor + +

+ + +
@Title
+
+ +@code { + [Parameter] public required string Title { get; init; } + [Parameter] public required Action HandleValueUpdate { get; init; } +} \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor index 932ee8b2d..7b3ab9f7a 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor @@ -1,4 +1,5 @@ -@using Radzen +@using Ficus +@using Radzen @using Radzen.Blazor
Filter:
- + } @{ @@ -16,22 +17,23 @@ }
Spacing factor:
- + -
- - -
Event Classes as Name
-
+ + @if (Kind is GrpcGraphKind.DagLcs) + { + + } - + @@ -40,17 +42,16 @@ @code { [Parameter] public required List? Enhancements { get; init; } + [Parameter] public required GrpcGraphKind Kind { get; init; } [Parameter] public RenderFragment? ChildContent { get; init; } - private string? myFilterValue; - private bool myUseLROrientation = true; - private string mySpacingFactor = "1.4"; - private bool myUseEventClassesAsLabels; private EnhancementsSettings? myEnhancementsSettings; - public string? Filter => myFilterValue; - public bool UseLROrientation => myUseLROrientation; - public string SpacingFactor => mySpacingFactor; - public bool UseEventClassesAsLabels => myUseEventClassesAsLabels; + public bool RenderDagLcsInFlamegraphMode { get; private set; } + public string? Filter { get; private set; } + public bool UseLROrientation { get; private set; } = true; + public string SpacingFactor { get; private set; } = "1.4"; + public bool UseEventClassesAsLabels { get; private set; } + public List SelectedEnhancements => myEnhancementsSettings?.SelectedEnhancements ?? []; } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor index 2a14559da..2588e4fbb 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor @@ -7,7 +7,7 @@
- + Rerender Export to SVG diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/util.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/util.ts index f486590c2..1bb7f215f 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/util.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/util.ts @@ -22,6 +22,8 @@ export function createLayout(kind: GrpcGraphKind, spacingFactor: number = 1, use return createGridLayout(spacingFactor, useLROrientation); case GrpcGraphKind.DAG: return createDagreLayout(spacingFactor, useLROrientation); + case GrpcGraphKind.DagLCS: + return createDagreLayout(spacingFactor, useLROrientation); } } From d73bd4dba6a29a020414104234675b10b2d53140 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 19 Sep 2025 01:32:09 +0300 Subject: [PATCH 020/189] WIP, not finished --- .../Canvas/Graph/Flamegraph/BasicBlock.cs | 56 ++++ .../Flamegraph/CompositeBlockRenderer.razor | 73 +++++ .../CompositeBlockRenderer.razor.css | 8 + .../Graph/Flamegraph/FlamegraphContext.cs | 263 ++++++++++++++++++ .../Flamegraph/FlamegraphGraphRenderer.razor | 35 +++ .../Canvas/Graph/GraphRenderer.razor | 8 +- 6 files changed, 442 insertions(+), 1 deletion(-) create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor.css create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs new file mode 100644 index 000000000..f222c3390 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs @@ -0,0 +1,56 @@ +using System.Text.Json.Serialization; + +namespace FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph; + +[JsonDerivedType(typeof(CompositeBasicBlock))] +[JsonDerivedType(typeof(SequentialBasicBlock))] +[JsonDerivedType(typeof(EdgeBlock))] +public abstract class BasicBlock +{ + public abstract int CalculateHeight(); +} + +public enum Orientation +{ + Vertical, + Horizontal +} + +public class CompositeBasicBlock : BasicBlock +{ + public required ulong StartNode { get; init; } + public ulong EndNode { get; set; } + + public required Orientation Orientation { get; init; } + + public List InnerBlocks { get; } = []; + + + public override int CalculateHeight() + { + return Orientation switch + { + Orientation.Vertical => InnerBlocks.Sum(b => b.CalculateHeight()), + Orientation.Horizontal => InnerBlocks.Select(b => b.CalculateHeight()).Max(), + _ => throw new ArgumentOutOfRangeException() + }; + } +} + +public class EdgeBlock : BasicBlock +{ + public override int CalculateHeight() + { + return 1; + } +} + +public class SequentialBasicBlock : BasicBlock +{ + public required List NodesSequence { get; init; } + + public override int CalculateHeight() + { + return 1; + } +} \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor new file mode 100644 index 000000000..e018d986b --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -0,0 +1,73 @@ +
+ @if (AddFirstEdge) + { +
+
+ } + +
+ @Block.StartNode +
+ + @if (Block.InnerBlocks.Count > 0) + { +
+
+ } + +
+ @foreach (var block in Block.InnerBlocks) + { + @( + block switch + { + CompositeBasicBlock compositeBasicBlock => @, + EdgeBlock => @
, + SequentialBasicBlock sequentialBasicBlock => @
+ @foreach (var (index, node) in sequentialBasicBlock.NodesSequence.Index()) + { +
+ @node +
+ + @if (index < sequentialBasicBlock.NodesSequence.Count - 1) + { +
+
+ } + } +
, + _ => throw new ArgumentOutOfRangeException(nameof(block)) + } + ) + + @if (Block.Orientation is Orientation.Horizontal) + { +
+
+ } + } +
+ +
+ @Block.EndNode +
+ + @if (AddLastEdge) + { +
+
+ } +
+ +@code { + public const int NodeHeight = 30; + public const int NodeWidth = 10; + public const int EdgeWidth = 30; + + [Parameter] public required CompositeBasicBlock Block { get; init; } + [Parameter] public bool AddFirstEdge { get; init; } + [Parameter] public bool AddLastEdge { get; init; } +} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor.css b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor.css new file mode 100644 index 000000000..01b12e1e9 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor.css @@ -0,0 +1,8 @@ +.node { + background: red; + border: solid 1px black; +} + +.edge { + background: yellow; +} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs new file mode 100644 index 000000000..1205e0f1c --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs @@ -0,0 +1,263 @@ +using Ficus; +using Microsoft.AspNetCore.Components; + +namespace FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph; + +public class FlamegraphContext +{ + private readonly Dictionary myIdsToNodes = []; + private readonly Dictionary> myEdges = []; + private readonly Dictionary> myReversedEdges = []; + private readonly Dictionary myNodePairs = []; + private readonly List> myNodesByLevels; + + public CompositeBasicBlock Layout { get; } + + public IReadOnlyDictionary IdsToNodes => myIdsToNodes; + public IReadOnlyDictionary> Edges => myEdges; + public IReadOnlyDictionary> ReversedEdges => myReversedEdges; + public IDictionary NodePairs => myNodePairs; + public IReadOnlyList> NodesByLevels => myNodesByLevels; + + + public FlamegraphContext(GrpcGraph graph) + { + foreach (var edge in graph.Edges) + { + AddEdge(myEdges, edge.FromNode, edge.ToNode); + AddEdge(myReversedEdges, edge.ToNode, edge.FromNode); + } + + foreach (var node in graph.Nodes) + { + myIdsToNodes[node.Id] = node; + } + + var startNode = graph.Nodes.FirstOrDefault(n => !myReversedEdges.ContainsKey(n.Id)); + var rootSequenceNodes = new List(); + + var currentRootSequenceNode = startNode; + while (currentRootSequenceNode is { }) + { + rootSequenceNodes.Add(currentRootSequenceNode.Id); + + if (!myEdges.ContainsKey(currentRootSequenceNode.Id)) + { + break; + } + + currentRootSequenceNode = FindNextRootSequenceNode(currentRootSequenceNode); + } + + if (rootSequenceNodes.Count is 0) throw new Exception("Graph is empty"); + + myNodesByLevels = SetNodesByLevels(rootSequenceNodes[0]); + FindNodesPairs(rootSequenceNodes[0]); + + Layout = CreateBlockLayout(rootSequenceNodes[0], rootSequenceNodes[^1]); + } + + private void FindNodesPairs(ulong startNode) + { + var processed = new HashSet(); + var q = new Queue<(ulong, HashSet)>(); + var nextToken = 0; + var nodesToIssuedTokens = new Dictionary(); + var nodesToSeenTokens = new Dictionary>(); + foreach (var key in myIdsToNodes.Keys) + { + nodesToSeenTokens[key] = []; + } + + q.Enqueue((startNode, [])); + + while (q.Count > 0) + { + var (node, tokens) = q.Dequeue(); + foreach (var token in tokens) + { + nodesToSeenTokens[node].Add(token); + } + + var anyIncomingNodeUnprocessed = false; + if (myReversedEdges.TryGetValue(node, out var incomingNodes)) + { + anyIncomingNodeUnprocessed = incomingNodes.Any(incomingNode => !processed.Contains(incomingNode)); + } + + if (anyIncomingNodeUnprocessed) + { + continue; + } + + if (myReversedEdges.TryGetValue(node, out incomingNodes) && incomingNodes.Count > 1) + { + foreach (var (issuedNode, issuedTokens) in nodesToIssuedTokens) + { + var isPairNode = true; + for (var t = issuedTokens.Item1; t < issuedTokens.Item2; t++) + { + if (!nodesToSeenTokens[node].Contains(t)) + { + isPairNode = false; + break; + } + } + + if (isPairNode) + { + myNodePairs[issuedNode] = node; + for (var t = issuedTokens.Item1; t < issuedTokens.Item2; t++) + { + nodesToSeenTokens[node].Remove(t); + } + + nodesToIssuedTokens.Remove(issuedNode); + } + } + } + + if (myEdges.TryGetValue(node, out var outgoingNodes)) + { + if (outgoingNodes.Count == 1) + { + q.Enqueue((outgoingNodes[0], tokens)); + } + else + { + nodesToIssuedTokens[node] = (nextToken, nextToken + outgoingNodes.Count); + foreach (var outgoingNode in outgoingNodes) + { + var newSet = new HashSet(nodesToSeenTokens[node]) { nextToken }; + nextToken++; + + q.Enqueue((outgoingNode, newSet)); + } + } + } + + processed.Add(node); + } + } + + private List> SetNodesByLevels(ulong startNode) + { + var result = new Dictionary(); + var q = new Queue<(ulong, int)>(); + q.Enqueue((startNode, 0)); + + while (q.Count != 0) + { + var (node, level) = q.Dequeue(); + if (result.TryGetValue(node, out var prevLevel)) + { + prevLevel = Math.Max(prevLevel, level); + } + else + { + prevLevel = level; + } + + result[node] = prevLevel; + + if (myEdges.TryGetValue(node, out var nextNodes)) + { + foreach (var nextNode in nextNodes) + { + q.Enqueue((nextNode, level + 1)); + } + } + } + + return result.GroupBy(p => p.Value).Select(g => g.Select(k => k.Key).ToList()).ToList(); + } + + private void AddEdge(Dictionary> map, ulong from, ulong to) + { + if (!map.TryGetValue(from, out var toNodes)) + { + toNodes = []; + map[from] = toNodes; + } + + toNodes.Add(to); + } + + private GrpcGraphNode FindNextRootSequenceNode(GrpcGraphNode node) + { + var currentNode = node; + while (true) + { + currentNode = myIdsToNodes[myEdges[currentNode.Id].First()]; + if (currentNode.AdditionalData.Any(d => d.TraceData?.BelongsToRootSequence ?? false)) + { + return currentNode; + } + } + } + + private CompositeBasicBlock CreateBlockLayout(ulong node, ulong endNode) + { + var compositeBlock = new CompositeBasicBlock + { + StartNode = node, + EndNode = endNode, + Orientation = Orientation.Horizontal + }; + + while (node != endNode) + { + if (myNodePairs.TryGetValue(node, out var pairNode)) + { + var block = new CompositeBasicBlock + { + StartNode = node, + EndNode = pairNode, + Orientation = Orientation.Vertical + }; + + foreach (var outgoingNode in myEdges[node]) + { + if (outgoingNode == pairNode) + { + block.InnerBlocks.Add(new EdgeBlock()); + continue; + } + + var outgoingNodeEndNode = myNodePairs.TryGetValue(outgoingNode, out var outgoingNodePair) switch + { + true => outgoingNodePair, + false => pairNode + }; + + block.InnerBlocks.Add(CreateBlockLayout(outgoingNode, outgoingNodeEndNode)); + } + + compositeBlock.InnerBlocks.Add(block); + node = pairNode; + } + else + { + var currentNode = node; + var nodesSequence = new List { currentNode }; + + while (currentNode != endNode && + !myNodePairs.ContainsKey(currentNode) && + myEdges.ContainsKey(currentNode)) + { + currentNode = myEdges[currentNode].First(); + nodesSequence.Add(currentNode); + } + + compositeBlock.InnerBlocks.Add(new SequentialBasicBlock + { + NodesSequence = nodesSequence[1..^1] + }); + + node = currentNode; + } + } + + return compositeBlock; + } +} \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor new file mode 100644 index 000000000..1f81fb3a1 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -0,0 +1,35 @@ +@using System.Text.Json +@using Ficus + +@inject ILogger Logger; + +@if (myContext is { }) +{ + +} + + +@code { + [Parameter] public required GrpcGraph Graph { get; init; } + + private FlamegraphContext? myContext; + + protected override void OnParametersSet() + { + base.OnParametersSet(); + InitializeFlamegraphInfo(); + } + + private void InitializeFlamegraphInfo() + { + myContext = new FlamegraphContext(Graph); + + Logger.LogInformation(JsonSerializer.Serialize(myContext.NodePairs)); + Logger.LogInformation(JsonSerializer.Serialize(myContext, new JsonSerializerOptions + { + WriteIndented = true + })); + Logger.LogInformation(myContext.Layout.CalculateHeight().ToString()); + } + +} \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor index 2588e4fbb..15b1abd90 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor @@ -1,5 +1,6 @@ @using System.Globalization @using Ficus +@using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph @using FicusDashboard.Layout.Models @using Radzen.Blazor @inject IJSRuntime Js @@ -17,6 +18,11 @@
+ @if (mySettings?.RenderDagLcsInFlamegraphMode ?? false) + { + + } +
@if (myAggregatedData is { IsEmpty: false } data) { @@ -91,7 +97,7 @@ { AddCustomEnhancements(data, enhancements); } - + private static void AddCustomEnhancements(GrpcSoftwareData? data, HashSet enhancements) { if (data is null) return; From 4fcc0702157e5035682fbb3ae0dd8c395f1629f4 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 19 Sep 2025 14:20:56 +0300 Subject: [PATCH 021/189] Better rendering --- .../Canvas/Graph/Flamegraph/BasicBlock.cs | 29 ++--- .../Flamegraph/CompositeBlockRenderer.razor | 106 +++++++++--------- .../CompositeBlockRenderer.razor.css | 8 -- .../Graph/Flamegraph/FlamegraphConstants.cs | 8 ++ .../Graph/Flamegraph/FlamegraphContext.cs | 22 ++-- .../Flamegraph/FlamegraphGraphRenderer.razor | 8 -- .../Flamegraph/SequentialBlockRenderer.razor | 20 ++++ .../FicusDashboard/wwwroot/css/app.css | 11 +- 8 files changed, 105 insertions(+), 107 deletions(-) delete mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor.css create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs index f222c3390..5857e5a89 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs @@ -2,39 +2,28 @@ namespace FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph; -[JsonDerivedType(typeof(CompositeBasicBlock))] -[JsonDerivedType(typeof(SequentialBasicBlock))] -[JsonDerivedType(typeof(EdgeBlock))] public abstract class BasicBlock { public abstract int CalculateHeight(); } -public enum Orientation +public abstract class CompositeBlockBase : BasicBlock { - Vertical, - Horizontal + public List InnerBlocks { get; } = []; } -public class CompositeBasicBlock : BasicBlock +public class HorizontalCompositeBlock : CompositeBlockBase +{ + public override int CalculateHeight() => InnerBlocks.Select(b => b.CalculateHeight()).Max(); +} + +public class VerticalCompositeBlock : CompositeBlockBase { public required ulong StartNode { get; init; } public ulong EndNode { get; set; } - public required Orientation Orientation { get; init; } - - public List InnerBlocks { get; } = []; - - public override int CalculateHeight() - { - return Orientation switch - { - Orientation.Vertical => InnerBlocks.Sum(b => b.CalculateHeight()), - Orientation.Horizontal => InnerBlocks.Select(b => b.CalculateHeight()).Max(), - _ => throw new ArgumentOutOfRangeException() - }; - } + public override int CalculateHeight() => InnerBlocks.Sum(b => b.CalculateHeight()); } public class EdgeBlock : BasicBlock diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index e018d986b..a1ee61d24 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -1,73 +1,67 @@ -
- @if (AddFirstEdge) +
+ @if (Block is HorizontalCompositeBlock hBLock) { -
-
- } + @foreach (var (index, block) in Block.InnerBlocks.Index()) + { + @RenderBlock(block) -
- @Block.StartNode -
- - @if (Block.InnerBlocks.Count > 0) + if (index < Block.InnerBlocks.Count - 1) + { +
+
+ } + } + } + else if (Block is VerticalCompositeBlock vBlock) { -
+
+ @vBlock.StartNode
- } -
- @foreach (var block in Block.InnerBlocks) - { - @( - block switch +
+ @foreach (var block in Block.InnerBlocks) { - CompositeBasicBlock compositeBasicBlock => @, - EdgeBlock => @
, - SequentialBasicBlock sequentialBasicBlock => @
- @foreach (var (index, node) in sequentialBasicBlock.NodesSequence.Index()) - { -
- @node -
+ var height = block.CalculateHeight() * FlamegraphConstants.NodeHeight; - @if (index < sequentialBasicBlock.NodesSequence.Count - 1) - { -
-
- } - } -
, - _ => throw new ArgumentOutOfRangeException(nameof(block)) - } - ) + @if (block is EdgeBlock) + { +
+
+ } + else + { +
+
+
- @if (Block.Orientation is Orientation.Horizontal) - { -
-
- } - } -
+ @RenderBlock(block) + +
+
+
+ } -
- @Block.EndNode -
+ } +
- @if (AddLastEdge) - { -
+
+ @vBlock.EndNode
}
@code { - public const int NodeHeight = 30; - public const int NodeWidth = 10; - public const int EdgeWidth = 30; + [Parameter] public required CompositeBlockBase Block { get; init; } + + private RenderFragment RenderBlock(BasicBlock block) + { + return block switch + { + CompositeBlockBase compositeBlock => @, + EdgeBlock => @
, + SequentialBasicBlock sequentialBasicBlock => @, + _ => throw new ArgumentOutOfRangeException(nameof(block)) + }; + } - [Parameter] public required CompositeBasicBlock Block { get; init; } - [Parameter] public bool AddFirstEdge { get; init; } - [Parameter] public bool AddLastEdge { get; init; } } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor.css b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor.css deleted file mode 100644 index 01b12e1e9..000000000 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor.css +++ /dev/null @@ -1,8 +0,0 @@ -.node { - background: red; - border: solid 1px black; -} - -.edge { - background: yellow; -} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs new file mode 100644 index 000000000..3086f461f --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs @@ -0,0 +1,8 @@ +namespace FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph; + +internal class FlamegraphConstants +{ + public const int NodeHeight = 30; + public const int NodeWidth = 10; + public const int EdgeWidth = 30; +} \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs index 1205e0f1c..a4a2eeca6 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs @@ -11,7 +11,7 @@ public class FlamegraphContext private readonly Dictionary myNodePairs = []; private readonly List> myNodesByLevels; - public CompositeBasicBlock Layout { get; } + public HorizontalCompositeBlock Layout { get; } public IReadOnlyDictionary IdsToNodes => myIdsToNodes; public IReadOnlyDictionary> Edges => myEdges; @@ -196,24 +196,18 @@ private GrpcGraphNode FindNextRootSequenceNode(GrpcGraphNode node) } } - private CompositeBasicBlock CreateBlockLayout(ulong node, ulong endNode) + private HorizontalCompositeBlock CreateBlockLayout(ulong node, ulong endNode) { - var compositeBlock = new CompositeBasicBlock - { - StartNode = node, - EndNode = endNode, - Orientation = Orientation.Horizontal - }; + var compositeBlock = new HorizontalCompositeBlock(); while (node != endNode) { if (myNodePairs.TryGetValue(node, out var pairNode)) { - var block = new CompositeBasicBlock + var block = new VerticalCompositeBlock { StartNode = node, - EndNode = pairNode, - Orientation = Orientation.Vertical + EndNode = pairNode }; foreach (var outgoingNode in myEdges[node]) @@ -239,19 +233,19 @@ private CompositeBasicBlock CreateBlockLayout(ulong node, ulong endNode) else { var currentNode = node; - var nodesSequence = new List { currentNode }; + var nodesSequence = new List(); while (currentNode != endNode && !myNodePairs.ContainsKey(currentNode) && myEdges.ContainsKey(currentNode)) { - currentNode = myEdges[currentNode].First(); nodesSequence.Add(currentNode); + currentNode = myEdges[currentNode].First(); } compositeBlock.InnerBlocks.Add(new SequentialBasicBlock { - NodesSequence = nodesSequence[1..^1] + NodesSequence = nodesSequence }); node = currentNode; diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index 1f81fb3a1..48823c643 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -23,13 +23,5 @@ private void InitializeFlamegraphInfo() { myContext = new FlamegraphContext(Graph); - - Logger.LogInformation(JsonSerializer.Serialize(myContext.NodePairs)); - Logger.LogInformation(JsonSerializer.Serialize(myContext, new JsonSerializerOptions - { - WriteIndented = true - })); - Logger.LogInformation(myContext.Layout.CalculateHeight().ToString()); } - } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor new file mode 100644 index 000000000..95f41f7cb --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -0,0 +1,20 @@ +
+ @foreach (var (index, node) in Block.NodesSequence.Index()) + { +
+ @node +
+ + @if (index < Block.NodesSequence.Count - 1) + { +
+
+ } + } +
+ +@code { + [Parameter] public required SequentialBasicBlock Block { get; init; } +} \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css b/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css index 6e36d7e00..729fa0a7d 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css @@ -237,4 +237,13 @@ svg-pie-chart svg { .seen-notification { background-color: var(--seen-notification-color); -} \ No newline at end of file +} + +.flamegraph-node { + background: red; + border: solid 1px black; +} + +.flamegraph-edge { + background: yellow; +} From 34c3bece5a47ec9626235333fda71dd965b1d8a3 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 19 Sep 2025 15:19:48 +0300 Subject: [PATCH 022/189] WIP --- .../Flamegraph/CompositeBlockRenderer.razor | 97 +++++++++++-------- .../Graph/Flamegraph/FlamegraphConstants.cs | 7 +- .../Flamegraph/FlamegraphGraphRenderer.razor | 5 +- .../Flamegraph/SequentialBlockRenderer.razor | 5 +- .../FicusDashboard/wwwroot/css/app.css | 6 ++ 5 files changed, 69 insertions(+), 51 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index a1ee61d24..c371b0619 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -1,67 +1,78 @@ 
- @if (Block is HorizontalCompositeBlock hBLock) + @switch (Block) { - @foreach (var (index, block) in Block.InnerBlocks.Index()) + case HorizontalCompositeBlock: { - @RenderBlock(block) - - if (index < Block.InnerBlocks.Count - 1) + foreach (var (index, block) in Block.InnerBlocks.Index()) { -
-
- } - } - } - else if (Block is VerticalCompositeBlock vBlock) - { -
- @vBlock.StartNode -
+ @RenderBlock(block) -
- @foreach (var block in Block.InnerBlocks) - { - var height = block.CalculateHeight() * FlamegraphConstants.NodeHeight; - - @if (block is EdgeBlock) + if (index < Block.InnerBlocks.Count - 1) { -
+
} - else + } + + break; + } + case VerticalCompositeBlock vBlock: + { +
+ @Context.IdsToNodes[vBlock.StartNode].Data +
+ +
+ @foreach (var (index, block) in Block.InnerBlocks.Index()) { -
-
+ var height = block.CalculateHeight() * FlamegraphConstants.NodeHeight; + + if (block is EdgeBlock) + { +
+ } + else + { +
+
+
+ + @RenderBlock(block) - @RenderBlock(block) - -
+
+
-
+ } + + @if (index < Block.InnerBlocks.Count - 1) + { +
+
+ } } +
- } -
+
+ @Context.IdsToNodes[vBlock.EndNode].Data +
-
- @vBlock.EndNode -
+ break; + } }
@code { [Parameter] public required CompositeBlockBase Block { get; init; } + [Parameter] public required FlamegraphContext Context { get; init; } - private RenderFragment RenderBlock(BasicBlock block) + private RenderFragment RenderBlock(BasicBlock block) => block switch { - return block switch - { - CompositeBlockBase compositeBlock => @, - EdgeBlock => @
, - SequentialBasicBlock sequentialBasicBlock => @, - _ => throw new ArgumentOutOfRangeException(nameof(block)) - }; - } + CompositeBlockBase compositeBlock => @, + EdgeBlock => @
, + SequentialBasicBlock sequentialBasicBlock => @, + _ => throw new ArgumentOutOfRangeException(nameof(block)) + }; } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs index 3086f461f..86474e71f 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs @@ -2,7 +2,8 @@ internal class FlamegraphConstants { - public const int NodeHeight = 30; - public const int NodeWidth = 10; - public const int EdgeWidth = 30; + public const int NodeHeight = 100; + public const int NodeWidth = 30; + public const int EdgeWidth = 40; + public const int SeparatorHeight = 20; } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index 48823c643..308ac9dae 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -1,11 +1,10 @@ -@using System.Text.Json -@using Ficus +@using Ficus @inject ILogger Logger; @if (myContext is { }) { - + } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index 95f41f7cb..0ce15ce7c 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -1,9 +1,9 @@ 
@foreach (var (index, node) in Block.NodesSequence.Index()) { -
- @node + @Context.IdsToNodes[node].Data
@if (index < Block.NodesSequence.Count - 1) @@ -17,4 +17,5 @@ @code { [Parameter] public required SequentialBasicBlock Block { get; init; } + [Parameter] public required FlamegraphContext Context { get; init; } } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css b/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css index 729fa0a7d..0a0990af9 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css @@ -242,8 +242,14 @@ svg-pie-chart svg { .flamegraph-node { background: red; border: solid 1px black; + writing-mode: vertical-rl; + text-align: center; } .flamegraph-edge { background: yellow; } + +.flamegraph-separator-edge { + background: transparent; +} From 20226242d5479dbd5a3f82fc5513f9a4d83d12ff Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 19 Sep 2025 16:25:44 +0300 Subject: [PATCH 023/189] Add separators --- .../Canvas/Graph/Flamegraph/BasicBlock.cs | 19 ++++++-- .../Flamegraph/CompositeBlockRenderer.razor | 48 ++++++++++--------- .../Graph/Flamegraph/FlamegraphConstants.cs | 3 +- .../Graph/Flamegraph/FlamegraphContext.cs | 23 +++++---- .../Flamegraph/SequentialBlockRenderer.razor | 3 +- 5 files changed, 59 insertions(+), 37 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs index 5857e5a89..caf62828e 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs @@ -1,6 +1,12 @@ -using System.Text.Json.Serialization; +namespace FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph; -namespace FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph; +public static class ModelSizes +{ + public const int Base = 1; + public const int Separtor = Base; + public const int NodeHeight = 6 * Base; + public const int EdgeBlock = NodeHeight; +} public abstract class BasicBlock { @@ -30,16 +36,21 @@ public class EdgeBlock : BasicBlock { public override int CalculateHeight() { - return 1; + return ModelSizes.EdgeBlock; } } +public class SeparatorBlock : BasicBlock +{ + public override int CalculateHeight() => ModelSizes.Separtor; +} + public class SequentialBasicBlock : BasicBlock { public required List NodesSequence { get; init; } public override int CalculateHeight() { - return 1; + return ModelSizes.NodeHeight; } } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index c371b0619..34db601a2 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -1,4 +1,4 @@ -
+
@switch (Block) { case HorizontalCompositeBlock: @@ -23,33 +23,38 @@
- @foreach (var (index, block) in Block.InnerBlocks.Index()) + @foreach (var block in Block.InnerBlocks) { - var height = block.CalculateHeight() * FlamegraphConstants.NodeHeight; - - if (block is EdgeBlock) - { -
-
- } - else + switch (block) { -
-
+ case EdgeBlock: +
+ + break; + case SeparatorBlock: +
+
+ + break; + default: + { + var height = block.CalculateHeight() * FlamegraphConstants.Height; +
+
+
- @RenderBlock(block) + @RenderBlock(block) -
+
+
-
- } - @if (index < Block.InnerBlocks.Count - 1) - { -
-
+ break; + } } }
@@ -70,7 +75,6 @@ private RenderFragment RenderBlock(BasicBlock block) => block switch { CompositeBlockBase compositeBlock => @, - EdgeBlock => @
, SequentialBasicBlock sequentialBasicBlock => @, _ => throw new ArgumentOutOfRangeException(nameof(block)) }; diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs index 86474e71f..dafc0a6de 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs @@ -2,8 +2,7 @@ internal class FlamegraphConstants { - public const int NodeHeight = 100; + public const int Height = 15; public const int NodeWidth = 30; public const int EdgeWidth = 40; - public const int SeparatorHeight = 20; } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs index a4a2eeca6..4da8083af 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs @@ -210,21 +210,28 @@ private HorizontalCompositeBlock CreateBlockLayout(ulong node, ulong endNode) EndNode = pairNode }; - foreach (var outgoingNode in myEdges[node]) + var outgoingNodes = myEdges[node]; + foreach (var (index, outgoingNode) in outgoingNodes.Index()) { if (outgoingNode == pairNode) { block.InnerBlocks.Add(new EdgeBlock()); - continue; } - - var outgoingNodeEndNode = myNodePairs.TryGetValue(outgoingNode, out var outgoingNodePair) switch + else { - true => outgoingNodePair, - false => pairNode - }; + var outgoingNodeEndNode = myNodePairs.TryGetValue(outgoingNode, out var outgoingNodePair) switch + { + true => outgoingNodePair, + false => pairNode + }; + + block.InnerBlocks.Add(CreateBlockLayout(outgoingNode, outgoingNodeEndNode)); + } - block.InnerBlocks.Add(CreateBlockLayout(outgoingNode, outgoingNodeEndNode)); + if (index < outgoingNodes.Count - 1) + { + block.InnerBlocks.Add(new SeparatorBlock()); + } } compositeBlock.InnerBlocks.Add(block); diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index 0ce15ce7c..6a99fc7c7 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -1,7 +1,8 @@ 
@foreach (var (index, node) in Block.NodesSequence.Index()) { -
@Context.IdsToNodes[node].Data
From 5e3eb07b4c595e57802b589b2a86fb04ef9d6873 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 19 Sep 2025 22:56:07 +0300 Subject: [PATCH 024/189] Seemingly working visualization --- .../Canvas/Graph/Flamegraph/BasicBlock.cs | 4 --- .../Flamegraph/CompositeBlockRenderer.razor | 21 ++++------- .../Graph/Flamegraph/FlamegraphContext.cs | 35 +++++++++++++------ 3 files changed, 31 insertions(+), 29 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs index caf62828e..6f76d848e 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs @@ -25,10 +25,6 @@ public class HorizontalCompositeBlock : CompositeBlockBase public class VerticalCompositeBlock : CompositeBlockBase { - public required ulong StartNode { get; init; } - public ulong EndNode { get; set; } - - public override int CalculateHeight() => InnerBlocks.Sum(b => b.CalculateHeight()); } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index 34db601a2..3c057633a 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -7,7 +7,9 @@ { @RenderBlock(block) - if (index < Block.InnerBlocks.Count - 1) + if (index < Block.InnerBlocks.Count - 1 && + block is not VerticalCompositeBlock && + Block.InnerBlocks[index + 1] is HorizontalCompositeBlock or SequentialBasicBlock) {
@@ -16,12 +18,8 @@ break; } - case VerticalCompositeBlock vBlock: + case VerticalCompositeBlock: { -
- @Context.IdsToNodes[vBlock.StartNode].Data -
-
@foreach (var block in Block.InnerBlocks) { @@ -42,14 +40,14 @@ default: { var height = block.CalculateHeight() * FlamegraphConstants.Height; +
@RenderBlock(block) - -
+ +
@@ -58,11 +56,6 @@ } }
- -
- @Context.IdsToNodes[vBlock.EndNode].Data -
- break; } } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs index 4da8083af..8c4322d26 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs @@ -54,7 +54,7 @@ public FlamegraphContext(GrpcGraph graph) myNodesByLevels = SetNodesByLevels(rootSequenceNodes[0]); FindNodesPairs(rootSequenceNodes[0]); - Layout = CreateBlockLayout(rootSequenceNodes[0], rootSequenceNodes[^1]); + Layout = CreateLayout(rootSequenceNodes[0], rootSequenceNodes[^1]); } private void FindNodesPairs(ulong startNode) @@ -196,19 +196,32 @@ private GrpcGraphNode FindNextRootSequenceNode(GrpcGraphNode node) } } - private HorizontalCompositeBlock CreateBlockLayout(ulong node, ulong endNode) + private HorizontalCompositeBlock CreateLayout(ulong node, ulong endNode) { - var compositeBlock = new HorizontalCompositeBlock(); + var layout = CreateBlockLayoutEndNodeNotInclusive(node, endNode); + + layout.InnerBlocks.Add(new SequentialBasicBlock + { + NodesSequence = [endNode] + }); + + return layout; + } + + private HorizontalCompositeBlock CreateBlockLayoutEndNodeNotInclusive(ulong node, ulong endNode) + { + var hBlock = new HorizontalCompositeBlock(); while (node != endNode) { if (myNodePairs.TryGetValue(node, out var pairNode)) { - var block = new VerticalCompositeBlock + hBlock.InnerBlocks.Add(new SequentialBasicBlock { - StartNode = node, - EndNode = pairNode - }; + NodesSequence = [node] + }); + + var block = new VerticalCompositeBlock(); var outgoingNodes = myEdges[node]; foreach (var (index, outgoingNode) in outgoingNodes.Index()) @@ -225,7 +238,7 @@ private HorizontalCompositeBlock CreateBlockLayout(ulong node, ulong endNode) false => pairNode }; - block.InnerBlocks.Add(CreateBlockLayout(outgoingNode, outgoingNodeEndNode)); + block.InnerBlocks.Add(CreateBlockLayoutEndNodeNotInclusive(outgoingNode, outgoingNodeEndNode)); } if (index < outgoingNodes.Count - 1) @@ -234,7 +247,7 @@ private HorizontalCompositeBlock CreateBlockLayout(ulong node, ulong endNode) } } - compositeBlock.InnerBlocks.Add(block); + hBlock.InnerBlocks.Add(block); node = pairNode; } else @@ -250,7 +263,7 @@ private HorizontalCompositeBlock CreateBlockLayout(ulong node, ulong endNode) currentNode = myEdges[currentNode].First(); } - compositeBlock.InnerBlocks.Add(new SequentialBasicBlock + hBlock.InnerBlocks.Add(new SequentialBasicBlock { NodesSequence = nodesSequence }); @@ -259,6 +272,6 @@ private HorizontalCompositeBlock CreateBlockLayout(ulong node, ulong endNode) } } - return compositeBlock; + return hBlock; } } \ No newline at end of file From 01bdbae16a5a28d45277809ef69cd8693a5943a4 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 19 Sep 2025 23:17:53 +0300 Subject: [PATCH 025/189] Dont use root sequences as we do not need them anymore - rely on grapg topology and invariants instead --- .../Graph/Flamegraph/FlamegraphContext.cs | 71 ++----------------- 1 file changed, 5 insertions(+), 66 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs index 8c4322d26..faf7f6cb7 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs @@ -1,5 +1,4 @@ using Ficus; -using Microsoft.AspNetCore.Components; namespace FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph; @@ -9,7 +8,6 @@ public class FlamegraphContext private readonly Dictionary> myEdges = []; private readonly Dictionary> myReversedEdges = []; private readonly Dictionary myNodePairs = []; - private readonly List> myNodesByLevels; public HorizontalCompositeBlock Layout { get; } @@ -17,7 +15,6 @@ public class FlamegraphContext public IReadOnlyDictionary> Edges => myEdges; public IReadOnlyDictionary> ReversedEdges => myReversedEdges; public IDictionary NodePairs => myNodePairs; - public IReadOnlyList> NodesByLevels => myNodesByLevels; public FlamegraphContext(GrpcGraph graph) @@ -34,27 +31,14 @@ public FlamegraphContext(GrpcGraph graph) } var startNode = graph.Nodes.FirstOrDefault(n => !myReversedEdges.ContainsKey(n.Id)); - var rootSequenceNodes = new List(); + if (startNode is null) throw new Exception("Graph does not contain a start node"); - var currentRootSequenceNode = startNode; - while (currentRootSequenceNode is { }) - { - rootSequenceNodes.Add(currentRootSequenceNode.Id); - - if (!myEdges.ContainsKey(currentRootSequenceNode.Id)) - { - break; - } + var endNode = graph.Nodes.FirstOrDefault(n => !myEdges.ContainsKey(n.Id)); + if (endNode is null) throw new Exception("Graph does not contain an end node"); - currentRootSequenceNode = FindNextRootSequenceNode(currentRootSequenceNode); - } - - if (rootSequenceNodes.Count is 0) throw new Exception("Graph is empty"); + FindNodesPairs(startNode.Id); - myNodesByLevels = SetNodesByLevels(rootSequenceNodes[0]); - FindNodesPairs(rootSequenceNodes[0]); - - Layout = CreateLayout(rootSequenceNodes[0], rootSequenceNodes[^1]); + Layout = CreateLayout(startNode.Id, endNode.Id); } private void FindNodesPairs(ulong startNode) @@ -140,38 +124,6 @@ private void FindNodesPairs(ulong startNode) } } - private List> SetNodesByLevels(ulong startNode) - { - var result = new Dictionary(); - var q = new Queue<(ulong, int)>(); - q.Enqueue((startNode, 0)); - - while (q.Count != 0) - { - var (node, level) = q.Dequeue(); - if (result.TryGetValue(node, out var prevLevel)) - { - prevLevel = Math.Max(prevLevel, level); - } - else - { - prevLevel = level; - } - - result[node] = prevLevel; - - if (myEdges.TryGetValue(node, out var nextNodes)) - { - foreach (var nextNode in nextNodes) - { - q.Enqueue((nextNode, level + 1)); - } - } - } - - return result.GroupBy(p => p.Value).Select(g => g.Select(k => k.Key).ToList()).ToList(); - } - private void AddEdge(Dictionary> map, ulong from, ulong to) { if (!map.TryGetValue(from, out var toNodes)) @@ -183,19 +135,6 @@ private void AddEdge(Dictionary> map, ulong from, ulong to) toNodes.Add(to); } - private GrpcGraphNode FindNextRootSequenceNode(GrpcGraphNode node) - { - var currentNode = node; - while (true) - { - currentNode = myIdsToNodes[myEdges[currentNode.Id].First()]; - if (currentNode.AdditionalData.Any(d => d.TraceData?.BelongsToRootSequence ?? false)) - { - return currentNode; - } - } - } - private HorizontalCompositeBlock CreateLayout(ulong node, ulong endNode) { var layout = CreateBlockLayoutEndNodeNotInclusive(node, endNode); From e0379ed425cf7b1a31778bd82f8ce76603d9af8a Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 19 Sep 2025 23:19:46 +0300 Subject: [PATCH 026/189] Fix last edges not scaling to fill all available space --- .../Flamegraph/CompositeBlockRenderer.razor | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index 3c057633a..5e4fb4bdb 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -29,25 +29,26 @@
- + break; case SeparatorBlock:
- + break; default: { var height = block.CalculateHeight() * FlamegraphConstants.Height; - -
+ +
@RenderBlock(block) - -
+ +
@@ -68,7 +69,8 @@ private RenderFragment RenderBlock(BasicBlock block) => block switch { CompositeBlockBase compositeBlock => @, - SequentialBasicBlock sequentialBasicBlock => @, + SequentialBasicBlock sequentialBasicBlock => @, _ => throw new ArgumentOutOfRangeException(nameof(block)) }; From 58266924c8b022fa701c5249cc3670bd60da208a Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 22 Sep 2025 22:27:00 +0300 Subject: [PATCH 027/189] WIP, cancer code, not finished --- .../Graph/Flamegraph/FlamegraphContext.cs | 127 +++++++++++++++--- 1 file changed, 106 insertions(+), 21 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs index faf7f6cb7..6215d57b2 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs @@ -1,4 +1,5 @@ -using Ficus; +using System.Collections; +using Ficus; namespace FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph; @@ -41,13 +42,71 @@ public FlamegraphContext(GrpcGraph graph) Layout = CreateLayout(startNode.Id, endNode.Id); } + private class IssuedTokens(int startToken, int rightBorder) + { + private int myNextIndex; + + + private readonly int?[] myMergedTokens = new int?[rightBorder - startToken]; + + + public bool FoundPairNode { get; set; } + public int StartToken { get; } = startToken; + public int RightBorder { get; } = rightBorder; + + + public void AddTokensGroup(List tokens) + { + if (tokens.Count < 2) return; + + foreach (var index in tokens.Select(token => token - StartToken)) + { + if (myMergedTokens[index] is { }) + { + throw new Exception("Some of the tokens already merged, can not merge twice"); + } + + myMergedTokens[index] = myNextIndex; + } + + myNextIndex++; + } + + public List> GroupOutgoingNodesByPaths(List outgoingNodes) + { + if (myNextIndex is 0) + { + return outgoingNodes.Select(n => new List { n }).ToList(); + } + + var result = new List>(); + var groupsLists = Enumerable.Range(0, myNextIndex).Select(_ => new List()).ToArray(); + foreach (var (mergedToken, node) in myMergedTokens.Zip(outgoingNodes)) + { + if (mergedToken is not { } token) + { + result.Add([node]); + continue; + } + + groupsLists[token].Add(node); + } + + result.AddRange(groupsLists); + + return result; + } + } + private void FindNodesPairs(ulong startNode) { var processed = new HashSet(); var q = new Queue<(ulong, HashSet)>(); var nextToken = 0; - var nodesToIssuedTokens = new Dictionary(); + var nodesToIssuedTokens = new Dictionary(); var nodesToSeenTokens = new Dictionary>(); + var nodesToQueuedHashSets = new Dictionary>(); + foreach (var key in myIdsToNodes.Keys) { nodesToSeenTokens[key] = []; @@ -74,30 +133,32 @@ private void FindNodesPairs(ulong startNode) continue; } + nodesToQueuedHashSets.Remove(node); if (myReversedEdges.TryGetValue(node, out incomingNodes) && incomingNodes.Count > 1) { - foreach (var (issuedNode, issuedTokens) in nodesToIssuedTokens) + foreach (var (issuedNode, issuedTokens) in nodesToIssuedTokens.Where(it => !it.Value.FoundPairNode)) { - var isPairNode = true; - for (var t = issuedTokens.Item1; t < issuedTokens.Item2; t++) + var containedTokens = new List(); + for (var t = issuedTokens.StartToken; t < issuedTokens.RightBorder; t++) { - if (!nodesToSeenTokens[node].Contains(t)) + if (nodesToSeenTokens[node].Contains(t)) { - isPairNode = false; - break; + containedTokens.Add(t); } } - if (isPairNode) - { - myNodePairs[issuedNode] = node; - for (var t = issuedTokens.Item1; t < issuedTokens.Item2; t++) - { - nodesToSeenTokens[node].Remove(t); - } + nodesToIssuedTokens[issuedNode].AddTokensGroup(containedTokens); + + var isPairedNode = containedTokens.Count == issuedTokens.RightBorder - issuedTokens.StartToken; + if (!isPairedNode) continue; - nodesToIssuedTokens.Remove(issuedNode); + myNodePairs[issuedNode] = node; + for (var t = issuedTokens.StartToken; t < issuedTokens.RightBorder; t++) + { + nodesToSeenTokens[node].Remove(t); } + + nodesToIssuedTokens[issuedNode].FoundPairNode = true; } } @@ -105,17 +166,41 @@ private void FindNodesPairs(ulong startNode) { if (outgoingNodes.Count == 1) { - q.Enqueue((outgoingNodes[0], tokens)); + if (nodesToQueuedHashSets.TryGetValue(outgoingNodes[0], out var existingTokensSet)) + { + foreach (var token in nodesToSeenTokens[node]) + { + existingTokensSet.Add(token); + } + } + else + { + q.Enqueue((outgoingNodes[0], tokens)); + nodesToQueuedHashSets[outgoingNodes[0]] = tokens; + } } else { - nodesToIssuedTokens[node] = (nextToken, nextToken + outgoingNodes.Count); + nodesToIssuedTokens[node] = new IssuedTokens(nextToken, nextToken + outgoingNodes.Count); foreach (var outgoingNode in outgoingNodes) { - var newSet = new HashSet(nodesToSeenTokens[node]) { nextToken }; - nextToken++; + if (nodesToQueuedHashSets.TryGetValue(outgoingNode, out var existingTokensSet)) + { + foreach (var token in nodesToSeenTokens[node]) + { + existingTokensSet.Add(token); + } + + existingTokensSet.Add(nextToken); + } + else + { + var newSet = new HashSet(nodesToSeenTokens[node]) { nextToken }; + nodesToQueuedHashSets[outgoingNode] = newSet; + q.Enqueue((outgoingNode, newSet)); + } - q.Enqueue((outgoingNode, newSet)); + nextToken++; } } } From 2f20c825c2a95447eb451396c94f136820ab708c Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Tue, 23 Sep 2025 12:39:40 +0300 Subject: [PATCH 028/189] Refactoring cancer code --- .../Graph/Flamegraph/FlamegraphContext.cs | 214 ++++++++++-------- 1 file changed, 117 insertions(+), 97 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs index 6215d57b2..86b57f627 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs @@ -1,104 +1,111 @@ -using System.Collections; -using Ficus; +using Ficus; namespace FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph; -public class FlamegraphContext +file class IssuedTokens(int startToken, int rightBorder) { - private readonly Dictionary myIdsToNodes = []; - private readonly Dictionary> myEdges = []; - private readonly Dictionary> myReversedEdges = []; - private readonly Dictionary myNodePairs = []; + private int myNextIndex; - public HorizontalCompositeBlock Layout { get; } - public IReadOnlyDictionary IdsToNodes => myIdsToNodes; - public IReadOnlyDictionary> Edges => myEdges; - public IReadOnlyDictionary> ReversedEdges => myReversedEdges; - public IDictionary NodePairs => myNodePairs; + private readonly int?[] myMergedTokens = new int?[rightBorder - startToken]; - public FlamegraphContext(GrpcGraph graph) - { - foreach (var edge in graph.Edges) - { - AddEdge(myEdges, edge.FromNode, edge.ToNode); - AddEdge(myReversedEdges, edge.ToNode, edge.FromNode); - } + public bool FoundPairNode { get; set; } + public int StartToken { get; } = startToken; + public int RightBorder { get; } = rightBorder; - foreach (var node in graph.Nodes) - { - myIdsToNodes[node.Id] = node; - } - var startNode = graph.Nodes.FirstOrDefault(n => !myReversedEdges.ContainsKey(n.Id)); - if (startNode is null) throw new Exception("Graph does not contain a start node"); + public void AddTokensGroup(List tokens) + { + if (tokens.Count < 2) return; - var endNode = graph.Nodes.FirstOrDefault(n => !myEdges.ContainsKey(n.Id)); - if (endNode is null) throw new Exception("Graph does not contain an end node"); + foreach (var index in tokens.Select(token => token - StartToken)) + { + if (myMergedTokens[index] is { }) + { + throw new Exception("Some of the tokens already merged, can not merge twice"); + } - FindNodesPairs(startNode.Id); + myMergedTokens[index] = myNextIndex; + } - Layout = CreateLayout(startNode.Id, endNode.Id); + myNextIndex++; } - private class IssuedTokens(int startToken, int rightBorder) + public List> GroupOutgoingNodesByPaths(List outgoingNodes) { - private int myNextIndex; - - - private readonly int?[] myMergedTokens = new int?[rightBorder - startToken]; + if (myNextIndex is 0) + { + return outgoingNodes.Select(n => new List { n }).ToList(); + } + var result = new List>(); + var groupsLists = Enumerable.Range(0, myNextIndex).Select(_ => new List()).ToArray(); + foreach (var (mergedToken, node) in myMergedTokens.Zip(outgoingNodes)) + { + if (mergedToken is not { } token) + { + result.Add([node]); + continue; + } - public bool FoundPairNode { get; set; } - public int StartToken { get; } = startToken; - public int RightBorder { get; } = rightBorder; + groupsLists[token].Add(node); + } + result.AddRange(groupsLists); - public void AddTokensGroup(List tokens) - { - if (tokens.Count < 2) return; + return result; + } +} - foreach (var index in tokens.Select(token => token - StartToken)) - { - if (myMergedTokens[index] is { }) - { - throw new Exception("Some of the tokens already merged, can not merge twice"); - } +file class FlamegraphContextData +{ + public Dictionary IdsToNodes { get; } = []; + public Dictionary> Edges { get; } = []; + public Dictionary> ReversedEdges { get; } = []; + public Dictionary NodePairs { get; } = []; - myMergedTokens[index] = myNextIndex; - } + public ulong StartNode { get; set; } + public ulong EndNode { get; set; } +} - myNextIndex++; +file static class FlamegraphContextInitializer +{ + public static void Execute(GrpcGraph graph, FlamegraphContextData data) + { + foreach (var edge in graph.Edges) + { + AddEdge(data.Edges, edge.FromNode, edge.ToNode); + AddEdge(data.ReversedEdges, edge.ToNode, edge.FromNode); } - public List> GroupOutgoingNodesByPaths(List outgoingNodes) + foreach (var node in graph.Nodes) { - if (myNextIndex is 0) - { - return outgoingNodes.Select(n => new List { n }).ToList(); - } - - var result = new List>(); - var groupsLists = Enumerable.Range(0, myNextIndex).Select(_ => new List()).ToArray(); - foreach (var (mergedToken, node) in myMergedTokens.Zip(outgoingNodes)) - { - if (mergedToken is not { } token) - { - result.Add([node]); - continue; - } + data.IdsToNodes[node.Id] = node; + } - groupsLists[token].Add(node); - } + var startNode = graph.Nodes.FirstOrDefault(n => !data.ReversedEdges.ContainsKey(n.Id)); + if (startNode is null) throw new Exception("Graph does not contain a start node"); - result.AddRange(groupsLists); + var endNode = graph.Nodes.FirstOrDefault(n => !data.Edges.ContainsKey(n.Id)); + if (endNode is null) throw new Exception("Graph does not contain an end node"); + } - return result; + private static void AddEdge(Dictionary> map, ulong from, ulong to) + { + if (!map.TryGetValue(from, out var toNodes)) + { + toNodes = []; + map[from] = toNodes; } + + toNodes.Add(to); } +} - private void FindNodesPairs(ulong startNode) +file static class NodePairsFinder +{ + public static void Find(FlamegraphContextData data) { var processed = new HashSet(); var q = new Queue<(ulong, HashSet)>(); @@ -107,12 +114,12 @@ private void FindNodesPairs(ulong startNode) var nodesToSeenTokens = new Dictionary>(); var nodesToQueuedHashSets = new Dictionary>(); - foreach (var key in myIdsToNodes.Keys) + foreach (var key in data.IdsToNodes.Keys) { nodesToSeenTokens[key] = []; } - q.Enqueue((startNode, [])); + q.Enqueue((data.StartNode, [])); while (q.Count > 0) { @@ -123,7 +130,7 @@ private void FindNodesPairs(ulong startNode) } var anyIncomingNodeUnprocessed = false; - if (myReversedEdges.TryGetValue(node, out var incomingNodes)) + if (data.ReversedEdges.TryGetValue(node, out var incomingNodes)) { anyIncomingNodeUnprocessed = incomingNodes.Any(incomingNode => !processed.Contains(incomingNode)); } @@ -134,7 +141,7 @@ private void FindNodesPairs(ulong startNode) } nodesToQueuedHashSets.Remove(node); - if (myReversedEdges.TryGetValue(node, out incomingNodes) && incomingNodes.Count > 1) + if (data.ReversedEdges.TryGetValue(node, out incomingNodes) && incomingNodes.Count > 1) { foreach (var (issuedNode, issuedTokens) in nodesToIssuedTokens.Where(it => !it.Value.FoundPairNode)) { @@ -152,7 +159,7 @@ private void FindNodesPairs(ulong startNode) var isPairedNode = containedTokens.Count == issuedTokens.RightBorder - issuedTokens.StartToken; if (!isPairedNode) continue; - myNodePairs[issuedNode] = node; + data.NodePairs[issuedNode] = node; for (var t = issuedTokens.StartToken; t < issuedTokens.RightBorder; t++) { nodesToSeenTokens[node].Remove(t); @@ -162,7 +169,7 @@ private void FindNodesPairs(ulong startNode) } } - if (myEdges.TryGetValue(node, out var outgoingNodes)) + if (data.Edges.TryGetValue(node, out var outgoingNodes)) { if (outgoingNodes.Count == 1) { @@ -208,37 +215,31 @@ private void FindNodesPairs(ulong startNode) processed.Add(node); } } +} - private void AddEdge(Dictionary> map, ulong from, ulong to) - { - if (!map.TryGetValue(from, out var toNodes)) - { - toNodes = []; - map[from] = toNodes; - } - - toNodes.Add(to); - } - - private HorizontalCompositeBlock CreateLayout(ulong node, ulong endNode) +file static class FlamegraphLayoutCreator +{ + public static HorizontalCompositeBlock Create(FlamegraphContextData data) { - var layout = CreateBlockLayoutEndNodeNotInclusive(node, endNode); + var layout = CreateBlockLayoutEndNodeNotInclusive(data, data.StartNode, data.EndNode); layout.InnerBlocks.Add(new SequentialBasicBlock { - NodesSequence = [endNode] + NodesSequence = [data.EndNode] }); return layout; } - private HorizontalCompositeBlock CreateBlockLayoutEndNodeNotInclusive(ulong node, ulong endNode) + private static HorizontalCompositeBlock CreateBlockLayoutEndNodeNotInclusive( + FlamegraphContextData data, ulong startNode, ulong endNode) { var hBlock = new HorizontalCompositeBlock(); + var node = startNode; while (node != endNode) { - if (myNodePairs.TryGetValue(node, out var pairNode)) + if (data.NodePairs.TryGetValue(node, out var pairNode)) { hBlock.InnerBlocks.Add(new SequentialBasicBlock { @@ -247,7 +248,7 @@ private HorizontalCompositeBlock CreateBlockLayoutEndNodeNotInclusive(ulong node var block = new VerticalCompositeBlock(); - var outgoingNodes = myEdges[node]; + var outgoingNodes = data.Edges[node]; foreach (var (index, outgoingNode) in outgoingNodes.Index()) { if (outgoingNode == pairNode) @@ -256,13 +257,13 @@ private HorizontalCompositeBlock CreateBlockLayoutEndNodeNotInclusive(ulong node } else { - var outgoingNodeEndNode = myNodePairs.TryGetValue(outgoingNode, out var outgoingNodePair) switch + var outgoingNodeEndNode = data.NodePairs.TryGetValue(outgoingNode, out var outgoingNodePair) switch { true => outgoingNodePair, false => pairNode }; - block.InnerBlocks.Add(CreateBlockLayoutEndNodeNotInclusive(outgoingNode, outgoingNodeEndNode)); + block.InnerBlocks.Add(CreateBlockLayoutEndNodeNotInclusive(data, outgoingNode, outgoingNodeEndNode)); } if (index < outgoingNodes.Count - 1) @@ -280,11 +281,11 @@ private HorizontalCompositeBlock CreateBlockLayoutEndNodeNotInclusive(ulong node var nodesSequence = new List(); while (currentNode != endNode && - !myNodePairs.ContainsKey(currentNode) && - myEdges.ContainsKey(currentNode)) + !data.NodePairs.ContainsKey(currentNode) && + data.Edges.ContainsKey(currentNode)) { nodesSequence.Add(currentNode); - currentNode = myEdges[currentNode].First(); + currentNode = data.Edges[currentNode].First(); } hBlock.InnerBlocks.Add(new SequentialBasicBlock @@ -298,4 +299,23 @@ private HorizontalCompositeBlock CreateBlockLayoutEndNodeNotInclusive(ulong node return hBlock; } +} + +public class FlamegraphContext +{ + public HorizontalCompositeBlock Layout { get; } + public IReadOnlyDictionary IdsToNodes { get; } + + + public FlamegraphContext(GrpcGraph graph) + { + var data = new FlamegraphContextData(); + + FlamegraphContextInitializer.Execute(graph, data); + NodePairsFinder.Find(data); + + Layout = FlamegraphLayoutCreator.Create(data); + + IdsToNodes = data.IdsToNodes; + } } \ No newline at end of file From 8a4006b7fb730aac47ef0224e3bc81a5e7a1994c Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Tue, 23 Sep 2025 12:58:56 +0300 Subject: [PATCH 029/189] WIP --- .../Flamegraph/CompositeBlockRenderer.razor | 3 +- .../Flamegraph/Context/FlamegraphContext.cs | 22 ++ .../Context/FlamegraphContextData.cs | 14 + .../Context/FlamegraphContextInitializer.cs | 40 +++ .../Context/FlamegraphLayoutCreator.cs | 85 +++++ .../Graph/Flamegraph/Context/IssuedTokens.cs | 57 ++++ .../Flamegraph/Context/NodePairsFinder.cs | 115 +++++++ .../Graph/Flamegraph/FlamegraphContext.cs | 321 ------------------ .../Flamegraph/FlamegraphGraphRenderer.razor | 1 + .../Flamegraph/SequentialBlockRenderer.razor | 3 +- 10 files changed, 338 insertions(+), 323 deletions(-) create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContextData.cs create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContextInitializer.cs create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphLayoutCreator.cs create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/IssuedTokens.cs create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/NodePairsFinder.cs delete mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index 5e4fb4bdb..cce40da49 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -1,4 +1,5 @@ -
+@using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context +
@switch (Block) { case HorizontalCompositeBlock: diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs new file mode 100644 index 000000000..f906e35c4 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -0,0 +1,22 @@ +using Ficus; + +namespace FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context; + +public class FlamegraphContext +{ + public HorizontalCompositeBlock Layout { get; } + public IReadOnlyDictionary IdsToNodes { get; } + + + public FlamegraphContext(GrpcGraph graph) + { + var data = new FlamegraphContextData(); + + FlamegraphContextInitializer.Execute(graph, data); + NodePairsFinder.Find(data); + + Layout = FlamegraphLayoutCreator.Create(data); + + IdsToNodes = data.IdsToNodes; + } +} \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContextData.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContextData.cs new file mode 100644 index 000000000..97a63a576 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContextData.cs @@ -0,0 +1,14 @@ +using Ficus; + +namespace FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context; + +internal class FlamegraphContextData +{ + public Dictionary IdsToNodes { get; } = []; + public Dictionary> Edges { get; } = []; + public Dictionary> ReversedEdges { get; } = []; + public Dictionary NodePairs { get; } = []; + + public ulong StartNode { get; set; } + public ulong EndNode { get; set; } +} \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContextInitializer.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContextInitializer.cs new file mode 100644 index 000000000..f1c3172a3 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContextInitializer.cs @@ -0,0 +1,40 @@ +using Ficus; + +namespace FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context; + +internal static class FlamegraphContextInitializer +{ + public static void Execute(GrpcGraph graph, FlamegraphContextData data) + { + foreach (var edge in graph.Edges) + { + AddEdge(data.Edges, edge.FromNode, edge.ToNode); + AddEdge(data.ReversedEdges, edge.ToNode, edge.FromNode); + } + + foreach (var node in graph.Nodes) + { + data.IdsToNodes[node.Id] = node; + } + + var startNode = graph.Nodes.FirstOrDefault(n => !data.ReversedEdges.ContainsKey(n.Id)); + if (startNode is null) throw new Exception("Graph does not contain a start node"); + + var endNode = graph.Nodes.FirstOrDefault(n => !data.Edges.ContainsKey(n.Id)); + if (endNode is null) throw new Exception("Graph does not contain an end node"); + + data.StartNode = startNode.Id; + data.EndNode = endNode.Id; + } + + private static void AddEdge(Dictionary> map, ulong from, ulong to) + { + if (!map.TryGetValue(from, out var toNodes)) + { + toNodes = []; + map[from] = toNodes; + } + + toNodes.Add(to); + } +} \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphLayoutCreator.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphLayoutCreator.cs new file mode 100644 index 000000000..48200d798 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphLayoutCreator.cs @@ -0,0 +1,85 @@ +namespace FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context; + +internal static class FlamegraphLayoutCreator +{ + public static HorizontalCompositeBlock Create(FlamegraphContextData data) + { + var layout = CreateBlockLayoutEndNodeNotInclusive(data, data.StartNode, data.EndNode); + + layout.InnerBlocks.Add(new SequentialBasicBlock + { + NodesSequence = [data.EndNode] + }); + + return layout; + } + + private static HorizontalCompositeBlock CreateBlockLayoutEndNodeNotInclusive( + FlamegraphContextData data, ulong startNode, ulong endNode) + { + var hBlock = new HorizontalCompositeBlock(); + var node = startNode; + + while (node != endNode) + { + if (data.NodePairs.TryGetValue(node, out var pairNode)) + { + hBlock.InnerBlocks.Add(new SequentialBasicBlock + { + NodesSequence = [node] + }); + + var block = new VerticalCompositeBlock(); + + var outgoingNodes = data.Edges[node]; + foreach (var (index, outgoingNode) in outgoingNodes.Index()) + { + if (outgoingNode == pairNode) + { + block.InnerBlocks.Add(new EdgeBlock()); + } + else + { + var outgoingNodeEndNode = data.NodePairs.TryGetValue(outgoingNode, out var outgoingNodePair) switch + { + true => outgoingNodePair, + false => pairNode + }; + + block.InnerBlocks.Add(CreateBlockLayoutEndNodeNotInclusive(data, outgoingNode, outgoingNodeEndNode)); + } + + if (index < outgoingNodes.Count - 1) + { + block.InnerBlocks.Add(new SeparatorBlock()); + } + } + + hBlock.InnerBlocks.Add(block); + node = pairNode; + } + else + { + var currentNode = node; + var nodesSequence = new List(); + + while (currentNode != endNode && + !data.NodePairs.ContainsKey(currentNode) && + data.Edges.ContainsKey(currentNode)) + { + nodesSequence.Add(currentNode); + currentNode = data.Edges[currentNode].First(); + } + + hBlock.InnerBlocks.Add(new SequentialBasicBlock + { + NodesSequence = nodesSequence + }); + + node = currentNode; + } + } + + return hBlock; + } +} \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/IssuedTokens.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/IssuedTokens.cs new file mode 100644 index 000000000..98b4c73a9 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/IssuedTokens.cs @@ -0,0 +1,57 @@ +namespace FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context; + +internal class IssuedTokens(int startToken, int rightBorder) +{ + private int myNextIndex; + + + private readonly int?[] myMergedTokens = new int?[rightBorder - startToken]; + + + public bool FoundPairNode { get; set; } + public int StartToken { get; } = startToken; + public int RightBorder { get; } = rightBorder; + + + public void AddTokensGroup(List tokens) + { + if (tokens.Count < 2) return; + + foreach (var index in tokens.Select(token => token - StartToken)) + { + if (myMergedTokens[index] is { }) + { + throw new Exception("Some of the tokens already merged, can not merge twice"); + } + + myMergedTokens[index] = myNextIndex; + } + + myNextIndex++; + } + + public List> GroupOutgoingNodesByPaths(List outgoingNodes) + { + if (myNextIndex is 0) + { + return outgoingNodes.Select(n => new List { n }).ToList(); + } + + var result = new List>(); + var groupsLists = Enumerable.Range(0, myNextIndex).Select(_ => new List()).ToArray(); + foreach (var (mergedToken, node) in myMergedTokens.Zip(outgoingNodes)) + { + if (mergedToken is not { } token) + { + result.Add([node]); + continue; + } + + groupsLists[token].Add(node); + } + + result.AddRange(groupsLists); + + return result; + } +} \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/NodePairsFinder.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/NodePairsFinder.cs new file mode 100644 index 000000000..e1c701873 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/NodePairsFinder.cs @@ -0,0 +1,115 @@ +namespace FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context; + +internal static class NodePairsFinder +{ + public static void Find(FlamegraphContextData data) + { + var processed = new HashSet(); + var q = new Queue<(ulong, HashSet)>(); + var nextToken = 0; + var nodesToIssuedTokens = new Dictionary(); + var nodesToSeenTokens = new Dictionary>(); + var nodesToQueuedHashSets = new Dictionary>(); + + foreach (var key in data.IdsToNodes.Keys) + { + nodesToSeenTokens[key] = []; + } + + q.Enqueue((data.StartNode, [])); + + while (q.Count > 0) + { + var (node, tokens) = q.Dequeue(); + foreach (var token in tokens) + { + nodesToSeenTokens[node].Add(token); + } + + var anyIncomingNodeUnprocessed = false; + if (data.ReversedEdges.TryGetValue(node, out var incomingNodes)) + { + anyIncomingNodeUnprocessed = incomingNodes.Any(incomingNode => !processed.Contains(incomingNode)); + } + + if (anyIncomingNodeUnprocessed) + { + continue; + } + + nodesToQueuedHashSets.Remove(node); + if (data.ReversedEdges.TryGetValue(node, out incomingNodes) && incomingNodes.Count > 1) + { + foreach (var (issuedNode, issuedTokens) in nodesToIssuedTokens.Where(it => !it.Value.FoundPairNode)) + { + var containedTokens = new List(); + for (var t = issuedTokens.StartToken; t < issuedTokens.RightBorder; t++) + { + if (nodesToSeenTokens[node].Contains(t)) + { + containedTokens.Add(t); + } + } + + nodesToIssuedTokens[issuedNode].AddTokensGroup(containedTokens); + + var isPairedNode = containedTokens.Count == issuedTokens.RightBorder - issuedTokens.StartToken; + if (!isPairedNode) continue; + + data.NodePairs[issuedNode] = node; + for (var t = issuedTokens.StartToken; t < issuedTokens.RightBorder; t++) + { + nodesToSeenTokens[node].Remove(t); + } + + nodesToIssuedTokens[issuedNode].FoundPairNode = true; + } + } + + if (data.Edges.TryGetValue(node, out var outgoingNodes)) + { + if (outgoingNodes.Count == 1) + { + if (nodesToQueuedHashSets.TryGetValue(outgoingNodes[0], out var existingTokensSet)) + { + foreach (var token in nodesToSeenTokens[node]) + { + existingTokensSet.Add(token); + } + } + else + { + q.Enqueue((outgoingNodes[0], tokens)); + nodesToQueuedHashSets[outgoingNodes[0]] = tokens; + } + } + else + { + nodesToIssuedTokens[node] = new IssuedTokens(nextToken, nextToken + outgoingNodes.Count); + foreach (var outgoingNode in outgoingNodes) + { + if (nodesToQueuedHashSets.TryGetValue(outgoingNode, out var existingTokensSet)) + { + foreach (var token in nodesToSeenTokens[node]) + { + existingTokensSet.Add(token); + } + + existingTokensSet.Add(nextToken); + } + else + { + var newSet = new HashSet(nodesToSeenTokens[node]) { nextToken }; + nodesToQueuedHashSets[outgoingNode] = newSet; + q.Enqueue((outgoingNode, newSet)); + } + + nextToken++; + } + } + } + + processed.Add(node); + } + } +} \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs deleted file mode 100644 index 86b57f627..000000000 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphContext.cs +++ /dev/null @@ -1,321 +0,0 @@ -using Ficus; - -namespace FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph; - -file class IssuedTokens(int startToken, int rightBorder) -{ - private int myNextIndex; - - - private readonly int?[] myMergedTokens = new int?[rightBorder - startToken]; - - - public bool FoundPairNode { get; set; } - public int StartToken { get; } = startToken; - public int RightBorder { get; } = rightBorder; - - - public void AddTokensGroup(List tokens) - { - if (tokens.Count < 2) return; - - foreach (var index in tokens.Select(token => token - StartToken)) - { - if (myMergedTokens[index] is { }) - { - throw new Exception("Some of the tokens already merged, can not merge twice"); - } - - myMergedTokens[index] = myNextIndex; - } - - myNextIndex++; - } - - public List> GroupOutgoingNodesByPaths(List outgoingNodes) - { - if (myNextIndex is 0) - { - return outgoingNodes.Select(n => new List { n }).ToList(); - } - - var result = new List>(); - var groupsLists = Enumerable.Range(0, myNextIndex).Select(_ => new List()).ToArray(); - foreach (var (mergedToken, node) in myMergedTokens.Zip(outgoingNodes)) - { - if (mergedToken is not { } token) - { - result.Add([node]); - continue; - } - - groupsLists[token].Add(node); - } - - result.AddRange(groupsLists); - - return result; - } -} - -file class FlamegraphContextData -{ - public Dictionary IdsToNodes { get; } = []; - public Dictionary> Edges { get; } = []; - public Dictionary> ReversedEdges { get; } = []; - public Dictionary NodePairs { get; } = []; - - public ulong StartNode { get; set; } - public ulong EndNode { get; set; } -} - -file static class FlamegraphContextInitializer -{ - public static void Execute(GrpcGraph graph, FlamegraphContextData data) - { - foreach (var edge in graph.Edges) - { - AddEdge(data.Edges, edge.FromNode, edge.ToNode); - AddEdge(data.ReversedEdges, edge.ToNode, edge.FromNode); - } - - foreach (var node in graph.Nodes) - { - data.IdsToNodes[node.Id] = node; - } - - var startNode = graph.Nodes.FirstOrDefault(n => !data.ReversedEdges.ContainsKey(n.Id)); - if (startNode is null) throw new Exception("Graph does not contain a start node"); - - var endNode = graph.Nodes.FirstOrDefault(n => !data.Edges.ContainsKey(n.Id)); - if (endNode is null) throw new Exception("Graph does not contain an end node"); - } - - private static void AddEdge(Dictionary> map, ulong from, ulong to) - { - if (!map.TryGetValue(from, out var toNodes)) - { - toNodes = []; - map[from] = toNodes; - } - - toNodes.Add(to); - } -} - -file static class NodePairsFinder -{ - public static void Find(FlamegraphContextData data) - { - var processed = new HashSet(); - var q = new Queue<(ulong, HashSet)>(); - var nextToken = 0; - var nodesToIssuedTokens = new Dictionary(); - var nodesToSeenTokens = new Dictionary>(); - var nodesToQueuedHashSets = new Dictionary>(); - - foreach (var key in data.IdsToNodes.Keys) - { - nodesToSeenTokens[key] = []; - } - - q.Enqueue((data.StartNode, [])); - - while (q.Count > 0) - { - var (node, tokens) = q.Dequeue(); - foreach (var token in tokens) - { - nodesToSeenTokens[node].Add(token); - } - - var anyIncomingNodeUnprocessed = false; - if (data.ReversedEdges.TryGetValue(node, out var incomingNodes)) - { - anyIncomingNodeUnprocessed = incomingNodes.Any(incomingNode => !processed.Contains(incomingNode)); - } - - if (anyIncomingNodeUnprocessed) - { - continue; - } - - nodesToQueuedHashSets.Remove(node); - if (data.ReversedEdges.TryGetValue(node, out incomingNodes) && incomingNodes.Count > 1) - { - foreach (var (issuedNode, issuedTokens) in nodesToIssuedTokens.Where(it => !it.Value.FoundPairNode)) - { - var containedTokens = new List(); - for (var t = issuedTokens.StartToken; t < issuedTokens.RightBorder; t++) - { - if (nodesToSeenTokens[node].Contains(t)) - { - containedTokens.Add(t); - } - } - - nodesToIssuedTokens[issuedNode].AddTokensGroup(containedTokens); - - var isPairedNode = containedTokens.Count == issuedTokens.RightBorder - issuedTokens.StartToken; - if (!isPairedNode) continue; - - data.NodePairs[issuedNode] = node; - for (var t = issuedTokens.StartToken; t < issuedTokens.RightBorder; t++) - { - nodesToSeenTokens[node].Remove(t); - } - - nodesToIssuedTokens[issuedNode].FoundPairNode = true; - } - } - - if (data.Edges.TryGetValue(node, out var outgoingNodes)) - { - if (outgoingNodes.Count == 1) - { - if (nodesToQueuedHashSets.TryGetValue(outgoingNodes[0], out var existingTokensSet)) - { - foreach (var token in nodesToSeenTokens[node]) - { - existingTokensSet.Add(token); - } - } - else - { - q.Enqueue((outgoingNodes[0], tokens)); - nodesToQueuedHashSets[outgoingNodes[0]] = tokens; - } - } - else - { - nodesToIssuedTokens[node] = new IssuedTokens(nextToken, nextToken + outgoingNodes.Count); - foreach (var outgoingNode in outgoingNodes) - { - if (nodesToQueuedHashSets.TryGetValue(outgoingNode, out var existingTokensSet)) - { - foreach (var token in nodesToSeenTokens[node]) - { - existingTokensSet.Add(token); - } - - existingTokensSet.Add(nextToken); - } - else - { - var newSet = new HashSet(nodesToSeenTokens[node]) { nextToken }; - nodesToQueuedHashSets[outgoingNode] = newSet; - q.Enqueue((outgoingNode, newSet)); - } - - nextToken++; - } - } - } - - processed.Add(node); - } - } -} - -file static class FlamegraphLayoutCreator -{ - public static HorizontalCompositeBlock Create(FlamegraphContextData data) - { - var layout = CreateBlockLayoutEndNodeNotInclusive(data, data.StartNode, data.EndNode); - - layout.InnerBlocks.Add(new SequentialBasicBlock - { - NodesSequence = [data.EndNode] - }); - - return layout; - } - - private static HorizontalCompositeBlock CreateBlockLayoutEndNodeNotInclusive( - FlamegraphContextData data, ulong startNode, ulong endNode) - { - var hBlock = new HorizontalCompositeBlock(); - var node = startNode; - - while (node != endNode) - { - if (data.NodePairs.TryGetValue(node, out var pairNode)) - { - hBlock.InnerBlocks.Add(new SequentialBasicBlock - { - NodesSequence = [node] - }); - - var block = new VerticalCompositeBlock(); - - var outgoingNodes = data.Edges[node]; - foreach (var (index, outgoingNode) in outgoingNodes.Index()) - { - if (outgoingNode == pairNode) - { - block.InnerBlocks.Add(new EdgeBlock()); - } - else - { - var outgoingNodeEndNode = data.NodePairs.TryGetValue(outgoingNode, out var outgoingNodePair) switch - { - true => outgoingNodePair, - false => pairNode - }; - - block.InnerBlocks.Add(CreateBlockLayoutEndNodeNotInclusive(data, outgoingNode, outgoingNodeEndNode)); - } - - if (index < outgoingNodes.Count - 1) - { - block.InnerBlocks.Add(new SeparatorBlock()); - } - } - - hBlock.InnerBlocks.Add(block); - node = pairNode; - } - else - { - var currentNode = node; - var nodesSequence = new List(); - - while (currentNode != endNode && - !data.NodePairs.ContainsKey(currentNode) && - data.Edges.ContainsKey(currentNode)) - { - nodesSequence.Add(currentNode); - currentNode = data.Edges[currentNode].First(); - } - - hBlock.InnerBlocks.Add(new SequentialBasicBlock - { - NodesSequence = nodesSequence - }); - - node = currentNode; - } - } - - return hBlock; - } -} - -public class FlamegraphContext -{ - public HorizontalCompositeBlock Layout { get; } - public IReadOnlyDictionary IdsToNodes { get; } - - - public FlamegraphContext(GrpcGraph graph) - { - var data = new FlamegraphContextData(); - - FlamegraphContextInitializer.Execute(graph, data); - NodePairsFinder.Find(data); - - Layout = FlamegraphLayoutCreator.Create(data); - - IdsToNodes = data.IdsToNodes; - } -} \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index 308ac9dae..a1ca3e61c 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -1,4 +1,5 @@ @using Ficus +@using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context @inject ILogger Logger; diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index 6a99fc7c7..6e1a57460 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -1,4 +1,5 @@ -
+@using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context +
@foreach (var (index, node) in Block.NodesSequence.Index()) {
Date: Tue, 23 Sep 2025 16:20:58 +0300 Subject: [PATCH 034/189] Refactorings --- .../Context/FlamegraphLayoutCreator.cs | 97 +++++++++++-------- 1 file changed, 56 insertions(+), 41 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphLayoutCreator.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphLayoutCreator.cs index 5df7694b6..dd7bd0a33 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphLayoutCreator.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphLayoutCreator.cs @@ -22,64 +22,79 @@ private static HorizontalCompositeBlock CreateBlockLayoutEndNodeNotInclusive( while (node != endNode) { - if (data.NodePairs.TryGetValue(node, out var pairNode)) + if (data.NodePairs.TryGetValue(node, out var nodePair)) { hBlock.InnerBlocks.Add(new SequentialBasicBlock { NodesSequence = [node] }); - var block = new VerticalCompositeBlock(); - - var outgoingNodes = data.Edges[node]; - foreach (var (index, outgoingNode) in outgoingNodes.Index()) - { - if (outgoingNode == pairNode.PairedNode) - { - block.InnerBlocks.Add(new EdgeBlock()); - } - else - { - var outgoingNodeEndNode = data.NodePairs.TryGetValue(outgoingNode, out var outgoingNodePair) switch - { - true => outgoingNodePair, - false => pairNode - }; - - block.InnerBlocks.Add(CreateBlockLayoutEndNodeNotInclusive(data, outgoingNode, outgoingNodeEndNode.PairedNode)); - } - - if (index < outgoingNodes.Count - 1) - { - block.InnerBlocks.Add(new SeparatorBlock()); - } - } + var block = CreateVerticalBlock(data, node, nodePair); hBlock.InnerBlocks.Add(block); - node = pairNode.PairedNode; + node = nodePair.PairedNode; } else { - var currentNode = node; - var nodesSequence = new List(); + var (block, blockEndNode) = CreateSequentialBlock(data, node, endNode); + hBlock.InnerBlocks.Add(block); + node = blockEndNode; + } + } - while (currentNode != endNode && - !data.NodePairs.ContainsKey(currentNode) && - data.Edges.ContainsKey(currentNode)) - { - nodesSequence.Add(currentNode); - currentNode = data.Edges[currentNode].First(); - } + return hBlock; + } - hBlock.InnerBlocks.Add(new SequentialBasicBlock + private static VerticalCompositeBlock CreateVerticalBlock(FlamegraphContextData data, ulong node, NodePair nodePair) + { + var block = new VerticalCompositeBlock(); + + var outgoingNodes = data.Edges[node]; + foreach (var (index, outgoingNode) in outgoingNodes.Index()) + { + if (outgoingNode == nodePair.PairedNode) + { + block.InnerBlocks.Add(new EdgeBlock()); + } + else + { + var outgoingNodeEndNode = data.NodePairs.TryGetValue(outgoingNode, out var outgoingNodePair) switch { - NodesSequence = nodesSequence - }); + true => outgoingNodePair, + false => nodePair + }; + + block.InnerBlocks.Add(CreateBlockLayoutEndNodeNotInclusive(data, outgoingNode, outgoingNodeEndNode.PairedNode)); + } - node = currentNode; + if (index < outgoingNodes.Count - 1) + { + block.InnerBlocks.Add(new SeparatorBlock()); } } - return hBlock; + return block; + } + + private static (SequentialBasicBlock Block, ulong NextNode) CreateSequentialBlock( + FlamegraphContextData data, ulong node, ulong endNode) + { + var currentNode = node; + var nodesSequence = new List(); + + while (currentNode != endNode && + !data.NodePairs.ContainsKey(currentNode) && + data.Edges.ContainsKey(currentNode)) + { + nodesSequence.Add(currentNode); + currentNode = data.Edges[currentNode].First(); + } + + var block = new SequentialBasicBlock + { + NodesSequence = nodesSequence + }; + + return (block, currentNode); } } \ No newline at end of file From 158ed4f8ce670c88370d1a275f21a6744ed7522d Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Tue, 23 Sep 2025 21:16:46 +0300 Subject: [PATCH 035/189] Making rendering work --- .../Flamegraph/CompositeBlockRenderer.razor | 2 +- .../Flamegraph/Context/FlamegraphContext.cs | 2 +- .../Context/FlamegraphLayoutCreator.cs | 102 ++++++++++++++---- .../Flamegraph/FlamegraphGraphRenderer.razor | 6 +- .../Graph/GraphLikeEntitySettings.razor | 7 +- 5 files changed, 87 insertions(+), 32 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index cce40da49..af764f02b 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -1,5 +1,5 @@ @using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context -
+
@switch (Block) { case HorizontalCompositeBlock: diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index a73a4aedc..9a736245a 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -15,7 +15,7 @@ public FlamegraphContext(GrpcGraph graph) FlamegraphContextInitializer.Execute(graph, data); new NodePairsFinder().Find(data); - Layout = FlamegraphLayoutCreator.Create(data); + Layout = new FlamegraphLayoutCreator().Create(data); IdsToNodes = data.IdsToNodes; } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphLayoutCreator.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphLayoutCreator.cs index dd7bd0a33..6b4d338e9 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphLayoutCreator.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphLayoutCreator.cs @@ -1,20 +1,20 @@ namespace FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context; -internal static class FlamegraphLayoutCreator +internal class FlamegraphLayoutCreator { - public static HorizontalCompositeBlock Create(FlamegraphContextData data) + private readonly HashSet myAddedNodes = []; + + + public HorizontalCompositeBlock Create(FlamegraphContextData data) { var layout = CreateBlockLayoutEndNodeNotInclusive(data, data.StartNode, data.EndNode); - layout.InnerBlocks.Add(new SequentialBasicBlock - { - NodesSequence = [data.EndNode] - }); + AddSingleNodeSequentialBlockIfNeeded(layout, data.EndNode); return layout; } - private static HorizontalCompositeBlock CreateBlockLayoutEndNodeNotInclusive( + private HorizontalCompositeBlock CreateBlockLayoutEndNodeNotInclusive( FlamegraphContextData data, ulong startNode, ulong endNode) { var hBlock = new HorizontalCompositeBlock(); @@ -24,12 +24,9 @@ private static HorizontalCompositeBlock CreateBlockLayoutEndNodeNotInclusive( { if (data.NodePairs.TryGetValue(node, out var nodePair)) { - hBlock.InnerBlocks.Add(new SequentialBasicBlock - { - NodesSequence = [node] - }); + AddSingleNodeSequentialBlockIfNeeded(hBlock, node); - var block = CreateVerticalBlock(data, node, nodePair); + var block = CreateVerticalBlock(data, nodePair); hBlock.InnerBlocks.Add(block); node = nodePair.PairedNode; @@ -42,16 +39,60 @@ private static HorizontalCompositeBlock CreateBlockLayoutEndNodeNotInclusive( } } + if (hBlock.InnerBlocks.Count > 0 && hBlock.InnerBlocks.Last() is VerticalCompositeBlock) + { + AddSingleNodeSequentialBlockIfNeeded(hBlock, endNode); + } + return hBlock; } - private static VerticalCompositeBlock CreateVerticalBlock(FlamegraphContextData data, ulong node, NodePair nodePair) + private VerticalCompositeBlock CreateVerticalBlock(FlamegraphContextData data, NodePair nodePair) { var block = new VerticalCompositeBlock(); - var outgoingNodes = data.Edges[node]; - foreach (var (index, outgoingNode) in outgoingNodes.Index()) + foreach (var (index, path) in nodePair.Paths.Index()) { + if (path.PathNodes.Count > 1) + { + if (!path.SyncNode.HasValue) + { + throw new Exception("SyncNode was null when path contains several starting nodes"); + } + + var innerVerticalBlock = new VerticalCompositeBlock(); + + foreach (var (pathNodesIndex, pathNode) in path.PathNodes.Index()) + { + innerVerticalBlock.InnerBlocks.Add((pathNode == path.SyncNode.Value) switch + { + true => new EdgeBlock(), + false => CreateBlockLayoutEndNodeNotInclusive(data, pathNode, path.SyncNode.Value) + }); + + if (pathNodesIndex < path.PathNodes.Count - 1) + { + innerVerticalBlock.InnerBlocks.Add(new SeparatorBlock()); + } + } + + var nextHorizontalBlock = CreateBlockLayoutEndNodeNotInclusive(data, path.SyncNode.Value, nodePair.PairedNode); + + var innerHorizontalBlock = new HorizontalCompositeBlock + { + InnerBlocks = + { + innerVerticalBlock, + nextHorizontalBlock, + } + }; + + block.InnerBlocks.Add(innerHorizontalBlock); + + continue; + } + + var outgoingNode = path.PathNodes[0]; if (outgoingNode == nodePair.PairedNode) { block.InnerBlocks.Add(new EdgeBlock()); @@ -67,7 +108,7 @@ private static VerticalCompositeBlock CreateVerticalBlock(FlamegraphContextData block.InnerBlocks.Add(CreateBlockLayoutEndNodeNotInclusive(data, outgoingNode, outgoingNodeEndNode.PairedNode)); } - if (index < outgoingNodes.Count - 1) + if (index < nodePair.Paths.Count - 1) { block.InnerBlocks.Add(new SeparatorBlock()); } @@ -76,8 +117,7 @@ private static VerticalCompositeBlock CreateVerticalBlock(FlamegraphContextData return block; } - private static (SequentialBasicBlock Block, ulong NextNode) CreateSequentialBlock( - FlamegraphContextData data, ulong node, ulong endNode) + private (SequentialBasicBlock Block, ulong NextNode) CreateSequentialBlock(FlamegraphContextData data, ulong node, ulong endNode) { var currentNode = node; var nodesSequence = new List(); @@ -90,11 +130,29 @@ private static (SequentialBasicBlock Block, ulong NextNode) CreateSequentialBloc currentNode = data.Edges[currentNode].First(); } - var block = new SequentialBasicBlock - { - NodesSequence = nodesSequence - }; + var block = CreateSequentialBlock(nodesSequence); return (block, currentNode); } + + private void AddSingleNodeSequentialBlockIfNeeded(HorizontalCompositeBlock block, ulong node) + { + if (!myAddedNodes.Contains(node)) + { + block.InnerBlocks.Add(CreateSequentialBlock([node])); + } + } + + private SequentialBasicBlock CreateSequentialBlock(List nodes) + { + foreach (var node in nodes) + { + myAddedNodes.Add(node); + } + + return new SequentialBasicBlock + { + NodesSequence = nodes.ToList() + }; + } } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index a1ca3e61c..8e8a88d15 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -1,11 +1,11 @@ @using Ficus @using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context -@inject ILogger Logger; - @if (myContext is { }) { - +
+ +
} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor index 7b3ab9f7a..468014b6a 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor @@ -22,11 +22,8 @@ - @if (Kind is GrpcGraphKind.DagLcs) - { - - } + Date: Tue, 23 Sep 2025 21:32:12 +0300 Subject: [PATCH 036/189] Fix rendering extra edge before vertical blocks --- .../Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index af764f02b..3d20b4022 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -38,13 +38,16 @@
break; - default: + case CompositeBlockBase compositeBlock: { var height = block.CalculateHeight() * FlamegraphConstants.Height;
-
-
+ @if (compositeBlock is HorizontalCompositeBlock { InnerBlocks: { Count: > 0 } items } && items[0] is not VerticalCompositeBlock) + { +
+
+ } @RenderBlock(block) From da3d970542d7036c9036d1d99708d81001595753 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Tue, 23 Sep 2025 21:45:33 +0300 Subject: [PATCH 037/189] Automatically determine whether we can render flamegraph --- .../Flamegraph/Context/FlamegraphContext.cs | 12 ++++++++ .../Flamegraph/FlamegraphGraphRenderer.razor | 28 ++++--------------- .../Graph/GraphLikeEntitySettings.razor | 12 ++++---- .../Canvas/Graph/GraphRenderer.razor | 11 ++++++-- 4 files changed, 32 insertions(+), 31 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index 9a736245a..890c898da 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -4,6 +4,18 @@ namespace FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegra public class FlamegraphContext { + public static FlamegraphContext? TryCreate(GrpcGraph graph) + { + try + { + return new FlamegraphContext(graph); + } + catch + { + return null; + } + } + public HorizontalCompositeBlock Layout { get; } public IReadOnlyDictionary IdsToNodes { get; } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index 8e8a88d15..5151d096c 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -1,27 +1,9 @@ -@using Ficus -@using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context - -@if (myContext is { }) -{ -
- -
-} +@using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context +
+ +
@code { - [Parameter] public required GrpcGraph Graph { get; init; } - - private FlamegraphContext? myContext; - - protected override void OnParametersSet() - { - base.OnParametersSet(); - InitializeFlamegraphInfo(); - } - - private void InitializeFlamegraphInfo() - { - myContext = new FlamegraphContext(Graph); - } + [Parameter] public required FlamegraphContext Context { get; init; } } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor index 468014b6a..df47c3f5c 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor @@ -1,5 +1,4 @@ -@using Ficus -@using Radzen +@using Radzen @using Radzen.Blazor
UseEventClassesAsLabels = newValue)" Title="Event Classes as Name"/> - + @if (CanRenderFlamegraph) + { + + } ? Enhancements { get; init; } - [Parameter] public required GrpcGraphKind Kind { get; init; } [Parameter] public RenderFragment? ChildContent { get; init; } + [Parameter] public required bool CanRenderFlamegraph { get; init; } private EnhancementsSettings? myEnhancementsSettings; diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor index 15b1abd90..2d8377ec9 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor @@ -1,6 +1,7 @@ @using System.Globalization @using Ficus @using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph +@using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context @using FicusDashboard.Layout.Models @using Radzen.Blazor @inject IJSRuntime Js @@ -8,7 +9,9 @@
- + Rerender Export to SVG @@ -18,9 +21,9 @@
- @if (mySettings?.RenderDagLcsInFlamegraphMode ?? false) + @if (mySettings is { RenderDagLcsInFlamegraphMode: true }) { - + }
@@ -43,11 +46,13 @@ private List? myEnhancements; private CanvasComponent? myCanvasComponent; private AggregatedData? myAggregatedData; + private FlamegraphContext? myContext; protected override void OnParametersSet() { myEnhancements = FindAllEnhancements(Graph); + myContext = FlamegraphContext.TryCreate(Graph); } private List FindAllEnhancements(GrpcGraph graph) From 36a1e48b8f0007171cfd9c7856c8d8ad7cf51703 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Wed, 24 Sep 2025 21:19:17 +0300 Subject: [PATCH 038/189] Move flamegraph to appropriate place --- .../Canvas/Graph/GraphRenderer.razor | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor index 2d8377ec9..af00c06ae 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor @@ -16,16 +16,18 @@ Export to SVG -
- -
+ @if (mySettings is { RenderDagLcsInFlamegraphMode: true }) + { + + } + else + { +
+ +
+ }
- @if (mySettings is { RenderDagLcsInFlamegraphMode: true }) - { - - } -
@if (myAggregatedData is { IsEmpty: false } data) { From 64a3215d2896923f4b21f982578e9d2d0e116a95 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Thu, 25 Sep 2025 18:07:39 +0300 Subject: [PATCH 039/189] UI improvements --- .../Canvas/Graph/GraphRenderer.razor | 18 +++++++++--------- .../FicusDashboard/wwwroot/css/app.css | 8 +++++--- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor index af00c06ae..69f59c0f7 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor @@ -16,16 +16,16 @@ Export to SVG - @if (mySettings is { RenderDagLcsInFlamegraphMode: true }) - { - - } - else - { -
+
+ @if (mySettings is { RenderDagLcsInFlamegraphMode: true }) + { + + } + else + { -
- } + } +
diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css b/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css index 0a0990af9..8ae6ed7bd 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css @@ -43,6 +43,9 @@ html, body { --new-notification-color: greenyellow; --updated--notification-color: yellow; --seen-notification-color: grey; + + --flamegraph-node-background: #202020; + --flamegraph-edge-background: #3b3b3b; -moz-user-select: none; /* Firefox */ -ms-user-select: none; /* Internet Explorer */ @@ -240,14 +243,13 @@ svg-pie-chart svg { } .flamegraph-node { - background: red; - border: solid 1px black; + background: var(--flamegraph-node-background); writing-mode: vertical-rl; text-align: center; } .flamegraph-edge { - background: yellow; + background: var(--flamegraph-edge-background); } .flamegraph-separator-edge { From dd98fea3afe57fc401ad88d7e469c30f423ba0d3 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 26 Sep 2025 17:39:20 +0300 Subject: [PATCH 040/189] WIP on rendering enhancements on flamegraph --- .../Canvas/Graph/AggregatedDataModels.cs | 7 ++++ .../Flamegraph/CompositeBlockRenderer.razor | 3 +- .../Flamegraph/Context/FlamegraphContext.cs | 11 ++++-- .../Flamegraph/FlamegraphGraphRenderer.razor | 31 +++++++++++++--- .../Flamegraph/SequentialBlockRenderer.razor | 4 +-- .../Canvas/Graph/GraphRenderer.razor | 13 +++++-- .../Npm/src/graph/graph_elements.ts | 36 ++++++++++++++++--- .../Npm/src/graph/graph_renderer.ts | 6 +++- .../FicusDashboard/Npm/src/graph/types.ts | 4 ++- .../FicusDashboard/Npm/src/graph/util.ts | 1 - 10 files changed, 97 insertions(+), 19 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/AggregatedDataModels.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/AggregatedDataModels.cs index 4eec3a53b..8f01a999a 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/AggregatedDataModels.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/AggregatedDataModels.cs @@ -11,6 +11,13 @@ public class AggregatedData public bool IsEmpty => GlobalSoftwareData.IsEmpty; } +public class EnhancedEdge +{ + public ulong Id { get; set; } + public string Html { get; set; } + public string Color { get; set; } +} + public class MergedSoftwareData { public Dictionary>> Histograms { get; set; } = new(); diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index 3d20b4022..477d6299f 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -68,7 +68,7 @@ @code { [Parameter] public required CompositeBlockBase Block { get; init; } - [Parameter] public required FlamegraphContext Context { get; init; } + [Parameter] public required FlamegraphRenderingContext Context { get; init; } private RenderFragment RenderBlock(BasicBlock block) => block switch { @@ -77,5 +77,4 @@ Context="Context"/>, _ => throw new ArgumentOutOfRangeException(nameof(block)) }; - } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index 890c898da..922a1f9da 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -18,10 +18,11 @@ public class FlamegraphContext public HorizontalCompositeBlock Layout { get; } public IReadOnlyDictionary IdsToNodes { get; } + public GrpcGraph Graph { get; } - - public FlamegraphContext(GrpcGraph graph) + private FlamegraphContext(GrpcGraph graph) { + Graph = graph; var data = new FlamegraphContextData(); FlamegraphContextInitializer.Execute(graph, data); @@ -31,4 +32,10 @@ public FlamegraphContext(GrpcGraph graph) IdsToNodes = data.IdsToNodes; } +} + +public class FlamegraphRenderingContext +{ + public required FlamegraphContext Context { get; init; } + public required Dictionary EnhancedEdges { get; init; } } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index 5151d096c..62680b0d7 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -1,9 +1,32 @@ -@using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context +@using Ficus +@using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context -
- -
+@inject IJSRuntime Js; + +@if (myRenderingContext is { }) +{ +
+ +
+} @code { [Parameter] public required FlamegraphContext Context { get; init; } + [Parameter] public required GraphLikeEntitySettings Settings { get; init; } + [Parameter] public required AggregatedData AggregatedData { get; init; } + [Parameter] public required GrpcAnnotation? Annotation { get; init; } + + private FlamegraphRenderingContext? myRenderingContext; + + protected override async Task OnParametersSetAsync() + { + var enhancedEdges = await Js.InvokeAsync( + "createEnhancedEdges", Context.Graph, Annotation, AggregatedData, Settings.SelectedEnhancements, Settings.Filter); + + myRenderingContext = new FlamegraphRenderingContext + { + Context = Context, + EnhancedEdges = enhancedEdges.ToDictionary(e => e.Id, e => e) + }; + } } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index 6e1a57460..725696e04 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -5,7 +5,7 @@
- @Context.IdsToNodes[node].Data + @Context.Context.IdsToNodes[node].Data
@if (index < Block.NodesSequence.Count - 1) @@ -19,5 +19,5 @@ @code { [Parameter] public required SequentialBasicBlock Block { get; init; } - [Parameter] public required FlamegraphContext Context { get; init; } + [Parameter] public required FlamegraphRenderingContext Context { get; init; } } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor index 69f59c0f7..72f9c69dc 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor @@ -19,7 +19,10 @@
@if (mySettings is { RenderDagLcsInFlamegraphMode: true }) { - + } else { @@ -170,7 +173,13 @@ private string CreateExportFileName() => ProcessCaseData.ProcessData.ProcessName + "_" + ProcessCaseData.Case.DisplayName + "_graph"; - private void ReRenderCanvas() => myCanvasComponent?.ReRenderCanvas(); + private void ReRenderCanvas() + { + if (!mySettings.RenderDagLcsInFlamegraphMode) + { + myCanvasComponent?.ReRenderCanvas(); + } + } private Task ExportGraph() => myCanvasComponent is { } ? myCanvasComponent.ExportGraph(CreateExportFileName()) : Task.CompletedTask; diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts index 2fe635e71..3685e1ffb 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts @@ -12,7 +12,14 @@ import {GrpcAnnotation} from "../protos/ficus/GrpcAnnotation"; import {GrpcGraphNode} from "../protos/ficus/GrpcGraphNode"; import {GrpcGraphEdge} from "../protos/ficus/GrpcGraphEdge"; import cytoscape from "cytoscape"; -import {AggregatedData, CountAndSum, MergedSoftwareData, ValueWithUnits} from "./types"; +import { + AggregatedData, + GraphEdge, + MergedSoftwareData, + SoftwareEnhancementKind, + ValueWithUnits +} from "./types"; +import {createEdgeHtmlLabel} from "./labels/edge_html_label"; const graphColor = graphColors(darkTheme); @@ -122,7 +129,7 @@ function buildEdgesTimeAnnotationMap(annotation: GrpcAnnotation): Record, second: Map) { } } -export function createGraphEdgesElements( +export function createEnhancedEdges( + graph: GrpcGraph, + annotation: GrpcAnnotation, + aggregatedData: AggregatedData, + enhancements: SoftwareEnhancementKind[], + filter: RegExp | null, +) { + let performanceEdgesMap = buildEdgesTimeAnnotationMap(annotation); + let elements = createGraphEdgesElements(graph.edges, performanceEdgesMap, aggregatedData, filter); + + return elements.map(e => { + (e).data.aggregatedData = aggregatedData; + + return { + id: Number.parseInt(e.data.id), + html: createEdgeHtmlLabel(e.data as GraphEdge, enhancements), + color: e.data.color, + } + }); +} + +function createGraphEdgesElements( edges: GrpcGraphEdge[], performanceMap: Record, aggregatedData: AggregatedData, diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_renderer.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_renderer.ts index 3d30004b0..92c800e7c 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_renderer.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_renderer.ts @@ -2,7 +2,10 @@ import cytoscape from 'cytoscape'; import {darkTheme, graphColors} from "../colors"; import {createNodeHtmlLabel, createNodeHtmlLabelId} from "./labels/node_html_label"; import {createEdgeHtmlLabel} from "./labels/edge_html_label"; -import {createAggregatedData, createGraphElements} from "./graph_elements"; +import { + createAggregatedData, createEnhancedEdges, + createGraphElements +} from "./graph_elements"; import {GrpcGraph} from "../protos/ficus/GrpcGraph"; import {GrpcAnnotation} from "../protos/ficus/GrpcAnnotation"; import {AggregatedData, GraphEdge, GraphNode, SoftwareEnhancementKind} from "./types"; @@ -20,6 +23,7 @@ export default setDrawGraph; function setDrawGraph() { (window).drawGraph = drawGraph; (window).createAggregatedData = createAggregatedData; + (window).createEnhancedEdges = createEnhancedEdges; } function drawGraph( diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/types.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/types.ts index f0f90a211..98ffbf1d3 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/types.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/types.ts @@ -20,7 +20,9 @@ export interface GraphEdge { enhancementData: MergedEnhancementData, aggregatedData: AggregatedData, executionTimeNs: number, - weight: number + weight: number, + color: string, + id: string } export interface AggregatedData { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/util.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/util.ts index 1bb7f215f..435d515db 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/util.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/util.ts @@ -6,7 +6,6 @@ import {GrpcSoftwareData} from "../protos/ficus/GrpcSoftwareData"; import {GrpcUnderlyingPatternInfo} from "../protos/ficus/GrpcUnderlyingPatternInfo"; import {GrpcGraphEdgeAdditionalData} from "../protos/ficus/GrpcGraphEdgeAdditionalData"; import {GrpcGraphEdge} from "../protos/ficus/GrpcGraphEdge"; -import {GrpcMethodNameParts} from "../protos/ficus/GrpcMethodNameParts"; import {GrpcGraphKind} from "../protos/ficus/GrpcGraphKind"; import cytoscape from "cytoscape"; import dagre from 'cytoscape-dagre'; From c44c3c76538f32ee7f419d42417cd4c603d87319 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 26 Sep 2025 18:26:45 +0300 Subject: [PATCH 041/189] WIP on rendering colors on edges --- .../Graph/Flamegraph/Context/FlamegraphContext.cs | 4 +++- .../Graph/Flamegraph/Context/FlamegraphContextData.cs | 2 ++ .../Flamegraph/Context/FlamegraphContextInitializer.cs | 2 ++ .../Graph/Flamegraph/SequentialBlockRenderer.razor | 10 +++++++--- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index 922a1f9da..86252028a 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -16,9 +16,10 @@ public class FlamegraphContext } } + public GrpcGraph Graph { get; } public HorizontalCompositeBlock Layout { get; } public IReadOnlyDictionary IdsToNodes { get; } - public GrpcGraph Graph { get; } + public IReadOnlyDictionary<(ulong, ulong), GrpcGraphEdge> NodePairsToIds { get; } private FlamegraphContext(GrpcGraph graph) { @@ -31,6 +32,7 @@ private FlamegraphContext(GrpcGraph graph) Layout = new FlamegraphLayoutCreator().Create(data); IdsToNodes = data.IdsToNodes; + NodePairsToIds = data.NodePairsToEdges; } } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContextData.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContextData.cs index b8b2d2fd2..e198e9f95 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContextData.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContextData.cs @@ -17,6 +17,8 @@ internal class NodePair(ulong pairedNode, List paths) internal class FlamegraphContextData { public Dictionary IdsToNodes { get; } = []; + public Dictionary<(ulong, ulong), GrpcGraphEdge> NodePairsToEdges { get; } = []; + public Dictionary> Edges { get; } = []; public Dictionary> ReversedEdges { get; } = []; public Dictionary NodePairs { get; } = []; diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContextInitializer.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContextInitializer.cs index f1c3172a3..9ea68e32d 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContextInitializer.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContextInitializer.cs @@ -10,6 +10,8 @@ public static void Execute(GrpcGraph graph, FlamegraphContextData data) { AddEdge(data.Edges, edge.FromNode, edge.ToNode); AddEdge(data.ReversedEdges, edge.ToNode, edge.FromNode); + + data.NodePairsToEdges[(edge.FromNode, edge.ToNode)] = edge; } foreach (var node in graph.Nodes) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index 725696e04..30fba3970 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -2,15 +2,19 @@
@foreach (var (index, node) in Block.NodesSequence.Index()) { -
@Context.Context.IdsToNodes[node].Data
@if (index < Block.NodesSequence.Count - 1) { -
} From 3833cb6e49d820b63aac3604031755c81be6dfe8 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 26 Sep 2025 18:40:57 +0300 Subject: [PATCH 042/189] Add colors to edge blocks --- .../Canvas/Graph/Flamegraph/BasicBlock.cs | 4 ++++ .../Flamegraph/CompositeBlockRenderer.razor | 9 ++++++--- .../Flamegraph/Context/FlamegraphContext.cs | 9 +++++++++ .../Context/FlamegraphLayoutCreator.cs | 16 ++++++++++++---- .../Flamegraph/SequentialBlockRenderer.razor | 3 +-- 5 files changed, 32 insertions(+), 9 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs index 6f76d848e..39dbb5587 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs @@ -30,6 +30,10 @@ public class VerticalCompositeBlock : CompositeBlockBase public class EdgeBlock : BasicBlock { + public required ulong FromNode { get; init; } + public required ulong ToNode { get; init; } + + public override int CalculateHeight() { return ModelSizes.EdgeBlock; diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index 477d6299f..faee6bdce 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -26,8 +26,11 @@ { switch (block) { - case EdgeBlock: -
@@ -40,7 +43,7 @@ break; case CompositeBlockBase compositeBlock: { - var height = block.CalculateHeight() * FlamegraphConstants.Height; + height = block.CalculateHeight() * FlamegraphConstants.Height;
@if (compositeBlock is HorizontalCompositeBlock { InnerBlocks: { Count: > 0 } items } && items[0] is not VerticalCompositeBlock) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index 86252028a..c792e13dc 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -40,4 +40,13 @@ public class FlamegraphRenderingContext { public required FlamegraphContext Context { get; init; } public required Dictionary EnhancedEdges { get; init; } + + + public string GetEdgePerformanceColor(ulong fromNode, ulong toNode) + { + var edge = Context.NodePairsToIds[(fromNode, toNode)]; + var color = EnhancedEdges[edge.Id].Color; + + return color; + } } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphLayoutCreator.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphLayoutCreator.cs index 6b4d338e9..8c2a36be0 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphLayoutCreator.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphLayoutCreator.cs @@ -26,7 +26,7 @@ private HorizontalCompositeBlock CreateBlockLayoutEndNodeNotInclusive( { AddSingleNodeSequentialBlockIfNeeded(hBlock, node); - var block = CreateVerticalBlock(data, nodePair); + var block = CreateVerticalBlock(data, node, nodePair); hBlock.InnerBlocks.Add(block); node = nodePair.PairedNode; @@ -47,7 +47,7 @@ private HorizontalCompositeBlock CreateBlockLayoutEndNodeNotInclusive( return hBlock; } - private VerticalCompositeBlock CreateVerticalBlock(FlamegraphContextData data, NodePair nodePair) + private VerticalCompositeBlock CreateVerticalBlock(FlamegraphContextData data, ulong node, NodePair nodePair) { var block = new VerticalCompositeBlock(); @@ -66,7 +66,11 @@ private VerticalCompositeBlock CreateVerticalBlock(FlamegraphContextData data, N { innerVerticalBlock.InnerBlocks.Add((pathNode == path.SyncNode.Value) switch { - true => new EdgeBlock(), + true => new EdgeBlock + { + FromNode = node, + ToNode = pathNode + }, false => CreateBlockLayoutEndNodeNotInclusive(data, pathNode, path.SyncNode.Value) }); @@ -95,7 +99,11 @@ private VerticalCompositeBlock CreateVerticalBlock(FlamegraphContextData data, N var outgoingNode = path.PathNodes[0]; if (outgoingNode == nodePair.PairedNode) { - block.InnerBlocks.Add(new EdgeBlock()); + block.InnerBlocks.Add(new EdgeBlock + { + FromNode = node, + ToNode = outgoingNode + }); } else { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index 30fba3970..22e2220d3 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -11,8 +11,7 @@ @if (index < Block.NodesSequence.Count - 1) { - var edge = Context.Context.NodePairsToIds[(node, Block.NodesSequence[index + 1])]; - var color = Context.EnhancedEdges[edge.Id].Color; + var color = Context.GetEdgePerformanceColor(node, Block.NodesSequence[index + 1]);
From f805b3e9d96d9c7718c60cca0bbc249e7a98f49f Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 26 Sep 2025 19:21:30 +0300 Subject: [PATCH 043/189] Continuing adding colors --- .../Canvas/Graph/Flamegraph/BasicBlock.cs | 19 +++++++++++++++++++ .../Flamegraph/CompositeBlockRenderer.razor | 18 ++++++++++++++---- .../Context/FlamegraphLayoutCreator.cs | 12 ++++++++++-- 3 files changed, 43 insertions(+), 6 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs index 39dbb5587..9af8f74ea 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs @@ -21,10 +21,27 @@ public abstract class CompositeBlockBase : BasicBlock public class HorizontalCompositeBlock : CompositeBlockBase { public override int CalculateHeight() => InnerBlocks.Select(b => b.CalculateHeight()).Max(); + + public ulong? GetFirstNode() + { + if (InnerBlocks.Count is 0) return null; + + return InnerBlocks[0] switch + { + VerticalCompositeBlock => null, + SequentialBasicBlock sequentialBlock => sequentialBlock.GetFirstNode(), + HorizontalCompositeBlock horizontalBock => horizontalBock.GetFirstNode(), + _ => null + }; + } } public class VerticalCompositeBlock : CompositeBlockBase { + public required ulong FromNode { get; init; } + public required ulong ToNode { get; init; } + + public override int CalculateHeight() => InnerBlocks.Sum(b => b.CalculateHeight()); } @@ -53,4 +70,6 @@ public override int CalculateHeight() { return ModelSizes.NodeHeight; } + + public ulong? GetFirstNode() => NodesSequence.Count == 0 ? null : NodesSequence[0]; } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index faee6bdce..361881511 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -1,5 +1,6 @@ @using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context -
+
@switch (Block) { case HorizontalCompositeBlock: @@ -19,7 +20,7 @@ break; } - case VerticalCompositeBlock: + case VerticalCompositeBlock verticalBlock: {
@foreach (var block in Block.InnerBlocks) @@ -46,9 +47,17 @@ height = block.CalculateHeight() * FlamegraphConstants.Height;
- @if (compositeBlock is HorizontalCompositeBlock { InnerBlocks: { Count: > 0 } items } && items[0] is not VerticalCompositeBlock) + @if (compositeBlock is HorizontalCompositeBlock { InnerBlocks: { Count: > 0 } items } horizontalBlock && + items[0] is not VerticalCompositeBlock) { -
+ var background = string.Empty; + if (horizontalBlock.GetFirstNode() is { } firstNode) + { + background = $"{Context.GetEdgePerformanceColor(verticalBlock.FromNode, firstNode)}"; + } + +
} @@ -80,4 +89,5 @@ Context="Context"/>, _ => throw new ArgumentOutOfRangeException(nameof(block)) }; + } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphLayoutCreator.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphLayoutCreator.cs index 8c2a36be0..3528e3451 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphLayoutCreator.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphLayoutCreator.cs @@ -49,7 +49,11 @@ private HorizontalCompositeBlock CreateBlockLayoutEndNodeNotInclusive( private VerticalCompositeBlock CreateVerticalBlock(FlamegraphContextData data, ulong node, NodePair nodePair) { - var block = new VerticalCompositeBlock(); + var block = new VerticalCompositeBlock + { + FromNode = node, + ToNode = nodePair.PairedNode + }; foreach (var (index, path) in nodePair.Paths.Index()) { @@ -60,7 +64,11 @@ private VerticalCompositeBlock CreateVerticalBlock(FlamegraphContextData data, u throw new Exception("SyncNode was null when path contains several starting nodes"); } - var innerVerticalBlock = new VerticalCompositeBlock(); + var innerVerticalBlock = new VerticalCompositeBlock + { + FromNode = node, + ToNode = path.SyncNode.Value + }; foreach (var (pathNodesIndex, pathNode) in path.PathNodes.Index()) { From 6b7430b39f8cb3ac5fc09e198054b08719918aff Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 26 Sep 2025 20:46:05 +0300 Subject: [PATCH 044/189] Finished adding colors --- .../Canvas/Graph/Flamegraph/BasicBlock.cs | 20 ++++------ .../Flamegraph/CompositeBlockRenderer.razor | 39 ++++++++++++++----- 2 files changed, 37 insertions(+), 22 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs index 9af8f74ea..616aa297a 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs @@ -11,6 +11,9 @@ public static class ModelSizes public abstract class BasicBlock { public abstract int CalculateHeight(); + + public virtual ulong? GetFirstNode() => null; + public virtual ulong? GetLastNode() => null; } public abstract class CompositeBlockBase : BasicBlock @@ -22,18 +25,8 @@ public class HorizontalCompositeBlock : CompositeBlockBase { public override int CalculateHeight() => InnerBlocks.Select(b => b.CalculateHeight()).Max(); - public ulong? GetFirstNode() - { - if (InnerBlocks.Count is 0) return null; - - return InnerBlocks[0] switch - { - VerticalCompositeBlock => null, - SequentialBasicBlock sequentialBlock => sequentialBlock.GetFirstNode(), - HorizontalCompositeBlock horizontalBock => horizontalBock.GetFirstNode(), - _ => null - }; - } + public override ulong? GetFirstNode() => InnerBlocks.Count is 0 ? null : InnerBlocks[0].GetFirstNode(); + public override ulong? GetLastNode() => InnerBlocks.Count is 0 ? null : InnerBlocks[^1].GetLastNode(); } public class VerticalCompositeBlock : CompositeBlockBase @@ -71,5 +64,6 @@ public override int CalculateHeight() return ModelSizes.NodeHeight; } - public ulong? GetFirstNode() => NodesSequence.Count == 0 ? null : NodesSequence[0]; + public override ulong? GetFirstNode() => NodesSequence.Count == 0 ? null : NodesSequence[0]; + public override ulong? GetLastNode() => NodesSequence.Count == 0 ? null : NodesSequence[^1]; } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index 361881511..81c7f6770 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -1,6 +1,10 @@ @using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context -
+ +@{ + var height = Block.CalculateHeight() * FlamegraphConstants.Height; +} + +
@switch (Block) { case HorizontalCompositeBlock: @@ -13,7 +17,14 @@ block is not VerticalCompositeBlock && Block.InnerBlocks[index + 1] is HorizontalCompositeBlock or SequentialBasicBlock) { -
+ var background = string.Empty; + if (block.GetLastNode() is { } lastNode && Block.InnerBlocks[index + 1].GetFirstNode() is { } nextNode) + { + background = Context.GetEdgePerformanceColor(lastNode, nextNode); + } + +
} } @@ -29,7 +40,7 @@ { case EdgeBlock edgeBlock: var color = Context.GetEdgePerformanceColor(edgeBlock.FromNode, edgeBlock.ToNode); - var height = FlamegraphConstants.Height * block.CalculateHeight(); + height = FlamegraphConstants.Height * block.CalculateHeight();
@@ -45,26 +56,36 @@ case CompositeBlockBase compositeBlock: { height = block.CalculateHeight() * FlamegraphConstants.Height; + var background = string.Empty;
@if (compositeBlock is HorizontalCompositeBlock { InnerBlocks: { Count: > 0 } items } horizontalBlock && items[0] is not VerticalCompositeBlock) { - var background = string.Empty; if (horizontalBlock.GetFirstNode() is { } firstNode) { background = $"{Context.GetEdgePerformanceColor(verticalBlock.FromNode, firstNode)}"; } -
+
} @RenderBlock(block) -
+ @{ + background = string.Empty; + if (block.GetLastNode() is { } lastNode) + { + background = Context.GetEdgePerformanceColor(lastNode, verticalBlock.ToNode); + } + } + +
From 73c4ac8fc02f30a0abbe4d64e33659e6559122ed Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 26 Sep 2025 20:52:10 +0300 Subject: [PATCH 045/189] Check whether all nodes in a queue are waiting for other nodes to be processed in order to avoid livelocks --- .../Canvas/Graph/Flamegraph/Context/NodePairsFinder.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/NodePairsFinder.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/NodePairsFinder.cs index 86e29cfa5..57110b726 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/NodePairsFinder.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/NodePairsFinder.cs @@ -3,7 +3,7 @@ internal class NodePairsFinder { private readonly HashSet myProcessedNodes = []; - private readonly Queue<(ulong, HashSet)> myQueue = []; + private readonly Queue<(ulong Node, HashSet Tokens)> myQueue = []; private readonly Dictionary myNodesToIssuedTokens = []; private readonly Dictionary> myNodesToQueuedHashSets = []; @@ -16,6 +16,11 @@ public void Find(FlamegraphContextData data) while (myQueue.Count > 0) { + if (myQueue.All(pair => AnyIncomingNodesUnprocessed(data, pair.Node))) + { + throw new Exception("Queue contains only waiting for processing nodes, will livelock"); + } + var (node, tokens) = myQueue.Dequeue(); if (AnyIncomingNodesUnprocessed(data, node)) From 220a552c796f85a6ee3e591a4c1cb3bcd04e7180 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 26 Sep 2025 21:15:46 +0300 Subject: [PATCH 046/189] Better rendering --- .../Flamegraph/FlamegraphGraphRenderer.razor | 29 +++++++++++++------ 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index 62680b0d7..2eac06280 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -1,5 +1,7 @@ -@using Ficus +@using BlazorBootstrap +@using Ficus @using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context +@using JetBrains.Threading @inject IJSRuntime Js; @@ -9,6 +11,10 @@
} +else +{ + +} @code { [Parameter] public required FlamegraphContext Context { get; init; } @@ -18,15 +24,20 @@ private FlamegraphRenderingContext? myRenderingContext; - protected override async Task OnParametersSetAsync() + protected override void OnParametersSet() { - var enhancedEdges = await Js.InvokeAsync( - "createEnhancedEdges", Context.Graph, Annotation, AggregatedData, Settings.SelectedEnhancements, Settings.Filter); - - myRenderingContext = new FlamegraphRenderingContext + Task.Run(async () => { - Context = Context, - EnhancedEdges = enhancedEdges.ToDictionary(e => e.Id, e => e) - }; + var enhancedEdges = await Js.InvokeAsync( + "createEnhancedEdges", Context.Graph, Annotation, AggregatedData, Settings.SelectedEnhancements, Settings.Filter); + + myRenderingContext = new FlamegraphRenderingContext + { + Context = Context, + EnhancedEdges = enhancedEdges.ToDictionary(e => e.Id, e => e) + }; + + StateHasChanged(); + }).NoAwait(); } } \ No newline at end of file From 949a3672193b5c6fcc5b08131282c49040b5a588 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 27 Sep 2025 10:31:16 +0300 Subject: [PATCH 047/189] Create enhancements without execution info for flamegraph --- .../Npm/src/graph/graph_elements.ts | 9 +++++++-- .../Npm/src/graph/labels/edge_html_label.ts | 18 ++++++++++++++---- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts index 3685e1ffb..c6386cdfb 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts @@ -19,7 +19,7 @@ import { SoftwareEnhancementKind, ValueWithUnits } from "./types"; -import {createEdgeHtmlLabel} from "./labels/edge_html_label"; +import {createEdgeStandaloneEnhancements} from "./labels/edge_html_label"; const graphColor = graphColors(darkTheme); @@ -215,9 +215,14 @@ export function createEnhancedEdges( return elements.map(e => { (e).data.aggregatedData = aggregatedData; + let enhancementHtml = ""; + if (e.data.enhancementData != null) { + enhancementHtml = createEdgeStandaloneEnhancements(enhancements, e.data.enhancementData, aggregatedData); + } + return { id: Number.parseInt(e.data.id), - html: createEdgeHtmlLabel(e.data as GraphEdge, enhancements), + html: enhancementHtml, color: e.data.color, } }); diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/edge_html_label.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/edge_html_label.ts index 925150922..25b90d806 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/edge_html_label.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/edge_html_label.ts @@ -1,4 +1,4 @@ -import {AggregatedData, GraphEdge, MergedSoftwareData, SoftwareEnhancementKind} from "../types"; +import {AggregatedData, GraphEdge, MergedEnhancementData, MergedSoftwareData, SoftwareEnhancementKind} from "../types"; import { createEnhancementContainer, createGroupedEnhancements, createNumberInformation, createRectangleHistogram, createTimeSpanString, @@ -21,14 +21,24 @@ export function createEdgeHtmlLabel(edge: GraphEdge, enhancements: SoftwareEnhan return `
-
- ${createGroupedEnhancements(enhancements, enhancementData, edge.aggregatedData, true, createEdgeEnhancement, true)} -
+ ${createEdgeStandaloneEnhancements(enhancements, enhancementData, edge.aggregatedData)} ${createEdgeExecutionInfo(edge)}
` } +export function createEdgeStandaloneEnhancements( + enhancements: SoftwareEnhancementKind[], + enhancementData: MergedEnhancementData, + aggregatedData: AggregatedData +) { + return ` +
+ ${createGroupedEnhancements(enhancements, enhancementData, aggregatedData, true, createEdgeEnhancement, true)} +
+ ` +} + function createEdgeExecutionInfo(edge: GraphEdge): string { let executionInfo = `
From 45d516531c54734fe0b4a1c25d49760b9761ccf7 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 27 Sep 2025 10:35:08 +0300 Subject: [PATCH 048/189] Check that that is one connectivity component in the graph --- .../Canvas/Graph/Flamegraph/Context/NodePairsFinder.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/NodePairsFinder.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/NodePairsFinder.cs index 57110b726..9b9ebc320 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/NodePairsFinder.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/NodePairsFinder.cs @@ -34,6 +34,11 @@ public void Find(FlamegraphContextData data) ProcessNode(data, node, tokens); EnqueueOutgoingNodes(data, node, tokens); } + + if (myProcessedNodes.Count != data.IdsToNodes.Count) + { + throw new Exception("There are several components in the graph, can not handle it"); + } } private void AssertNoTokensFromPairedNodes(FlamegraphContextData data, ulong node, HashSet tokens) From 148f788c31e534a66d9fc6cce58b2c2cf8ba7c58 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 27 Sep 2025 11:04:23 +0300 Subject: [PATCH 049/189] Change flamegraph node background --- .../src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css b/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css index 8ae6ed7bd..54f2cea36 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css @@ -44,7 +44,7 @@ html, body { --updated--notification-color: yellow; --seen-notification-color: grey; - --flamegraph-node-background: #202020; + --flamegraph-node-background: #4b4b4b; --flamegraph-edge-background: #3b3b3b; -moz-user-select: none; /* Firefox */ From bf718b816864a00b333df0837ef2befb1cd60329 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 29 Sep 2025 20:09:43 +0300 Subject: [PATCH 050/189] Add weight and time string to enhanced edge --- .../ContextValues/Canvas/Graph/AggregatedDataModels.cs | 2 ++ .../FicusDashboard/Npm/src/graph/graph_elements.ts | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/AggregatedDataModels.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/AggregatedDataModels.cs index 8f01a999a..0981f1c01 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/AggregatedDataModels.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/AggregatedDataModels.cs @@ -16,6 +16,8 @@ public class EnhancedEdge public ulong Id { get; set; } public string Html { get; set; } public string Color { get; set; } + public string ExecutionTimeStringRepr { get; set; } + public int NumberOfExecution { get; set; } } public class MergedSoftwareData diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts index c6386cdfb..bdba8482f 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts @@ -20,6 +20,8 @@ import { ValueWithUnits } from "./types"; import {createEdgeStandaloneEnhancements} from "./labels/edge_html_label"; +import {createTimeSpanString, getPercentExecutionTime} from "./labels/util"; +import {GrpcDurationKind} from "../protos/ficus/GrpcDurationKind"; const graphColor = graphColors(darkTheme); @@ -224,6 +226,8 @@ export function createEnhancedEdges( id: Number.parseInt(e.data.id), html: enhancementHtml, color: e.data.color, + executionTimeStringRepr: createTimeSpanString(e.data.executionTimeNs, GrpcDurationKind.Nanos), + numberOfExecution: e.data.weight } }); } From e74d358ed570361164036430c41420bf47e55a0a Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 29 Sep 2025 20:32:59 +0300 Subject: [PATCH 051/189] Add EdgeRenderer for rendering edges --- .../Flamegraph/CompositeBlockRenderer.razor | 16 ++++++---------- .../Canvas/Graph/Flamegraph/EdgeRenderer.razor | 9 +++++++++ .../Flamegraph/SequentialBlockRenderer.razor | 12 +++++------- 3 files changed, 20 insertions(+), 17 deletions(-) create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index 81c7f6770..7a777a390 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -41,10 +41,9 @@ case EdgeBlock edgeBlock: var color = Context.GetEdgePerformanceColor(edgeBlock.FromNode, edgeBlock.ToNode); height = FlamegraphConstants.Height * block.CalculateHeight(); + var heightStr = $"{height}px"; -
-
+ break; case SeparatorBlock: @@ -67,10 +66,8 @@ background = $"{Context.GetEdgePerformanceColor(verticalBlock.FromNode, firstNode)}"; } -
-
+ var width = $"{FlamegraphConstants.EdgeWidth}px"; + } @RenderBlock(block) @@ -83,9 +80,8 @@ } } -
+
+
diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor new file mode 100644 index 000000000..e4d74d922 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor @@ -0,0 +1,9 @@ +
+
+ +@code { + [Parameter] public required string Height { get; init; } + [Parameter] public required string Width { get; init; } + [Parameter] public required string Color { get; init; } +} \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index 22e2220d3..8deafa65c 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -9,14 +9,12 @@ @Context.Context.IdsToNodes[node].Data
- @if (index < Block.NodesSequence.Count - 1) - { - var color = Context.GetEdgePerformanceColor(node, Block.NodesSequence[index + 1]); + @if (index >= Block.NodesSequence.Count - 1) continue; -
-
- } + var color = Context.GetEdgePerformanceColor(node, Block.NodesSequence[index + 1]); + var width = $"{FlamegraphConstants.EdgeWidth}px"; + + }
From c92bfe292a48c18a21d487c37c5c8e3647176c88 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 29 Sep 2025 20:49:20 +0300 Subject: [PATCH 052/189] Pass edge to edge renderer --- .../Flamegraph/CompositeBlockRenderer.razor | 25 ++++++++++--------- .../Flamegraph/Context/FlamegraphContext.cs | 6 ++--- .../Graph/Flamegraph/EdgeRenderer.razor | 4 +-- .../Flamegraph/SequentialBlockRenderer.razor | 4 +-- 4 files changed, 19 insertions(+), 20 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index 7a777a390..dedbbd5e7 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -17,15 +17,14 @@ block is not VerticalCompositeBlock && Block.InnerBlocks[index + 1] is HorizontalCompositeBlock or SequentialBasicBlock) { - var background = string.Empty; + EnhancedEdge? edge = null; if (block.GetLastNode() is { } lastNode && Block.InnerBlocks[index + 1].GetFirstNode() is { } nextNode) { - background = Context.GetEdgePerformanceColor(lastNode, nextNode); + edge = Context.GetEnhancedEdge(lastNode, nextNode); } -
-
+ var width = $"{FlamegraphConstants.EdgeWidth}px"; + } } @@ -39,11 +38,11 @@ switch (block) { case EdgeBlock edgeBlock: - var color = Context.GetEdgePerformanceColor(edgeBlock.FromNode, edgeBlock.ToNode); + var enhancedEdge = Context.GetEnhancedEdge(edgeBlock.FromNode, edgeBlock.ToNode); height = FlamegraphConstants.Height * block.CalculateHeight(); var heightStr = $"{height}px"; - + break; case SeparatorBlock: @@ -56,32 +55,34 @@ { height = block.CalculateHeight() * FlamegraphConstants.Height; var background = string.Empty; + EnhancedEdge? edge = null;
@if (compositeBlock is HorizontalCompositeBlock { InnerBlocks: { Count: > 0 } items } horizontalBlock && items[0] is not VerticalCompositeBlock) { + edge = null; if (horizontalBlock.GetFirstNode() is { } firstNode) { - background = $"{Context.GetEdgePerformanceColor(verticalBlock.FromNode, firstNode)}"; + edge = Context.GetEnhancedEdge(verticalBlock.FromNode, firstNode); } var width = $"{FlamegraphConstants.EdgeWidth}px"; - + } @RenderBlock(block) @{ - background = string.Empty; + edge = null; if (block.GetLastNode() is { } lastNode) { - background = Context.GetEdgePerformanceColor(lastNode, verticalBlock.ToNode); + edge = Context.GetEnhancedEdge(lastNode, verticalBlock.ToNode); } }
- +
diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index c792e13dc..02590ba21 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -42,11 +42,9 @@ public class FlamegraphRenderingContext public required Dictionary EnhancedEdges { get; init; } - public string GetEdgePerformanceColor(ulong fromNode, ulong toNode) + public EnhancedEdge GetEnhancedEdge(ulong fromNode, ulong toNode) { var edge = Context.NodePairsToIds[(fromNode, toNode)]; - var color = EnhancedEdges[edge.Id].Color; - - return color; + return EnhancedEdges[edge.Id]; } } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor index e4d74d922..2c280524f 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor @@ -1,9 +1,9 @@ -
@code { [Parameter] public required string Height { get; init; } [Parameter] public required string Width { get; init; } - [Parameter] public required string Color { get; init; } + [Parameter] public required EnhancedEdge? EnhancedEdge { get; init; } } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index 8deafa65c..af446e5b5 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -11,10 +11,10 @@ @if (index >= Block.NodesSequence.Count - 1) continue; - var color = Context.GetEdgePerformanceColor(node, Block.NodesSequence[index + 1]); + var enhancedEdge = Context.GetEnhancedEdge(node, Block.NodesSequence[index + 1]); var width = $"{FlamegraphConstants.EdgeWidth}px"; - + }
From 4080a8747f24d5f5df7a681e0441cb31404bd5c9 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Tue, 30 Sep 2025 13:17:18 +0300 Subject: [PATCH 053/189] Display edge time and frequency information in flamegraph --- .../Canvas/Graph/AggregatedDataModels.cs | 2 +- .../Graph/Flamegraph/EdgeRenderer.razor | 13 ++++- .../Npm/src/graph/graph_elements.ts | 2 +- .../FicusDashboard/wwwroot/css/app.css | 47 ++++++++++++++----- 4 files changed, 50 insertions(+), 14 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/AggregatedDataModels.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/AggregatedDataModels.cs index 0981f1c01..f1619dcd3 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/AggregatedDataModels.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/AggregatedDataModels.cs @@ -17,7 +17,7 @@ public class EnhancedEdge public string Html { get; set; } public string Color { get; set; } public string ExecutionTimeStringRepr { get; set; } - public int NumberOfExecution { get; set; } + public int NumberOfExecutions { get; set; } } public class MergedSoftwareData diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor index 2c280524f..9dcbc9337 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor @@ -1,5 +1,16 @@ -
+ @if (EnhancedEdge is not null) + { +
+
+ @EnhancedEdge.ExecutionTimeStringRepr +
+
+ @EnhancedEdge.NumberOfExecutions times +
+
+ }
@code { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts index bdba8482f..0a1648cfd 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts @@ -227,7 +227,7 @@ export function createEnhancedEdges( html: enhancementHtml, color: e.data.color, executionTimeStringRepr: createTimeSpanString(e.data.executionTimeNs, GrpcDurationKind.Nanos), - numberOfExecution: e.data.weight + numberOfExecutions: e.data.weight } }); } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css b/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css index 54f2cea36..cd9ccd7f5 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css @@ -29,21 +29,21 @@ html, body { --processes-section-case-background-darker: #2e3333; --processes-section-case-background-hovered-darker: #383e3e; --processes-section-cases-collapsed-bakground-darker: #272b2b; - + --input-background: #323232; --input-foreground: #ffffff; --input-border-color: #101010; - + --aggregated-data-background: #202020; --aggregated-stat-item-background: #404040; --aggregated-stat-item-value-background: #303030; - + --tree-view-notification-container-color: #151515; - + --new-notification-color: greenyellow; --updated--notification-color: yellow; --seen-notification-color: grey; - + --flamegraph-node-background: #4b4b4b; --flamegraph-edge-background: #3b3b3b; @@ -63,12 +63,32 @@ input { padding: 5px !important; } -::-webkit-scrollbar { width: 10px; height: 10px;} -::-webkit-scrollbar-button { background-color: #666; } -::-webkit-scrollbar-track { background-color: #999;} -::-webkit-scrollbar-track-piece { background-color: #252525;} -::-webkit-scrollbar-thumb { height: 50px; background-color: #666; border-radius: 3px;} -::-webkit-resizer { background-color: #666;} +::-webkit-scrollbar { + width: 10px; + height: 10px; +} + +::-webkit-scrollbar-button { + background-color: #666; +} + +::-webkit-scrollbar-track { + background-color: #999; +} + +::-webkit-scrollbar-track-piece { + background-color: #252525; +} + +::-webkit-scrollbar-thumb { + height: 50px; + background-color: #666; + border-radius: 3px; +} + +::-webkit-resizer { + background-color: #666; +} ::-webkit-scrollbar { display: none; @@ -250,6 +270,11 @@ svg-pie-chart svg { .flamegraph-edge { background: var(--flamegraph-edge-background); + padding: 2px 5px 2px 5px; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; } .flamegraph-separator-edge { From b19174fdfece73f5f2284ed621ea03ae855b39c0 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Tue, 30 Sep 2025 13:59:56 +0300 Subject: [PATCH 054/189] Fix not preprocessing aggregated data from C# interop --- .../Npm/src/graph/graph_elements.ts | 28 ++--------- .../Npm/src/graph/graph_renderer.ts | 23 +--------- .../FicusDashboard/Npm/src/graph/util.ts | 46 ++++++++++++++++++- 3 files changed, 49 insertions(+), 48 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts index 0a1648cfd..98ce4169b 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts @@ -5,7 +5,7 @@ import { calculateOverallExecutionTime, createEmptySoftwareData, getEdgeEnhancementDataOrNull, getNodeEnhancementDataOrNull, - getPerformanceAnnotationColor, increment, + getPerformanceAnnotationColor, increment, preprocessForCSharpInterop, preprocessFromCSharpInterop, } from "./util"; import {GrpcGraph} from "../protos/ficus/GrpcGraph"; import {GrpcAnnotation} from "../protos/ficus/GrpcAnnotation"; @@ -20,7 +20,7 @@ import { ValueWithUnits } from "./types"; import {createEdgeStandaloneEnhancements} from "./labels/edge_html_label"; -import {createTimeSpanString, getPercentExecutionTime} from "./labels/util"; +import {createTimeSpanString} from "./labels/util"; import {GrpcDurationKind} from "../protos/ficus/GrpcDurationKind"; const graphColor = graphColors(darkTheme); @@ -71,29 +71,6 @@ export function createAggregatedData(graph: GrpcGraph, annotation: GrpcAnnotatio } } -function preprocessForCSharpInterop(data: AggregatedData): AggregatedData { - //JS Map can not be converted to C# Dictionary - data.globalSoftwareData.counters = toObjectCsharpInterop(data.globalSoftwareData.counters); - data.globalSoftwareData.activitiesDurations = toObjectCsharpInterop(data.globalSoftwareData.activitiesDurations); - - for (let [key, map] of data.globalSoftwareData.histograms) { - data.globalSoftwareData.histograms.set(key, { - units: map.units, - value: toObjectCsharpInterop(map.value), - group: map.group - }); - } - - data.globalSoftwareData.histograms = toObjectCsharpInterop(data.globalSoftwareData.histograms); - - return data; -} - -function toObjectCsharpInterop(map: Map): Map { - // @ts-ignore - return Object.fromEntries(map); -} - function processNodesAggregatedData(nodes: GrpcGraphNode[], aggregatedData: AggregatedData, filter: RegExp | null) { for (let node of nodes) { let enhancementData = getNodeEnhancementDataOrNull(node, filter); @@ -211,6 +188,7 @@ export function createEnhancedEdges( enhancements: SoftwareEnhancementKind[], filter: RegExp | null, ) { + aggregatedData = preprocessFromCSharpInterop(aggregatedData); let performanceEdgesMap = buildEdgesTimeAnnotationMap(annotation); let elements = createGraphEdgesElements(graph.edges, performanceEdgesMap, aggregatedData, filter); diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_renderer.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_renderer.ts index 92c800e7c..2d31b95f0 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_renderer.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_renderer.ts @@ -9,7 +9,7 @@ import { import {GrpcGraph} from "../protos/ficus/GrpcGraph"; import {GrpcAnnotation} from "../protos/ficus/GrpcAnnotation"; import {AggregatedData, GraphEdge, GraphNode, SoftwareEnhancementKind} from "./types"; -import {createLayout} from "./util"; +import {createLayout, preprocessFromCSharpInterop} from "./util"; import {GrpcGraphKind} from "../protos/ficus/GrpcGraphKind"; import {nodeHeightPx, nodeWidthPx} from "./constants"; @@ -57,27 +57,6 @@ function drawGraph( } } -function preprocessFromCSharpInterop(data: AggregatedData): AggregatedData { - data.globalSoftwareData.counters = toMapCSharpInterop(data.globalSoftwareData.counters); - data.globalSoftwareData.activitiesDurations = toMapCSharpInterop(data.globalSoftwareData.activitiesDurations); - data.globalSoftwareData.histograms = toMapCSharpInterop(data.globalSoftwareData.histograms); - - for (let [key, map] of data.globalSoftwareData.histograms) { - data.globalSoftwareData.histograms.set(key, { - units: map.units, - value: toMapCSharpInterop(map.value), - group: map.group - }); - } - - return data; -} - -function toMapCSharpInterop(map: Map): Map { - // @ts-ignore - return new Map(Object.entries(map)); -} - function updateNodesDimensions(cy: cytoscape.Core, kind: GrpcGraphKind, spacingFactor: number, useLROrientation: boolean) { cy.nodes().forEach(node => { let element = document.getElementById(createNodeHtmlLabelId(node.data().frontendId)); diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/util.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/util.ts index 435d515db..8cbdb3772 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/util.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/util.ts @@ -1,6 +1,6 @@ import {darkTheme, performanceColors} from "../colors"; import {GrpcNodeAdditionalData} from "../protos/ficus/GrpcNodeAdditionalData"; -import {CountAndSum, GraphEdge, GraphNode, MergedEnhancementData, MergedSoftwareData} from "./types"; +import {AggregatedData, CountAndSum, GraphEdge, GraphNode, MergedEnhancementData, MergedSoftwareData} from "./types"; import {GrpcGraphNode} from "../protos/ficus/GrpcGraphNode"; import {GrpcSoftwareData} from "../protos/ficus/GrpcSoftwareData"; import {GrpcUnderlyingPatternInfo} from "../protos/ficus/GrpcUnderlyingPatternInfo"; @@ -255,4 +255,48 @@ const performanceColor = performanceColors(darkTheme); export function getPerformanceAnnotationColor(relativeExecutionTime: number) { let colorName = `color${(Math.floor(relativeExecutionTime * 10) % 100).toString()}`; return performanceColor[colorName]; +} + +export function preprocessFromCSharpInterop(data: AggregatedData): AggregatedData { + data.globalSoftwareData.counters = toMapCSharpInterop(data.globalSoftwareData.counters); + data.globalSoftwareData.activitiesDurations = toMapCSharpInterop(data.globalSoftwareData.activitiesDurations); + data.globalSoftwareData.histograms = toMapCSharpInterop(data.globalSoftwareData.histograms); + + for (let [key, map] of data.globalSoftwareData.histograms) { + data.globalSoftwareData.histograms.set(key, { + units: map.units, + value: toMapCSharpInterop(map.value), + group: map.group + }); + } + + return data; +} + +function toMapCSharpInterop(map: Map): Map { + // @ts-ignore + return new Map(Object.entries(map)); +} + +export function preprocessForCSharpInterop(data: AggregatedData): AggregatedData { + //JS Map can not be converted to C# Dictionary + data.globalSoftwareData.counters = toObjectCsharpInterop(data.globalSoftwareData.counters); + data.globalSoftwareData.activitiesDurations = toObjectCsharpInterop(data.globalSoftwareData.activitiesDurations); + + for (let [key, map] of data.globalSoftwareData.histograms) { + data.globalSoftwareData.histograms.set(key, { + units: map.units, + value: toObjectCsharpInterop(map.value), + group: map.group + }); + } + + data.globalSoftwareData.histograms = toObjectCsharpInterop(data.globalSoftwareData.histograms); + + return data; +} + +function toObjectCsharpInterop(map: Map): Map { + // @ts-ignore + return Object.fromEntries(map); } \ No newline at end of file From 978fe25a60d0ceb35e875ba0b5c17e9879599933 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Tue, 30 Sep 2025 14:21:45 +0300 Subject: [PATCH 055/189] Increase basic height --- .../Canvas/Graph/Flamegraph/FlamegraphConstants.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs index cdc4ea87f..d4e7266cf 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs @@ -2,7 +2,7 @@ internal static class FlamegraphConstants { - public const int Height = 15; + public const int Height = 50; public const int NodeWidth = 30; public const int EdgeWidth = 40; } \ No newline at end of file From 84f5e0e75a41b471fd506029cd1287369795bf77 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Tue, 30 Sep 2025 14:48:00 +0300 Subject: [PATCH 056/189] Render edges enhancements in flamegraph --- .../ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor index 9dcbc9337..ee9ac3f7a 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor @@ -10,6 +10,8 @@ @EnhancedEdge.NumberOfExecutions times
+ + @((MarkupString)EnhancedEdge.Html) }
From cd97ccf95a444d4d9cc1faa1a737f7575d2372a8 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Tue, 30 Sep 2025 16:37:33 +0300 Subject: [PATCH 057/189] Better fullscreen transitions --- .../ContextValues/Canvas/CanvasComponent.razor | 2 +- .../Graph/Flamegraph/CompositeBlockRenderer.razor | 3 +-- .../CaseInfo/PipelinePartResultsRenderer.razor | 14 +++++++++++++- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor index d7325ea58..e6bccb0f3 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor @@ -48,7 +48,7 @@ StateHasChanged(); //some hacks in order to make it work after changing to full screen from JS side - Task.Delay(100).ContinueWith(_ => + Task.Delay(200).ContinueWith(_ => { InvokeAsync(async () => { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index dedbbd5e7..33531b4ac 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -54,8 +54,7 @@ case CompositeBlockBase compositeBlock: { height = block.CalculateHeight() * FlamegraphConstants.Height; - var background = string.Empty; - EnhancedEdge? edge = null; + EnhancedEdge? edge;
@if (compositeBlock is HorizontalCompositeBlock { InnerBlocks: { Count: > 0 } items } horizontalBlock && diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor index 3b6c06fba..ec7d6660f 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor @@ -1,3 +1,4 @@ +@using BlazorBootstrap @using Ficus @using FicusDashboard.Services.Cases @using FicusDashboard.Utils @@ -14,7 +15,12 @@ @inject ILogger Logger
-
+ @if (myIsLoading) + { + + } + +
@(Index + 1) @@ -94,6 +100,7 @@ private bool myIsFullScreen; + private bool myIsLoading; private int mySelectedExecutionResultIndex; @@ -243,7 +250,12 @@ private async Task OpenElementInFullscreen() { + myIsLoading = true; + StateHasChanged(); + await Js.InvokeVoidAsync("openFullScreen", Lifetime, myContainerId, DotNetObjectReference.Create(this)); + + myIsLoading = false; myIsFullScreen = true; StateHasChanged(); } From c2278dea41852daf1f56eaa806dd40efd404bf5a Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Wed, 1 Oct 2025 15:07:39 +0300 Subject: [PATCH 058/189] Add common loader --- .../Components/CaseInfo/CaseInfo.razor | 4 ++-- .../ContextValues/Canvas/CanvasComponent.razor | 4 ++-- .../Flamegraph/FlamegraphGraphRenderer.razor | 3 ++- .../ColorsLog/ColorsEventLogRenderer.razor | 3 ++- .../CaseInfo/PipelinePartResultsRenderer.razor | 3 ++- .../FicusDashboard/Components/Utils/Loader.razor | 15 +++++++++++++++ 6 files changed, 25 insertions(+), 7 deletions(-) create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/Utils/Loader.razor diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/CaseInfo.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/CaseInfo.razor index 8be28964f..5b15a0f1f 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/CaseInfo.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/CaseInfo.razor @@ -1,4 +1,4 @@ -@using BlazorBootstrap +@using FicusDashboard.Components.Utils @using FicusDashboard.Layout.Models @using FicusDashboard.Services.Cases @using JetBrains.Lifetimes @@ -21,7 +21,7 @@ @if (myIsLoading) {
- +
return; diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor index e6bccb0f3..4ebcc641d 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor @@ -1,4 +1,4 @@ -@using BlazorBootstrap; +@using FicusDashboard.Components.Utils @inherits ComponentBase @@ -6,7 +6,7 @@ @if (myIsDrawing) { - + }
diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index 2eac06280..8156d287d 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -1,6 +1,7 @@ @using BlazorBootstrap @using Ficus @using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context +@using FicusDashboard.Components.Utils @using JetBrains.Threading @inject IJSRuntime Js; @@ -13,7 +14,7 @@ } else { - + } @code { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/ColorsLog/ColorsEventLogRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/ColorsLog/ColorsEventLogRenderer.razor index 1514c77ed..cc4f4d8f6 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/ColorsLog/ColorsEventLogRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/ColorsLog/ColorsEventLogRenderer.razor @@ -1,12 +1,13 @@ @using BlazorBootstrap @using Ficus +@using FicusDashboard.Components.Utils @inject IJSRuntime Js;
@if (!myFinishedCanvasDrawings) { - + } @if (mySuggestedAdjustment is var (suggestedWidthScale, suggestedHeightScale)) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor index ec7d6660f..18475f1dd 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor @@ -8,6 +8,7 @@ @using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.PetriNet @using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph @using FicusDashboard.Components.CaseInfo.ContextValues +@using FicusDashboard.Components.Utils @using FicusDashboard.Layout.Models @using JetBrains.Lifetimes @@ -17,7 +18,7 @@
@if (myIsLoading) { - + }
diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/Utils/Loader.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/Utils/Loader.razor new file mode 100644 index 000000000..853d23ead --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/Utils/Loader.razor @@ -0,0 +1,15 @@ +@using BlazorBootstrap + +@{ + var style = LeftUpMargin switch + { + false => string.Empty, + true => "margin-top: 10px; margin-left: 10px;" + }; +} + + + +@code { + [Parameter] public required bool LeftUpMargin { get; init; } +} \ No newline at end of file From a64f6a71306bacf461baec34448608b85a62c4ec Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Thu, 2 Oct 2025 20:15:28 +0300 Subject: [PATCH 059/189] Fixing rendering issues --- .../Canvas/Graph/Flamegraph/EdgeRenderer.razor | 2 +- .../Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor | 7 ++++--- .../Components/CaseInfo/PipelinePartResultsRenderer.razor | 1 - .../CaseInfo/PipelinePartResultsRenderer.razor.css | 1 + 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor index ee9ac3f7a..81cf7021e 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor @@ -1,4 +1,4 @@ -
@if (EnhancedEdge is not null) { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index 8156d287d..08a392106 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -1,5 +1,4 @@ -@using BlazorBootstrap -@using Ficus +@using Ficus @using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context @using FicusDashboard.Components.Utils @using JetBrains.Threading @@ -8,7 +7,9 @@ @if (myRenderingContext is { }) { -
+ var height = Context.Layout.CalculateHeight() * FlamegraphConstants.Height; + +
} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor index 18475f1dd..6bc0ff2e1 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor @@ -1,4 +1,3 @@ -@using BlazorBootstrap @using Ficus @using FicusDashboard.Services.Cases @using FicusDashboard.Utils diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor.css b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor.css index 082b960c1..be88853d4 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor.css +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor.css @@ -1,5 +1,6 @@ .pipeline-parts-context-values-inner-container { width: fit-content; + max-width: 1200px; margin-top: 20px; margin-right: 20px; } From 6bff11c17a7aacce09b66f4f4e4ceb2e25fb0256 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Thu, 2 Oct 2025 20:36:32 +0300 Subject: [PATCH 060/189] Fix flamegraph height --- .../Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor | 2 +- .../ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor | 2 +- .../Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor | 2 +- .../Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index 33531b4ac..001e7b1da 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -4,7 +4,7 @@ var height = Block.CalculateHeight() * FlamegraphConstants.Height; } -
+
@switch (Block) { case HorizontalCompositeBlock: diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor index 81cf7021e..e9f8f0348 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor @@ -1,4 +1,4 @@ -
@if (EnhancedEdge is not null) { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index 08a392106..4d963817e 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -9,7 +9,7 @@ { var height = Context.Layout.CalculateHeight() * FlamegraphConstants.Height; -
+
} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index af446e5b5..2829c2f63 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -1,10 +1,10 @@ @using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context -
+
@foreach (var (index, node) in Block.NodesSequence.Index()) { var height = FlamegraphConstants.Height * Block.CalculateHeight(); -
@Context.Context.IdsToNodes[node].Data
From f1a9077eeb17179782b4e5da0f855fd74a584ad4 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Thu, 2 Oct 2025 21:34:48 +0300 Subject: [PATCH 061/189] Fixing rendering issues --- .../Flamegraph/CompositeBlockRenderer.razor | 30 ++++++++++--------- .../Graph/Flamegraph/EdgeRenderer.razor | 2 +- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index 001e7b1da..fa2034103 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -9,24 +9,26 @@ { case HorizontalCompositeBlock: { - foreach (var (index, block) in Block.InnerBlocks.Index()) - { - @RenderBlock(block) - - if (index < Block.InnerBlocks.Count - 1 && - block is not VerticalCompositeBlock && - Block.InnerBlocks[index + 1] is HorizontalCompositeBlock or SequentialBasicBlock) +
+ @foreach (var (index, block) in Block.InnerBlocks.Index()) { - EnhancedEdge? edge = null; - if (block.GetLastNode() is { } lastNode && Block.InnerBlocks[index + 1].GetFirstNode() is { } nextNode) + @RenderBlock(block) + + if (index < Block.InnerBlocks.Count - 1 && + block is not VerticalCompositeBlock && + Block.InnerBlocks[index + 1] is HorizontalCompositeBlock or SequentialBasicBlock) { - edge = Context.GetEnhancedEdge(lastNode, nextNode); - } + EnhancedEdge? edge = null; + if (block.GetLastNode() is { } lastNode && Block.InnerBlocks[index + 1].GetFirstNode() is { } nextNode) + { + edge = Context.GetEnhancedEdge(lastNode, nextNode); + } - var width = $"{FlamegraphConstants.EdgeWidth}px"; - + var width = $"{FlamegraphConstants.EdgeWidth}px"; + + } } - } +
break; } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor index e9f8f0348..c017ea632 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor @@ -1,4 +1,4 @@ -
@if (EnhancedEdge is not null) { From 4f527ab3fdb89c5a783f79caffc90a2b1caba89d Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Thu, 2 Oct 2025 22:13:49 +0300 Subject: [PATCH 062/189] Render edges enhancements in horizontal mode + adjust heights --- .../Canvas/Graph/Flamegraph/FlamegraphConstants.cs | 2 +- .../FicusDashboard/Npm/src/graph/labels/edge_html_label.ts | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs index d4e7266cf..ce9940996 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs @@ -2,7 +2,7 @@ internal static class FlamegraphConstants { - public const int Height = 50; + public const int Height = 35; public const int NodeWidth = 30; public const int EdgeWidth = 40; } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/edge_html_label.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/edge_html_label.ts index 25b90d806..26829dcc0 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/edge_html_label.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/edge_html_label.ts @@ -1,6 +1,6 @@ import {AggregatedData, GraphEdge, MergedEnhancementData, MergedSoftwareData, SoftwareEnhancementKind} from "../types"; import { - createEnhancementContainer, createGroupedEnhancements, createNumberInformation, + createGroupedEnhancements, createNumberInformation, createRectangleHistogram, createTimeSpanString, EnhancementCreationResult, getPercentExecutionTime, @@ -90,7 +90,7 @@ function createEdgeEnhancement( false, ); - return new EnhancementCreationResult(html, counter.group, false); + return new EnhancementCreationResult(html, counter.group, true); } if (softwareData.activitiesDurations.has(enhancement)) { @@ -105,7 +105,7 @@ function createEdgeEnhancement( false, ); - return new EnhancementCreationResult(html, duration.group, false); + return new EnhancementCreationResult(html, duration.group, true); } return new EnhancementCreationResult("", null); From 8674a18743a852a5c69a18b45af0e0d56eb89d70 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 3 Oct 2025 13:59:52 +0300 Subject: [PATCH 063/189] Better rendering, handle overflow --- .../ContextValues/Canvas/CanvasComponent.razor | 8 ++++---- .../ContextValues/Canvas/CanvasComponent.razor.css | 10 ++++------ .../Graph/Flamegraph/FlamegraphGraphRenderer.razor | 2 +- .../ContextValues/Canvas/Graph/GraphRenderer.razor | 4 ++-- .../CaseInfo/PipelinePartResultsRenderer.razor | 1 + .../CaseInfo/PipelinePartResultsRenderer.razor.css | 10 ++++------ 6 files changed, 16 insertions(+), 19 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor index 4ebcc641d..2a7663b76 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor @@ -6,11 +6,11 @@ @if (myIsDrawing) { - + } -
-
+
+
@@ -39,7 +39,7 @@ return Task.CompletedTask; } - public Task ExportGraph(string fileName) => + public Task ExportGraph(string fileName) => Js.InvokeVoidAsync("exportCytoscapeToSvg", myCytoscapeReference, fileName).AsTask(); private void ReRenderCanvasInternal() diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor.css b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor.css index cab05e8ac..0559572fd 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor.css +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor.css @@ -5,16 +5,14 @@ height: 100%; background-color: var(--cv-section-content-color); padding: 5px; -} - -.canvas-container-fullscreen { - width: 100%; - height: 100%; - padding: 5px; + flex-grow: 1; + display: flex; + flex-direction: column; } .cytoscape-canvas { width: 100%; height: 100%; padding: 5px; + flex-grow: 1; } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index 4d963817e..f571144e5 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -9,7 +9,7 @@ { var height = Context.Layout.CalculateHeight() * FlamegraphConstants.Height; -
+
} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor index 72f9c69dc..a07fb8c4d 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor @@ -8,7 +8,7 @@
-
+
@@ -16,7 +16,7 @@ Export to SVG -
+
@if (mySettings is { RenderDagLcsInFlamegraphMode: true }) {
+ @if (myIsFullScreen) {
diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor.css b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor.css index be88853d4..33747743b 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor.css +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor.css @@ -61,24 +61,22 @@ } .pipeline-part-context-values-outer-container { - display: grid; - grid-template-rows: 0fr; + background-color: var(--cv-section-content-color); + visibility: collapse; overflow: hidden; - transition: grid-template-rows 1s; } .pipeline-part-context-values-inner-container { + width: 100%; align-self: end; min-height: 0; - transition: visibility 1s; - visibility: hidden; + visibility: collapse; background-color: var(--cv-section-content-color); color: var(--cv-section-content-text-color); } .outer-container-checked { - grid-template-rows: 1fr; visibility: visible; } From abcbffe3162a045a569ff01c3f9452e50cb7a394 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 3 Oct 2025 15:12:50 +0300 Subject: [PATCH 064/189] Add common checkbox --- .../Canvas/Graph/BoolCheckbox.razor | 13 ---------- .../Canvas/Graph/EnhancementsSettings.razor | 15 ++++++------ .../Graph/GraphLikeEntitySettings.razor | 9 ++++--- .../Components/Utils/BoolCheckbox.razor | 24 +++++++++++++++++++ 4 files changed, 37 insertions(+), 24 deletions(-) delete mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/BoolCheckbox.razor create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/Utils/BoolCheckbox.razor diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/BoolCheckbox.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/BoolCheckbox.razor deleted file mode 100644 index 57e7989e5..000000000 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/BoolCheckbox.razor +++ /dev/null @@ -1,13 +0,0 @@ -@using Radzen.Blazor - -
- - -
@Title
-
- -@code { - [Parameter] public required string Title { get; init; } - [Parameter] public required Action HandleValueUpdate { get; init; } -} \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/EnhancementsSettings.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/EnhancementsSettings.razor index eaa221d71..228f553cd 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/EnhancementsSettings.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/EnhancementsSettings.razor @@ -1,4 +1,6 @@ -@if (myEnhancements is { }) +@using FicusDashboard.Components.Utils + +@if (myEnhancements is { }) { @foreach (var group in myEnhancements.GroupBy(e => e.Group).OrderBy(e => e.Key)) { @@ -9,13 +11,10 @@ @foreach (var enhancement in group) { -
- - -
@enhancement.DisplayName
-
+ }
} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor index df47c3f5c..79e470c3f 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor @@ -1,4 +1,5 @@ -@using Radzen +@using FicusDashboard.Components.Utils +@using Radzen @using Radzen.Blazor
Spacing factor:
- @if (CanRenderFlamegraph) { - } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/Utils/BoolCheckbox.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/Utils/BoolCheckbox.razor new file mode 100644 index 000000000..df18eaacd --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/Utils/BoolCheckbox.razor @@ -0,0 +1,24 @@ +@typeparam T + +
+ @if (Checked) + { + + } + else + { + + } + +
@Title
+
+ +@code { + [Parameter] public required string Title { get; init; } + [Parameter] public required Action Handler { get; init; } + [Parameter] public bool Checked { get; init; } + [Parameter] public T? Data { get; init; } +} \ No newline at end of file From 08f942c7c84c3866359acfa3427b9309b6b17d88 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 3 Oct 2025 15:16:31 +0300 Subject: [PATCH 065/189] Dont wrap titles of checkboxes --- .../FicusDashboard/Components/Utils/BoolCheckbox.razor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/Utils/BoolCheckbox.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/Utils/BoolCheckbox.razor index df18eaacd..2725903f4 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/Utils/BoolCheckbox.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/Utils/BoolCheckbox.razor @@ -13,7 +13,7 @@ @onchange="@(args => Handler(args.Value is true, Data))"/> } -
@Title
+
@Title
@code { From 9a9f9ab219e7bdcc96626df4d636f3a57a2355b2 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 3 Oct 2025 15:53:46 +0300 Subject: [PATCH 066/189] Continuing fixing visual issues --- .../ContextValues/Canvas/CanvasComponent.razor | 11 ++++++----- .../CaseInfo/PipelinePartResultsRenderer.razor.css | 8 ++++---- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor index 2a7663b76..fdfb7693a 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor @@ -4,10 +4,12 @@ @inject IJSRuntime Js -@if (myIsDrawing) -{ - -} +
+ @if (myIsDrawing) + { + + } +
@@ -64,5 +66,4 @@ myRequestedToRerender = true; ReRenderCanvasInternal(); } - } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor.css b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor.css index 33747743b..f68a00bd5 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor.css +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor.css @@ -62,7 +62,7 @@ .pipeline-part-context-values-outer-container { background-color: var(--cv-section-content-color); - visibility: collapse; + height: 1px; overflow: hidden; } @@ -70,18 +70,18 @@ width: 100%; align-self: end; min-height: 0; - visibility: collapse; + height: 1px; background-color: var(--cv-section-content-color); color: var(--cv-section-content-text-color); } .outer-container-checked { - visibility: visible; + height: auto; } .inner-container-checked { - visibility: visible; + height: auto; } .pipeline-part-result-selection-buttons-container { From 0728818fd0339b8237d7d188c09d147598755342 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 3 Oct 2025 16:10:25 +0300 Subject: [PATCH 067/189] Fix rendering --- .../CaseInfo/ContextValues/Canvas/CanvasComponent.razor | 2 +- .../CaseInfo/ContextValues/Canvas/CanvasComponent.razor.css | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor index fdfb7693a..13465eea5 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor @@ -4,7 +4,7 @@ @inject IJSRuntime Js -
+
@if (myIsDrawing) { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor.css b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor.css index 0559572fd..916dfee69 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor.css +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/CanvasComponent.razor.css @@ -1,8 +1,6 @@ .canvas-container { min-width: 800px; min-height: 650px; - width: 100%; - height: 100%; background-color: var(--cv-section-content-color); padding: 5px; flex-grow: 1; From 2b775f69bc56d4585575c68c95dfcc07c959604f Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 3 Oct 2025 23:03:35 +0300 Subject: [PATCH 068/189] WIP on better edges enhancements for flamegraphs --- .../FicusDashboard/Npm/src/graph/labels/util.ts | 4 ++-- .../front/FicusFrontend/FicusDashboard/wwwroot/css/app.css | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/util.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/util.ts index 7f3b852f7..124422705 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/util.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/util.ts @@ -40,7 +40,7 @@ export function createEnhancementContainer( return `
${title}
-
+
${content}
@@ -113,7 +113,7 @@ export function createNumberInformation( return `
+ style="background-color: ${getPerformanceAnnotationColor(value / totalValue)} !important; border-radius: 5px;">
${createNumberInfoHtml(category, displayValue, units, percentString, horizontal)}
diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css b/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css index cd9ccd7f5..a8b0bab30 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css @@ -245,9 +245,11 @@ svg-pie-chart svg { .graph-content-container { background: #5d5d5d; width: fit-content; - height: fit-content; + height: 100%; padding: 5px; - border-radius: 5px; + display: flex; + flex-direction: column; + justify-content: center; } .update-notification { From ecef1287cc184268b23fa0df83e87121596a78b4 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 3 Oct 2025 23:34:52 +0300 Subject: [PATCH 069/189] Make width consistently 100% --- .../FicusDashboard/Npm/src/graph/labels/edge_html_label.ts | 4 ++-- .../FicusFrontend/FicusDashboard/Npm/src/graph/labels/util.ts | 4 ++-- .../front/FicusFrontend/FicusDashboard/wwwroot/css/app.css | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/edge_html_label.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/edge_html_label.ts index 26829dcc0..971c33170 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/edge_html_label.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/edge_html_label.ts @@ -125,8 +125,8 @@ function createEdgeSoftwareEnhancementPart( let percent = totalSum != null ? ((valuesSum / totalSum) * 100).toFixed(2) : null; return ` -
-
+
+
${title} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/util.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/util.ts index 124422705..3dd4b913e 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/util.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/util.ts @@ -40,7 +40,7 @@ export function createEnhancementContainer( return `
${title}
-
+
${content}
@@ -82,7 +82,7 @@ export function createRectangleHistogram(sortedHistogramEntries: [string, number let borderWidthPx = 6; return ` -
Date: Fri, 3 Oct 2025 23:54:37 +0300 Subject: [PATCH 070/189] Consistent widths once again --- .../FicusFrontend/FicusDashboard/Npm/src/graph/labels/util.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/util.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/util.ts index 3dd4b913e..6a7eb7455 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/util.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/util.ts @@ -40,7 +40,7 @@ export function createEnhancementContainer( return `
${title}
-
+
${content}
@@ -111,7 +111,7 @@ export function createNumberInformation( let percentString = getPercentExecutionTime(value, totalValue); return ` -
+
From b33f5c758fdde7f3d50ab12e7f7a98ae314ae1d8 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 4 Oct 2025 00:57:32 +0300 Subject: [PATCH 071/189] Add [de]select all enhancements option --- .../Canvas/Graph/EnhancementsSettings.razor | 50 +++++++++++++++---- .../Graph/GraphLikeEntitySettings.razor | 4 +- 2 files changed, 42 insertions(+), 12 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/EnhancementsSettings.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/EnhancementsSettings.razor index 228f553cd..03fab72eb 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/EnhancementsSettings.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/EnhancementsSettings.razor @@ -1,7 +1,14 @@ @using FicusDashboard.Components.Utils -@if (myEnhancements is { }) +@if (myEnhancements is not null) { +
+ +
+ @foreach (var group in myEnhancements.GroupBy(e => e.Group).OrderBy(e => e.Key)) {
@@ -9,13 +16,15 @@ @(string.IsNullOrWhiteSpace(group.Key) ? "Ungrouped" : group.Key)
- @foreach (var enhancement in group) - { - - } +
+ @foreach (var enhancement in group) + { + + } +
} } @@ -33,7 +42,7 @@ [Parameter] public required List? Enhancements { get; init; } - + private bool myNextState = true; private List? myEnhancements; private HashSet mySelectedEnhancements = null!; @@ -47,7 +56,7 @@ myEnhancements = Enhancements; - if (myEnhancements is not { }) return; + if (myEnhancements is null) return; mySelectedEnhancements = myEnhancements.ToHashSet(); } @@ -64,4 +73,25 @@ } } + private void SelectOrDeselectAll() + { + if (myEnhancements is null) return; + + if (!myNextState) + { + foreach (var name in myEnhancements) + { + mySelectedEnhancements.Add(name); + } + } + else + { + mySelectedEnhancements.Clear(); + } + + myNextState = !myNextState; + + StateHasChanged(); + } + } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor index 79e470c3f..f388c3ec0 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor @@ -17,7 +17,7 @@ }
Spacing factor:
- + + Style="margin-top: 10px;"> From 02ebf35f09f12afbe652c22516a0840c9b5fb0d8 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 4 Oct 2025 01:38:05 +0300 Subject: [PATCH 072/189] WIP on event classes as names --- .../Flamegraph/Context/FlamegraphContext.cs | 18 ++++++++++++++++++ .../Flamegraph/FlamegraphGraphRenderer.razor | 6 ++++-- .../Flamegraph/SequentialBlockRenderer.razor | 4 ++-- .../Canvas/Graph/GraphRenderer.razor | 11 ++++++----- 4 files changed, 30 insertions(+), 9 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index 02590ba21..ddc12a833 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -40,6 +40,7 @@ public class FlamegraphRenderingContext { public required FlamegraphContext Context { get; init; } public required Dictionary EnhancedEdges { get; init; } + public required bool EventClassesAsName { get; init; } public EnhancedEdge GetEnhancedEdge(ulong fromNode, ulong toNode) @@ -47,4 +48,21 @@ public EnhancedEdge GetEnhancedEdge(ulong fromNode, ulong toNode) var edge = Context.NodePairsToIds[(fromNode, toNode)]; return EnhancedEdges[edge.Id]; } + + public string GetNodeName(ulong nodeId) => EventClassesAsName switch + { + true => CreateEventClassesName(nodeId), + false => Context.IdsToNodes[nodeId].Data + }; + + private string CreateEventClassesName(ulong nodeId) => + string.Join( + "\n", + Context.IdsToNodes[nodeId].AdditionalData + .Where(x => x.SoftwareData?.Histogram is { }) + .SelectMany(x => x.SoftwareData.Histogram.Select(h => h.Name)) + .Where(x => x is { }) + .Order() + .Take(3) + ); } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index f571144e5..925263b30 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -5,7 +5,7 @@ @inject IJSRuntime Js; -@if (myRenderingContext is { }) +@if (myRenderingContext is not null) { var height = Context.Layout.CalculateHeight() * FlamegraphConstants.Height; @@ -23,6 +23,7 @@ else [Parameter] public required GraphLikeEntitySettings Settings { get; init; } [Parameter] public required AggregatedData AggregatedData { get; init; } [Parameter] public required GrpcAnnotation? Annotation { get; init; } + [Parameter] public required bool EventClassesAsName { get; init; } private FlamegraphRenderingContext? myRenderingContext; @@ -36,7 +37,8 @@ else myRenderingContext = new FlamegraphRenderingContext { Context = Context, - EnhancedEdges = enhancedEdges.ToDictionary(e => e.Id, e => e) + EnhancedEdges = enhancedEdges.ToDictionary(e => e.Id, e => e), + EventClassesAsName = EventClassesAsName }; StateHasChanged(); diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index 2829c2f63..d0af9ae27 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -4,9 +4,9 @@ { var height = FlamegraphConstants.Height * Block.CalculateHeight(); -
- @Context.Context.IdsToNodes[node].Data + @Context.GetNodeName(node)
@if (index >= Block.NodesSequence.Count - 1) continue; diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor index a07fb8c4d..0557b6e36 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor @@ -17,12 +17,13 @@
- @if (mySettings is { RenderDagLcsInFlamegraphMode: true }) + @if (mySettings is { RenderDagLcsInFlamegraphMode: true, UseEventClassesAsLabels: var eventClassesAsLabels }) { - + } else { From bd4882017c5714991339eecaade8817e2583969f Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 4 Oct 2025 14:26:43 +0300 Subject: [PATCH 073/189] Take distinct event classes --- .../Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index ddc12a833..0665b9c48 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -62,6 +62,7 @@ private string CreateEventClassesName(ulong nodeId) => .Where(x => x.SoftwareData?.Histogram is { }) .SelectMany(x => x.SoftwareData.Histogram.Select(h => h.Name)) .Where(x => x is { }) + .Distinct() .Order() .Take(3) ); From 8ee5e8ad035776872ac294fdc862cc715516abef Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 4 Oct 2025 15:11:35 +0300 Subject: [PATCH 074/189] Allow nodes to adjust its height + some fixes --- .../Flamegraph/CompositeBlockRenderer.razor | 2 +- .../Flamegraph/Context/FlamegraphContext.cs | 20 +++++++++++-------- .../Flamegraph/SequentialBlockRenderer.razor | 9 ++++++++- .../Canvas/Graph/GraphRenderer.razor | 2 +- .../FicusDashboard/wwwroot/css/app.css | 2 ++ 5 files changed, 24 insertions(+), 11 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index fa2034103..59ccef0bf 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -58,7 +58,7 @@ height = block.CalculateHeight() * FlamegraphConstants.Height; EnhancedEdge? edge; -
+
@if (compositeBlock is HorizontalCompositeBlock { InnerBlocks: { Count: > 0 } items } horizontalBlock && items[0] is not VerticalCompositeBlock) { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index 0665b9c48..9ae44f7da 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -49,21 +49,25 @@ public EnhancedEdge GetEnhancedEdge(ulong fromNode, ulong toNode) return EnhancedEdges[edge.Id]; } - public string GetNodeName(ulong nodeId) => EventClassesAsName switch + public List GetNodeName(ulong nodeId) => EventClassesAsName switch { - true => CreateEventClassesName(nodeId), - false => Context.IdsToNodes[nodeId].Data + true => GetTopThreeEventClasses(nodeId), + false => GetDefaultNodeName(nodeId) }; - private string CreateEventClassesName(ulong nodeId) => - string.Join( - "\n", - Context.IdsToNodes[nodeId].AdditionalData + private List GetDefaultNodeName(ulong nodeId) => [Context.IdsToNodes[nodeId].Data]; + + private List GetTopThreeEventClasses(ulong nodeId) => + Context.IdsToNodes[nodeId].AdditionalData .Where(x => x.SoftwareData?.Histogram is { }) .SelectMany(x => x.SoftwareData.Histogram.Select(h => h.Name)) .Where(x => x is { }) .Distinct() .Order() .Take(3) - ); + .ToList() switch + { + { Count: > 0 } eventClasses => eventClasses, + _ => GetDefaultNodeName(nodeId) + }; } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index d0af9ae27..5966f63f8 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -1,4 +1,6 @@ @using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context + +
@foreach (var (index, node) in Block.NodesSequence.Index()) { @@ -6,7 +8,12 @@
- @Context.GetNodeName(node) + @foreach (var eventClass in Context.GetNodeName(node)) + { +
+ @eventClass +
+ }
@if (index >= Block.NodesSequence.Count - 1) continue; diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor index 0557b6e36..0215b6188 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor @@ -16,7 +16,7 @@ Export to SVG -
+
@if (mySettings is { RenderDagLcsInFlamegraphMode: true, UseEventClassesAsLabels: var eventClassesAsLabels }) { Date: Sat, 4 Oct 2025 19:13:28 +0300 Subject: [PATCH 075/189] [Not finished] WIP on top-to-bottom rendering --- .../Flamegraph/CompositeBlockRenderer.razor | 22 +++++++++---------- .../Flamegraph/Context/FlamegraphContext.cs | 15 +++++++++++++ .../Flamegraph/FlamegraphGraphRenderer.razor | 4 ++-- .../Flamegraph/SequentialBlockRenderer.razor | 8 +++---- .../Canvas/Graph/GraphRenderer.razor | 5 ++--- 5 files changed, 34 insertions(+), 20 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index 59ccef0bf..92121c948 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -4,12 +4,12 @@ var height = Block.CalculateHeight() * FlamegraphConstants.Height; } -
+
@switch (Block) { case HorizontalCompositeBlock: { -
+
@foreach (var (index, block) in Block.InnerBlocks.Index()) { @RenderBlock(block) @@ -24,8 +24,8 @@ edge = Context.GetEnhancedEdge(lastNode, nextNode); } - var width = $"{FlamegraphConstants.EdgeWidth}px"; - + var (edgeWidth, edgeHeight) = Context.AdjustWidthAndHeight($"{FlamegraphConstants.EdgeWidth}px", "100%"); + } }
@@ -34,7 +34,7 @@ } case VerticalCompositeBlock verticalBlock: { -
+
@foreach (var block in Block.InnerBlocks) { switch (block) @@ -42,13 +42,13 @@ case EdgeBlock edgeBlock: var enhancedEdge = Context.GetEnhancedEdge(edgeBlock.FromNode, edgeBlock.ToNode); height = FlamegraphConstants.Height * block.CalculateHeight(); - var heightStr = $"{height}px"; - + var (edgeWidth, edgeHeight) = Context.AdjustWidthAndHeight("100%", $"{height}px"); + break; case SeparatorBlock: -
@@ -58,7 +58,7 @@ height = block.CalculateHeight() * FlamegraphConstants.Height; EnhancedEdge? edge; -
+
@if (compositeBlock is HorizontalCompositeBlock { InnerBlocks: { Count: > 0 } items } horizontalBlock && items[0] is not VerticalCompositeBlock) { @@ -68,8 +68,8 @@ edge = Context.GetEnhancedEdge(verticalBlock.FromNode, firstNode); } - var width = $"{FlamegraphConstants.EdgeWidth}px"; - + (edgeWidth, edgeHeight) = Context.AdjustWidthAndHeight($"{FlamegraphConstants.EdgeWidth}px", "100%"); + } @RenderBlock(block) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index 9ae44f7da..206e94544 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -41,6 +41,16 @@ public class FlamegraphRenderingContext public required FlamegraphContext Context { get; init; } public required Dictionary EnhancedEdges { get; init; } public required bool EventClassesAsName { get; init; } + public required bool LeftToRight { get; init; } + + public string MainDim => LeftToRight ? "height" : "width"; + public string SecondDim => LeftToRight ? "width" : "height"; + + public string MinMainDim => "min-" + MainDim; + public string MinSecondDim => "min-" + SecondDim; + + public string SecondFlexDirection => LeftToRight ? "column" : "row"; + public string MainFlexDirection => LeftToRight ? "row" : "column"; public EnhancedEdge GetEnhancedEdge(ulong fromNode, ulong toNode) @@ -55,6 +65,11 @@ public EnhancedEdge GetEnhancedEdge(ulong fromNode, ulong toNode) false => GetDefaultNodeName(nodeId) }; + public (string, string) AdjustWidthAndHeight(string originalWidth, string originalHeight) + { + return !LeftToRight ? (originalHeight, originalWidth) : (originalWidth, originalHeight); + } + private List GetDefaultNodeName(ulong nodeId) => [Context.IdsToNodes[nodeId].Data]; private List GetTopThreeEventClasses(ulong nodeId) => diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index 925263b30..b3438f15d 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -23,7 +23,6 @@ else [Parameter] public required GraphLikeEntitySettings Settings { get; init; } [Parameter] public required AggregatedData AggregatedData { get; init; } [Parameter] public required GrpcAnnotation? Annotation { get; init; } - [Parameter] public required bool EventClassesAsName { get; init; } private FlamegraphRenderingContext? myRenderingContext; @@ -38,7 +37,8 @@ else { Context = Context, EnhancedEdges = enhancedEdges.ToDictionary(e => e.Id, e => e), - EventClassesAsName = EventClassesAsName + EventClassesAsName = Settings.UseEventClassesAsLabels, + LeftToRight = Settings.UseLROrientation }; StateHasChanged(); diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index 5966f63f8..012b76934 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -1,12 +1,12 @@ @using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context -
+
@foreach (var (index, node) in Block.NodesSequence.Index()) { var height = FlamegraphConstants.Height * Block.CalculateHeight(); -
@foreach (var eventClass in Context.GetNodeName(node)) { @@ -19,9 +19,9 @@ @if (index >= Block.NodesSequence.Count - 1) continue; var enhancedEdge = Context.GetEnhancedEdge(node, Block.NodesSequence[index + 1]); - var width = $"{FlamegraphConstants.EdgeWidth}px"; - + var (edgeWidth, edgeHeight) = Context.AdjustWidthAndHeight($"{FlamegraphConstants.EdgeWidth}px", "100%"); + }
diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor index 0215b6188..1c34846c6 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor @@ -17,13 +17,12 @@
- @if (mySettings is { RenderDagLcsInFlamegraphMode: true, UseEventClassesAsLabels: var eventClassesAsLabels }) + @if (mySettings is { RenderDagLcsInFlamegraphMode: true }) { + Settings="mySettings"/> } else { From 39cf27d19a4c665297e679e2670081d5a4457a57 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 4 Oct 2025 19:52:57 +0300 Subject: [PATCH 076/189] WIP on top-to-bototm flamegraph rendering --- .../Flamegraph/CompositeBlockRenderer.razor | 8 +++---- .../Flamegraph/Context/FlamegraphContext.cs | 2 +- .../Graph/Flamegraph/EdgeRenderer.razor | 22 ++++++++++++++----- .../Flamegraph/SequentialBlockRenderer.razor | 7 ++++-- .../FicusDashboard/wwwroot/css/app.css | 1 - 5 files changed, 27 insertions(+), 13 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index 92121c948..777db5ad1 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -24,7 +24,7 @@ edge = Context.GetEnhancedEdge(lastNode, nextNode); } - var (edgeWidth, edgeHeight) = Context.AdjustWidthAndHeight($"{FlamegraphConstants.EdgeWidth}px", "100%"); + var (edgeWidth, edgeHeight) = Context.AdjustWidthAndHeight(null, "100%"); } } @@ -48,7 +48,7 @@ break; case SeparatorBlock: -
@@ -58,7 +58,7 @@ height = block.CalculateHeight() * FlamegraphConstants.Height; EnhancedEdge? edge; -
+
@if (compositeBlock is HorizontalCompositeBlock { InnerBlocks: { Count: > 0 } items } horizontalBlock && items[0] is not VerticalCompositeBlock) { @@ -68,7 +68,7 @@ edge = Context.GetEnhancedEdge(verticalBlock.FromNode, firstNode); } - (edgeWidth, edgeHeight) = Context.AdjustWidthAndHeight($"{FlamegraphConstants.EdgeWidth}px", "100%"); + (edgeWidth, edgeHeight) = Context.AdjustWidthAndHeight(null, "100%"); } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index 206e94544..1baaa7409 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -65,7 +65,7 @@ public EnhancedEdge GetEnhancedEdge(ulong fromNode, ulong toNode) false => GetDefaultNodeName(nodeId) }; - public (string, string) AdjustWidthAndHeight(string originalWidth, string originalHeight) + public (string?, string?) AdjustWidthAndHeight(string? originalWidth, string? originalHeight) { return !LeftToRight ? (originalHeight, originalWidth) : (originalWidth, originalHeight); } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor index c017ea632..d7f285a78 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor @@ -1,6 +1,16 @@ -
- @if (EnhancedEdge is not null) +@using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context + +@{ + var style = string.Empty; + if (Height is { }) style += $"height: {Height};"; + if (Width is { }) style += $"width: {Width};"; + + style += $"background: {EnhancedEdge?.Color} !important;"; +} + +
+ + @if (EnhancedEdge is { }) {
@@ -13,10 +23,12 @@ @((MarkupString)EnhancedEdge.Html) } +
@code { - [Parameter] public required string Height { get; init; } - [Parameter] public required string Width { get; init; } + [Parameter] public required string? Height { get; init; } + [Parameter] public required string? Width { get; init; } [Parameter] public required EnhancedEdge? EnhancedEdge { get; init; } + [Parameter] public required FlamegraphRenderingContext Context { get; init; } } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index 012b76934..d55a7b709 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -5,22 +5,25 @@ @foreach (var (index, node) in Block.NodesSequence.Index()) { var height = FlamegraphConstants.Height * Block.CalculateHeight(); + var writingMode = Context.LeftToRight ? " writing-mode: vertical-rl;" : string.Empty; -
+ @foreach (var eventClass in Context.GetNodeName(node)) {
@eventClass
} +
@if (index >= Block.NodesSequence.Count - 1) continue; var enhancedEdge = Context.GetEnhancedEdge(node, Block.NodesSequence[index + 1]); - var (edgeWidth, edgeHeight) = Context.AdjustWidthAndHeight($"{FlamegraphConstants.EdgeWidth}px", "100%"); + var (edgeWidth, edgeHeight) = Context.AdjustWidthAndHeight(null, "100%"); }
diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css b/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css index e0dbcdcc4..b0d059c0a 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css @@ -266,7 +266,6 @@ svg-pie-chart svg { .flamegraph-node { background: var(--flamegraph-node-background); - writing-mode: vertical-rl; text-align: center; display: flex; flex-direction: column; From 93e002ace3f97e1e2ec89c7b4ad6a36096bf9c56 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 4 Oct 2025 20:20:01 +0300 Subject: [PATCH 077/189] WIP + refactorings --- .../Canvas/Graph/Flamegraph/BasicBlock.cs | 12 ++++++------ .../Graph/Flamegraph/CompositeBlockRenderer.razor | 14 ++++---------- .../Canvas/Graph/Flamegraph/FlamegraphConstants.cs | 2 +- .../Graph/Flamegraph/FlamegraphGraphRenderer.razor | 4 ++-- .../Graph/Flamegraph/SequentialBlockRenderer.razor | 4 ++-- 5 files changed, 15 insertions(+), 21 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs index 616aa297a..9221b292b 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/BasicBlock.cs @@ -10,7 +10,7 @@ public static class ModelSizes public abstract class BasicBlock { - public abstract int CalculateHeight(); + public abstract int CalculateMainDim(); public virtual ulong? GetFirstNode() => null; public virtual ulong? GetLastNode() => null; @@ -23,7 +23,7 @@ public abstract class CompositeBlockBase : BasicBlock public class HorizontalCompositeBlock : CompositeBlockBase { - public override int CalculateHeight() => InnerBlocks.Select(b => b.CalculateHeight()).Max(); + public override int CalculateMainDim() => InnerBlocks.Select(b => b.CalculateMainDim()).Max(); public override ulong? GetFirstNode() => InnerBlocks.Count is 0 ? null : InnerBlocks[0].GetFirstNode(); public override ulong? GetLastNode() => InnerBlocks.Count is 0 ? null : InnerBlocks[^1].GetLastNode(); @@ -35,7 +35,7 @@ public class VerticalCompositeBlock : CompositeBlockBase public required ulong ToNode { get; init; } - public override int CalculateHeight() => InnerBlocks.Sum(b => b.CalculateHeight()); + public override int CalculateMainDim() => InnerBlocks.Sum(b => b.CalculateMainDim()); } public class EdgeBlock : BasicBlock @@ -44,7 +44,7 @@ public class EdgeBlock : BasicBlock public required ulong ToNode { get; init; } - public override int CalculateHeight() + public override int CalculateMainDim() { return ModelSizes.EdgeBlock; } @@ -52,14 +52,14 @@ public override int CalculateHeight() public class SeparatorBlock : BasicBlock { - public override int CalculateHeight() => ModelSizes.Separtor; + public override int CalculateMainDim() => ModelSizes.Separtor; } public class SequentialBasicBlock : BasicBlock { public required List NodesSequence { get; init; } - public override int CalculateHeight() + public override int CalculateMainDim() { return ModelSizes.NodeHeight; } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index 777db5ad1..35152fab8 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -1,10 +1,6 @@ @using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context -@{ - var height = Block.CalculateHeight() * FlamegraphConstants.Height; -} - -
+
@switch (Block) { case HorizontalCompositeBlock: @@ -41,24 +37,22 @@ { case EdgeBlock edgeBlock: var enhancedEdge = Context.GetEnhancedEdge(edgeBlock.FromNode, edgeBlock.ToNode); - height = FlamegraphConstants.Height * block.CalculateHeight(); - var (edgeWidth, edgeHeight) = Context.AdjustWidthAndHeight("100%", $"{height}px"); + var (edgeWidth, edgeHeight) = Context.AdjustWidthAndHeight("100%", $"{FlamegraphConstants.MainDim * block.CalculateMainDim()}px"); break; case SeparatorBlock: -
break; case CompositeBlockBase compositeBlock: { - height = block.CalculateHeight() * FlamegraphConstants.Height; EnhancedEdge? edge; -
+
@if (compositeBlock is HorizontalCompositeBlock { InnerBlocks: { Count: > 0 } items } horizontalBlock && items[0] is not VerticalCompositeBlock) { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs index ce9940996..939bdc3a8 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs @@ -2,7 +2,7 @@ internal static class FlamegraphConstants { - public const int Height = 35; + public const int MainDim = 35; public const int NodeWidth = 30; public const int EdgeWidth = 40; } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index b3438f15d..28f9ddc0b 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -7,9 +7,9 @@ @if (myRenderingContext is not null) { - var height = Context.Layout.CalculateHeight() * FlamegraphConstants.Height; + var height = Context.Layout.CalculateMainDim() * FlamegraphConstants.MainDim; -
+
} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index d55a7b709..cac656994 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -1,10 +1,10 @@ @using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context -
+
@foreach (var (index, node) in Block.NodesSequence.Index()) { - var height = FlamegraphConstants.Height * Block.CalculateHeight(); + var height = FlamegraphConstants.MainDim * Block.CalculateMainDim(); var writingMode = Context.LeftToRight ? " writing-mode: vertical-rl;" : string.Empty;
Date: Sat, 4 Oct 2025 22:36:10 +0300 Subject: [PATCH 078/189] Fixing rendering issues --- .../Canvas/Graph/Flamegraph/EdgeRenderer.razor | 5 ++++- .../CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor | 6 +++--- .../front/FicusFrontend/FicusDashboard/wwwroot/css/app.css | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor index d7f285a78..1cc5edbe8 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor @@ -21,7 +21,10 @@
- @((MarkupString)EnhancedEdge.Html) +
+ @((MarkupString)EnhancedEdge.Html) +
}
diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor index 1c34846c6..34bf6c8a6 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor @@ -8,7 +8,7 @@
-
+
@@ -16,7 +16,7 @@ Export to SVG -
+
@if (mySettings is { RenderDagLcsInFlamegraphMode: true }) {
-
+
@if (myAggregatedData is { IsEmpty: false } data) { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css b/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css index b0d059c0a..c244a3183 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css @@ -273,7 +273,7 @@ svg-pie-chart svg { .flamegraph-edge { background: var(--flamegraph-edge-background); - padding: 2px 5px 2px 5px; + padding: 2px; display: flex; flex-direction: column; align-items: center; From b09b9e9891f09b055e42f0aa5d68e0420f7236a7 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sun, 5 Oct 2025 21:37:35 +0300 Subject: [PATCH 079/189] Add OCEL object info extraction config --- .../timeline/software_data/extraction_config.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs index 66c2ba6a4..b01c75f89 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs @@ -13,6 +13,8 @@ pub struct SoftwareDataExtractionConfig { method_end: Option>, #[getset(get = "pub", set = "pub")] allocation: Option>, + #[getset(get = "pub", set = "pub")] + ocel: Option>, #[getset(get = "pub", set = "pub")] raw_control_flow_regexes: Vec, @@ -31,6 +33,7 @@ impl SoftwareDataExtractionConfig { method_start: None, method_end: None, allocation: None, + ocel: None, raw_control_flow_regexes: vec![], pie_chart_extraction_configs: vec![], simple_counter_configs: vec![], @@ -60,6 +63,16 @@ impl SoftwareDataExtractionConfig { } } +#[derive(Clone, Debug, Getters, Serialize, Deserialize, new)] +pub struct OcelDataExtractionConfig { + #[getset(get = "pub")] + object_type_attr: NameCreationStrategy, + #[getset(get = "pub")] + object_id_attr: NameCreationStrategy, + #[getset(get = "pub")] + object_action_type_attr: Option +} + #[derive(Clone, Debug, Getters, Serialize, Deserialize, new)] pub struct AllocationExtractionConfig { #[getset(get = "pub")] From e0ba86f7b70983e487f871ff34e87734a079f933 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 6 Oct 2025 14:32:27 +0300 Subject: [PATCH 080/189] Started adding ocel data --- Ficus/protos/pipelines_and_context.proto | 10 ++++++ .../timeline/software_data/models.rs | 21 ++++++++++++ Ficus/src/rust/ficus/src/grpc/converters.rs | 32 +++++++++++++++---- 3 files changed, 57 insertions(+), 6 deletions(-) diff --git a/Ficus/protos/pipelines_and_context.proto b/Ficus/protos/pipelines_and_context.proto index 589a0e256..455fd2c7b 100644 --- a/Ficus/protos/pipelines_and_context.proto +++ b/Ficus/protos/pipelines_and_context.proto @@ -256,6 +256,16 @@ message GrpcSoftwareData { repeated GrpcGeneralHistogramData histogram_data = 13; repeated GrpcSimpleCounterData simple_counter_data = 14; repeated GrpcActivityDurationData activities_durations_data = 15; + repeated GrpcOcelData ocel_data = 16; +} + +message GrpcOcelData { + string object_type = 1; + string object_id = 2; + oneof action { + google.protobuf.Empty Allocate = 3; + google.protobuf.Empty Consume = 4; + } } message GrpcActivityDurationData { diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs index 7ca1bc8b7..5c5c55a15 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs @@ -26,6 +26,10 @@ pub struct SoftwareData { #[getset(get = "pub", get_mut = "pub")] #[serde(skip_serializing_if = "Vec::is_empty")] activities_durations: Vec, + + #[getset(get = "pub", get_mut = "pub")] + #[serde(skip_serializing_if = "Vec::is_empty")] + ocel_data: Vec, } impl SoftwareData { @@ -36,10 +40,27 @@ impl SoftwareData { histograms: vec![], simple_counters: vec![], activities_durations: vec![], + ocel_data: vec![] } } } +#[derive(Clone, Debug, Serialize, Deserialize)] +pub enum OcelObjectAction { + Allocate, + Consume +} + +#[derive(Clone, Debug, Getters, new, Serialize, Deserialize)] +pub struct OcelData { + #[getset(get = "pub")] + object_type: String, + #[getset(get = "pub")] + object_id: String, + #[getset(get = "pub")] + action: OcelObjectAction +} + #[derive(Clone, Debug, Getters, MutGetters, new, Serialize, Deserialize)] pub struct HistogramData { #[getset(get = "pub")] diff --git a/Ficus/src/rust/ficus/src/grpc/converters.rs b/Ficus/src/rust/ficus/src/grpc/converters.rs index 7e16a0e47..871a757e9 100644 --- a/Ficus/src/rust/ficus/src/grpc/converters.rs +++ b/Ficus/src/rust/ficus/src/grpc/converters.rs @@ -23,11 +23,11 @@ use crate::features::discovery::root_sequence::models::{ ActivityStartEndTimeData, CorrespondingTraceData, EdgeTraceExecutionInfo, EventCoordinates, NodeAdditionalDataContainer, RootSequenceKind, }; use crate::features::discovery::timeline::discovery::{LogPoint, LogTimelineDiagram, TraceThread}; -use crate::features::discovery::timeline::software_data::models::{ActivityDurationData, DurationKind, GenericEnhancementBase, HistogramData, SimpleCounterData, SoftwareData}; +use crate::features::discovery::timeline::software_data::models::{ActivityDurationData, DurationKind, GenericEnhancementBase, HistogramData, OcelData, OcelObjectAction, SimpleCounterData, SoftwareData}; use crate::ficus_proto::grpc_annotation::Annotation::{CountAnnotation, FrequencyAnnotation, TimeAnnotation}; use crate::ficus_proto::grpc_context_value::ContextValue::Annotation; use crate::ficus_proto::grpc_node_additional_data::Data; -use crate::ficus_proto::{grpc_event_attribute, grpc_graph_edge_additional_data, GrpcActivityDurationData, GrpcActivityStartEndData, GrpcAllocationInfo, GrpcAnnotation, GrpcBytes, GrpcColorsEventLogMapping, GrpcCountAnnotation, GrpcDataset, GrpcDurationKind, GrpcEdgeExecutionInfo, GrpcEntityCountAnnotation, GrpcEntityFrequencyAnnotation, GrpcEntityTimeAnnotation, GrpcEvent, GrpcEventAttribute, GrpcEventCoordinates, GrpcFrequenciesAnnotation, GrpcGeneralHistogramData, GrpcGenericEnhancementBase, GrpcGraph, GrpcGraphEdge, GrpcGraphEdgeAdditionalData, GrpcGraphKind, GrpcGraphNode, GrpcGuid, GrpcHistogramEntry, GrpcLabeledDataset, GrpcLogPoint, GrpcLogTimelineDiagram, GrpcMatrix, GrpcMatrixRow, GrpcMethodInliningInfo, GrpcMethodNameParts, GrpcMultithreadedFragment, GrpcNodeAdditionalData, GrpcNodeCorrespondingTraceData, GrpcPetriNet, GrpcPetriNetArc, GrpcPetriNetMarking, GrpcPetriNetPlace, GrpcPetriNetSinglePlaceMarking, GrpcPetriNetTransition, GrpcSimpleCounterData, GrpcSimpleEventLog, GrpcSimpleTrace, GrpcSoftwareData, GrpcThread, GrpcThreadEvent, GrpcTimePerformanceAnnotation, GrpcTimeSpan, GrpcTimelineDiagramFragment, GrpcTimelineTraceEventsGroup, GrpcTraceTimelineDiagram, GrpcUnderlyingPatternInfo, GrpcUnderlyingPatternKind}; +use crate::ficus_proto::{grpc_event_attribute, grpc_graph_edge_additional_data, grpc_ocel_data, GrpcActivityDurationData, GrpcActivityStartEndData, GrpcAllocationInfo, GrpcAnnotation, GrpcBytes, GrpcColorsEventLogMapping, GrpcCountAnnotation, GrpcDataset, GrpcDurationKind, GrpcEdgeExecutionInfo, GrpcEntityCountAnnotation, GrpcEntityFrequencyAnnotation, GrpcEntityTimeAnnotation, GrpcEvent, GrpcEventAttribute, GrpcEventCoordinates, GrpcFrequenciesAnnotation, GrpcGeneralHistogramData, GrpcGenericEnhancementBase, GrpcGraph, GrpcGraphEdge, GrpcGraphEdgeAdditionalData, GrpcGraphKind, GrpcGraphNode, GrpcGuid, GrpcHistogramEntry, GrpcLabeledDataset, GrpcLogPoint, GrpcLogTimelineDiagram, GrpcMatrix, GrpcMatrixRow, GrpcMethodInliningInfo, GrpcMethodNameParts, GrpcMultithreadedFragment, GrpcNodeAdditionalData, GrpcNodeCorrespondingTraceData, GrpcOcelData, GrpcPetriNet, GrpcPetriNetArc, GrpcPetriNetMarking, GrpcPetriNetPlace, GrpcPetriNetSinglePlaceMarking, GrpcPetriNetTransition, GrpcSimpleCounterData, GrpcSimpleEventLog, GrpcSimpleTrace, GrpcSoftwareData, GrpcThread, GrpcThreadEvent, GrpcTimePerformanceAnnotation, GrpcTimeSpan, GrpcTimelineDiagramFragment, GrpcTimelineTraceEventsGroup, GrpcTraceTimelineDiagram, GrpcUnderlyingPatternInfo, GrpcUnderlyingPatternKind}; use crate::grpc::pipeline_executor::ServicePipelineExecutionContext; use crate::pipelines::activities_parts::{ActivitiesLogsSourceDto, UndefActivityHandlingStrategyDto}; use crate::pipelines::keys::context_keys::{BYTES_KEY, COLORS_EVENT_LOG_KEY, EVENT_LOG_INFO_KEY, EVENT_LOG_KEY, GRAPH_KEY, GRAPH_TIME_ANNOTATION_KEY, HASHES_EVENT_LOG_KEY, LABELED_LOG_TRACES_DATASET_KEY, LABELED_TRACES_ACTIVITIES_DATASET_KEY, LOG_THREADS_DIAGRAM_KEY, LOG_TRACES_DATASET_KEY, NAMES_EVENT_LOG_KEY, PATH_KEY, PATTERNS_KEY, PETRI_NET_COUNT_ANNOTATION_KEY, PETRI_NET_FREQUENCY_ANNOTATION_KEY, PETRI_NET_KEY, PETRI_NET_TRACE_FREQUENCY_ANNOTATION_KEY, REPEAT_SETS_KEY, SOFTWARE_DATA_EXTRACTION_CONFIG_KEY, TRACES_ACTIVITIES_DATASET_KEY}; @@ -155,7 +155,7 @@ pub(super) fn put_into_user_data( }, ) } - }, + } ContextValue::EventLog(log) => { let mut xes_log = XesEventLogImpl::empty(); @@ -741,7 +741,7 @@ fn convert_to_grpc_underlying_pattern_info(info: &UnderlyingPatternGraphInfo) -> UnderlyingPatternKind::NearSuperMaximalRepeat => GrpcUnderlyingPatternKind::NearSuperMaximalRepeat, UnderlyingPatternKind::Unknown => GrpcUnderlyingPatternKind::Unknown, }) - .into(), + .into(), base_sequence: match info.base_pattern() { None => vec![], Some(base_pattern) => base_pattern.clone(), @@ -787,7 +787,7 @@ fn convert_to_grpc_simple_trace(trace: &Vec>>) -> GrpcS }).collect() } else { vec![] - } + }, }) .collect(), } @@ -865,22 +865,42 @@ fn convert_to_grpc_software_data(software_data: &SoftwareData) -> GrpcSoftwareDa .iter() .map(|h| convert_to_grpc_histogram_data(h)) .collect(), + simple_counter_data: software_data .simple_counters() .iter() .map(|c| convert_to_grpc_simple_counter_data(c)) .collect(), + activities_durations_data: software_data .activities_durations() .iter() .map(|c| convert_to_grpc_activity_duration(c)) .collect(), + + ocel_data: software_data + .ocel_data() + .iter() + .map(|c| convert_to_grpc_ocel_data(c)) + .collect(), + timeline_diagram_fragment: Some(GrpcTimelineDiagramFragment { threads: convert_to_grpc_threads(software_data.thread_diagram_fragment()), }), } } +fn convert_to_grpc_ocel_data(data: &OcelData) -> GrpcOcelData { + GrpcOcelData { + object_id: data.object_id().to_owned(), + object_type: data.object_type().to_owned(), + action: Some(match data.action() { + OcelObjectAction::Allocate => grpc_ocel_data::Action::Allocate(()), + OcelObjectAction::Consume => grpc_ocel_data::Action::Consume(()), + }), + } +} + fn convert_to_grpc_activity_duration(data: &ActivityDurationData) -> GrpcActivityDurationData { GrpcActivityDurationData { base: Some(convert_to_grpc_generic_enhancement_base(data.base())), @@ -894,7 +914,7 @@ fn convert_to_grpc_activity_duration(data: &ActivityDurationData) -> GrpcActivit DurationKind::Minutes => GrpcDurationKind::Minutes, DurationKind::Hours => GrpcDurationKind::Hours, DurationKind::Days => GrpcDurationKind::Days - }) as i32 + }) as i32, } } From c7eb031f8d1baec6c9261ba831970436e92188db Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 6 Oct 2025 14:44:45 +0300 Subject: [PATCH 081/189] Regenerate models --- .../Npm/src/protos/backend_service.ts | 1 + .../Npm/src/protos/context_values_service.ts | 1 + .../Npm/src/protos/ficus/GrpcOcelData.ts | 19 + .../Npm/src/protos/ficus/GrpcSoftwareData.ts | 3 + .../Npm/src/protos/front_contract.ts | 1 + .../Npm/src/protos/kafka_service.ts | 1 + .../Npm/src/protos/pipelines_and_context.ts | 1 + .../go/grpcmodels/pipelines_and_context.pb.go | 398 ++++++++++++------ .../models/pipelines_and_context_pb2.py | 96 +++-- .../models/pipelines_and_context_pb2.pyi | 18 +- 10 files changed, 353 insertions(+), 186 deletions(-) create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelData.ts diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/backend_service.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/backend_service.ts index a66cec612..09972a5ae 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/backend_service.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/backend_service.ts @@ -75,6 +75,7 @@ export interface ProtoGrpcType { GrpcNamesTrace: MessageTypeDefinition GrpcNodeAdditionalData: MessageTypeDefinition GrpcNodeCorrespondingTraceData: MessageTypeDefinition + GrpcOcelData: MessageTypeDefinition GrpcParallelPipelinePart: MessageTypeDefinition GrpcParallelPipelineParts: MessageTypeDefinition GrpcPetriNet: MessageTypeDefinition diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/context_values_service.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/context_values_service.ts index 0c0e13021..beef79619 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/context_values_service.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/context_values_service.ts @@ -72,6 +72,7 @@ export interface ProtoGrpcType { GrpcNamesTrace: MessageTypeDefinition GrpcNodeAdditionalData: MessageTypeDefinition GrpcNodeCorrespondingTraceData: MessageTypeDefinition + GrpcOcelData: MessageTypeDefinition GrpcParallelPipelinePart: MessageTypeDefinition GrpcParallelPipelineParts: MessageTypeDefinition GrpcPetriNet: MessageTypeDefinition diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelData.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelData.ts new file mode 100644 index 000000000..9272356bb --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelData.ts @@ -0,0 +1,19 @@ +// Original file: ../../../../../protos/pipelines_and_context.proto + +import type { Empty_DONTUSE as _google_protobuf_Empty_DONTUSE, Empty as _google_protobuf_Empty } from '../google/protobuf/Empty'; + +export interface GrpcOcelData_DONTUSE { + 'objectType'?: (string); + 'objectId'?: (string); + 'Allocate'?: (_google_protobuf_Empty_DONTUSE | null); + 'Consume'?: (_google_protobuf_Empty_DONTUSE | null); + 'action'?: "Allocate"|"Consume"; +} + +export interface GrpcOcelData { + 'objectType': (string); + 'objectId': (string); + 'Allocate'?: (_google_protobuf_Empty | null); + 'Consume'?: (_google_protobuf_Empty | null); + 'action': "Allocate"|"Consume"; +} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcSoftwareData.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcSoftwareData.ts index 2e8b1f248..1b4ebcc27 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcSoftwareData.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcSoftwareData.ts @@ -5,6 +5,7 @@ import type { GrpcTimelineDiagramFragment_DONTUSE as _ficus_GrpcTimelineDiagramF import type { GrpcGeneralHistogramData_DONTUSE as _ficus_GrpcGeneralHistogramData_DONTUSE, GrpcGeneralHistogramData as _ficus_GrpcGeneralHistogramData } from '../ficus/GrpcGeneralHistogramData'; import type { GrpcSimpleCounterData_DONTUSE as _ficus_GrpcSimpleCounterData_DONTUSE, GrpcSimpleCounterData as _ficus_GrpcSimpleCounterData } from '../ficus/GrpcSimpleCounterData'; import type { GrpcActivityDurationData_DONTUSE as _ficus_GrpcActivityDurationData_DONTUSE, GrpcActivityDurationData as _ficus_GrpcActivityDurationData } from '../ficus/GrpcActivityDurationData'; +import type { GrpcOcelData_DONTUSE as _ficus_GrpcOcelData_DONTUSE, GrpcOcelData as _ficus_GrpcOcelData } from '../ficus/GrpcOcelData'; export interface GrpcSoftwareData_DONTUSE { 'histogram'?: (_ficus_GrpcHistogramEntry_DONTUSE)[]; @@ -12,6 +13,7 @@ export interface GrpcSoftwareData_DONTUSE { 'histogramData'?: (_ficus_GrpcGeneralHistogramData_DONTUSE)[]; 'simpleCounterData'?: (_ficus_GrpcSimpleCounterData_DONTUSE)[]; 'activitiesDurationsData'?: (_ficus_GrpcActivityDurationData_DONTUSE)[]; + 'ocelData'?: (_ficus_GrpcOcelData_DONTUSE)[]; } export interface GrpcSoftwareData { @@ -20,4 +22,5 @@ export interface GrpcSoftwareData { 'histogramData': (_ficus_GrpcGeneralHistogramData)[]; 'simpleCounterData': (_ficus_GrpcSimpleCounterData)[]; 'activitiesDurationsData': (_ficus_GrpcActivityDurationData)[]; + 'ocelData': (_ficus_GrpcOcelData)[]; } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/front_contract.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/front_contract.ts index a58538381..9701a51ea 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/front_contract.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/front_contract.ts @@ -74,6 +74,7 @@ export interface ProtoGrpcType { GrpcNamesTrace: MessageTypeDefinition GrpcNodeAdditionalData: MessageTypeDefinition GrpcNodeCorrespondingTraceData: MessageTypeDefinition + GrpcOcelData: MessageTypeDefinition GrpcParallelPipelinePart: MessageTypeDefinition GrpcParallelPipelineParts: MessageTypeDefinition GrpcPetriNet: MessageTypeDefinition diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/kafka_service.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/kafka_service.ts index 75d6e7fbc..e395ecb57 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/kafka_service.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/kafka_service.ts @@ -89,6 +89,7 @@ export interface ProtoGrpcType { GrpcNamesTrace: MessageTypeDefinition GrpcNodeAdditionalData: MessageTypeDefinition GrpcNodeCorrespondingTraceData: MessageTypeDefinition + GrpcOcelData: MessageTypeDefinition GrpcParallelPipelinePart: MessageTypeDefinition GrpcParallelPipelineParts: MessageTypeDefinition GrpcPetriNet: MessageTypeDefinition diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/pipelines_and_context.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/pipelines_and_context.ts index 9d98744fc..4d402f94f 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/pipelines_and_context.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/pipelines_and_context.ts @@ -68,6 +68,7 @@ export interface ProtoGrpcType { GrpcNamesTrace: MessageTypeDefinition GrpcNodeAdditionalData: MessageTypeDefinition GrpcNodeCorrespondingTraceData: MessageTypeDefinition + GrpcOcelData: MessageTypeDefinition GrpcParallelPipelinePart: MessageTypeDefinition GrpcParallelPipelineParts: MessageTypeDefinition GrpcPetriNet: MessageTypeDefinition diff --git a/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go b/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go index 735e1e00d..496a7659c 100644 --- a/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go +++ b/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go @@ -2836,6 +2836,7 @@ type GrpcSoftwareData struct { HistogramData []*GrpcGeneralHistogramData `protobuf:"bytes,13,rep,name=histogram_data,json=histogramData,proto3" json:"histogram_data,omitempty"` SimpleCounterData []*GrpcSimpleCounterData `protobuf:"bytes,14,rep,name=simple_counter_data,json=simpleCounterData,proto3" json:"simple_counter_data,omitempty"` ActivitiesDurationsData []*GrpcActivityDurationData `protobuf:"bytes,15,rep,name=activities_durations_data,json=activitiesDurationsData,proto3" json:"activities_durations_data,omitempty"` + OcelData []*GrpcOcelData `protobuf:"bytes,16,rep,name=ocel_data,json=ocelData,proto3" json:"ocel_data,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -2905,6 +2906,111 @@ func (x *GrpcSoftwareData) GetActivitiesDurationsData() []*GrpcActivityDurationD return nil } +func (x *GrpcSoftwareData) GetOcelData() []*GrpcOcelData { + if x != nil { + return x.OcelData + } + return nil +} + +type GrpcOcelData struct { + state protoimpl.MessageState `protogen:"open.v1"` + ObjectType string `protobuf:"bytes,1,opt,name=object_type,json=objectType,proto3" json:"object_type,omitempty"` + ObjectId string `protobuf:"bytes,2,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"` + // Types that are valid to be assigned to Action: + // + // *GrpcOcelData_Allocate + // *GrpcOcelData_Consume + Action isGrpcOcelData_Action `protobuf_oneof:"action"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrpcOcelData) Reset() { + *x = GrpcOcelData{} + mi := &file_pipelines_and_context_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrpcOcelData) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrpcOcelData) ProtoMessage() {} + +func (x *GrpcOcelData) ProtoReflect() protoreflect.Message { + mi := &file_pipelines_and_context_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrpcOcelData.ProtoReflect.Descriptor instead. +func (*GrpcOcelData) Descriptor() ([]byte, []int) { + return file_pipelines_and_context_proto_rawDescGZIP(), []int{41} +} + +func (x *GrpcOcelData) GetObjectType() string { + if x != nil { + return x.ObjectType + } + return "" +} + +func (x *GrpcOcelData) GetObjectId() string { + if x != nil { + return x.ObjectId + } + return "" +} + +func (x *GrpcOcelData) GetAction() isGrpcOcelData_Action { + if x != nil { + return x.Action + } + return nil +} + +func (x *GrpcOcelData) GetAllocate() *emptypb.Empty { + if x != nil { + if x, ok := x.Action.(*GrpcOcelData_Allocate); ok { + return x.Allocate + } + } + return nil +} + +func (x *GrpcOcelData) GetConsume() *emptypb.Empty { + if x != nil { + if x, ok := x.Action.(*GrpcOcelData_Consume); ok { + return x.Consume + } + } + return nil +} + +type isGrpcOcelData_Action interface { + isGrpcOcelData_Action() +} + +type GrpcOcelData_Allocate struct { + Allocate *emptypb.Empty `protobuf:"bytes,3,opt,name=Allocate,proto3,oneof"` +} + +type GrpcOcelData_Consume struct { + Consume *emptypb.Empty `protobuf:"bytes,4,opt,name=Consume,proto3,oneof"` +} + +func (*GrpcOcelData_Allocate) isGrpcOcelData_Action() {} + +func (*GrpcOcelData_Consume) isGrpcOcelData_Action() {} + type GrpcActivityDurationData struct { state protoimpl.MessageState `protogen:"open.v1"` Base *GrpcGenericEnhancementBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` @@ -2916,7 +3022,7 @@ type GrpcActivityDurationData struct { func (x *GrpcActivityDurationData) Reset() { *x = GrpcActivityDurationData{} - mi := &file_pipelines_and_context_proto_msgTypes[41] + mi := &file_pipelines_and_context_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2928,7 +3034,7 @@ func (x *GrpcActivityDurationData) String() string { func (*GrpcActivityDurationData) ProtoMessage() {} func (x *GrpcActivityDurationData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[41] + mi := &file_pipelines_and_context_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2941,7 +3047,7 @@ func (x *GrpcActivityDurationData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcActivityDurationData.ProtoReflect.Descriptor instead. func (*GrpcActivityDurationData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{41} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{42} } func (x *GrpcActivityDurationData) GetBase() *GrpcGenericEnhancementBase { @@ -2976,7 +3082,7 @@ type GrpcGenericEnhancementBase struct { func (x *GrpcGenericEnhancementBase) Reset() { *x = GrpcGenericEnhancementBase{} - mi := &file_pipelines_and_context_proto_msgTypes[42] + mi := &file_pipelines_and_context_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2988,7 +3094,7 @@ func (x *GrpcGenericEnhancementBase) String() string { func (*GrpcGenericEnhancementBase) ProtoMessage() {} func (x *GrpcGenericEnhancementBase) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[42] + mi := &file_pipelines_and_context_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3001,7 +3107,7 @@ func (x *GrpcGenericEnhancementBase) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGenericEnhancementBase.ProtoReflect.Descriptor instead. func (*GrpcGenericEnhancementBase) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{42} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{43} } func (x *GrpcGenericEnhancementBase) GetName() string { @@ -3035,7 +3141,7 @@ type GrpcGeneralHistogramData struct { func (x *GrpcGeneralHistogramData) Reset() { *x = GrpcGeneralHistogramData{} - mi := &file_pipelines_and_context_proto_msgTypes[43] + mi := &file_pipelines_and_context_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3047,7 +3153,7 @@ func (x *GrpcGeneralHistogramData) String() string { func (*GrpcGeneralHistogramData) ProtoMessage() {} func (x *GrpcGeneralHistogramData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[43] + mi := &file_pipelines_and_context_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3060,7 +3166,7 @@ func (x *GrpcGeneralHistogramData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGeneralHistogramData.ProtoReflect.Descriptor instead. func (*GrpcGeneralHistogramData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{43} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{44} } func (x *GrpcGeneralHistogramData) GetBase() *GrpcGenericEnhancementBase { @@ -3087,7 +3193,7 @@ type GrpcSimpleCounterData struct { func (x *GrpcSimpleCounterData) Reset() { *x = GrpcSimpleCounterData{} - mi := &file_pipelines_and_context_proto_msgTypes[44] + mi := &file_pipelines_and_context_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3099,7 +3205,7 @@ func (x *GrpcSimpleCounterData) String() string { func (*GrpcSimpleCounterData) ProtoMessage() {} func (x *GrpcSimpleCounterData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[44] + mi := &file_pipelines_and_context_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3112,7 +3218,7 @@ func (x *GrpcSimpleCounterData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcSimpleCounterData.ProtoReflect.Descriptor instead. func (*GrpcSimpleCounterData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{44} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{45} } func (x *GrpcSimpleCounterData) GetBase() *GrpcGenericEnhancementBase { @@ -3139,7 +3245,7 @@ type GrpcMethodInliningInfo struct { func (x *GrpcMethodInliningInfo) Reset() { *x = GrpcMethodInliningInfo{} - mi := &file_pipelines_and_context_proto_msgTypes[45] + mi := &file_pipelines_and_context_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3151,7 +3257,7 @@ func (x *GrpcMethodInliningInfo) String() string { func (*GrpcMethodInliningInfo) ProtoMessage() {} func (x *GrpcMethodInliningInfo) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[45] + mi := &file_pipelines_and_context_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3164,7 +3270,7 @@ func (x *GrpcMethodInliningInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcMethodInliningInfo.ProtoReflect.Descriptor instead. func (*GrpcMethodInliningInfo) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{45} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{46} } func (x *GrpcMethodInliningInfo) GetInlineeInfo() *GrpcMethodNameParts { @@ -3192,7 +3298,7 @@ type GrpcMethodNameParts struct { func (x *GrpcMethodNameParts) Reset() { *x = GrpcMethodNameParts{} - mi := &file_pipelines_and_context_proto_msgTypes[46] + mi := &file_pipelines_and_context_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3204,7 +3310,7 @@ func (x *GrpcMethodNameParts) String() string { func (*GrpcMethodNameParts) ProtoMessage() {} func (x *GrpcMethodNameParts) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[46] + mi := &file_pipelines_and_context_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3217,7 +3323,7 @@ func (x *GrpcMethodNameParts) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcMethodNameParts.ProtoReflect.Descriptor instead. func (*GrpcMethodNameParts) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{46} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{47} } func (x *GrpcMethodNameParts) GetName() string { @@ -3251,7 +3357,7 @@ type GrpcHistogramEntry struct { func (x *GrpcHistogramEntry) Reset() { *x = GrpcHistogramEntry{} - mi := &file_pipelines_and_context_proto_msgTypes[47] + mi := &file_pipelines_and_context_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3263,7 +3369,7 @@ func (x *GrpcHistogramEntry) String() string { func (*GrpcHistogramEntry) ProtoMessage() {} func (x *GrpcHistogramEntry) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[47] + mi := &file_pipelines_and_context_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3276,7 +3382,7 @@ func (x *GrpcHistogramEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcHistogramEntry.ProtoReflect.Descriptor instead. func (*GrpcHistogramEntry) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{47} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{48} } func (x *GrpcHistogramEntry) GetName() string { @@ -3302,7 +3408,7 @@ type GrpcTimelineDiagramFragment struct { func (x *GrpcTimelineDiagramFragment) Reset() { *x = GrpcTimelineDiagramFragment{} - mi := &file_pipelines_and_context_proto_msgTypes[48] + mi := &file_pipelines_and_context_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3314,7 +3420,7 @@ func (x *GrpcTimelineDiagramFragment) String() string { func (*GrpcTimelineDiagramFragment) ProtoMessage() {} func (x *GrpcTimelineDiagramFragment) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[48] + mi := &file_pipelines_and_context_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3327,7 +3433,7 @@ func (x *GrpcTimelineDiagramFragment) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcTimelineDiagramFragment.ProtoReflect.Descriptor instead. func (*GrpcTimelineDiagramFragment) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{48} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{49} } func (x *GrpcTimelineDiagramFragment) GetThreads() []*GrpcThread { @@ -3348,7 +3454,7 @@ type GrpcAllocationInfo struct { func (x *GrpcAllocationInfo) Reset() { *x = GrpcAllocationInfo{} - mi := &file_pipelines_and_context_proto_msgTypes[49] + mi := &file_pipelines_and_context_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3360,7 +3466,7 @@ func (x *GrpcAllocationInfo) String() string { func (*GrpcAllocationInfo) ProtoMessage() {} func (x *GrpcAllocationInfo) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[49] + mi := &file_pipelines_and_context_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3373,7 +3479,7 @@ func (x *GrpcAllocationInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcAllocationInfo.ProtoReflect.Descriptor instead. func (*GrpcAllocationInfo) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{49} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{50} } func (x *GrpcAllocationInfo) GetTypeName() string { @@ -3408,7 +3514,7 @@ type GrpcUnderlyingPatternInfo struct { func (x *GrpcUnderlyingPatternInfo) Reset() { *x = GrpcUnderlyingPatternInfo{} - mi := &file_pipelines_and_context_proto_msgTypes[50] + mi := &file_pipelines_and_context_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3420,7 +3526,7 @@ func (x *GrpcUnderlyingPatternInfo) String() string { func (*GrpcUnderlyingPatternInfo) ProtoMessage() {} func (x *GrpcUnderlyingPatternInfo) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[50] + mi := &file_pipelines_and_context_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3433,7 +3539,7 @@ func (x *GrpcUnderlyingPatternInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcUnderlyingPatternInfo.ProtoReflect.Descriptor instead. func (*GrpcUnderlyingPatternInfo) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{50} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{51} } func (x *GrpcUnderlyingPatternInfo) GetPatternKind() GrpcUnderlyingPatternKind { @@ -3471,7 +3577,7 @@ type GrpcGraphEdge struct { func (x *GrpcGraphEdge) Reset() { *x = GrpcGraphEdge{} - mi := &file_pipelines_and_context_proto_msgTypes[51] + mi := &file_pipelines_and_context_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3483,7 +3589,7 @@ func (x *GrpcGraphEdge) String() string { func (*GrpcGraphEdge) ProtoMessage() {} func (x *GrpcGraphEdge) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[51] + mi := &file_pipelines_and_context_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3496,7 +3602,7 @@ func (x *GrpcGraphEdge) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGraphEdge.ProtoReflect.Descriptor instead. func (*GrpcGraphEdge) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{51} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{52} } func (x *GrpcGraphEdge) GetId() uint64 { @@ -3555,7 +3661,7 @@ type GrpcGraphEdgeAdditionalData struct { func (x *GrpcGraphEdgeAdditionalData) Reset() { *x = GrpcGraphEdgeAdditionalData{} - mi := &file_pipelines_and_context_proto_msgTypes[52] + mi := &file_pipelines_and_context_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3567,7 +3673,7 @@ func (x *GrpcGraphEdgeAdditionalData) String() string { func (*GrpcGraphEdgeAdditionalData) ProtoMessage() {} func (x *GrpcGraphEdgeAdditionalData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[52] + mi := &file_pipelines_and_context_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3580,7 +3686,7 @@ func (x *GrpcGraphEdgeAdditionalData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGraphEdgeAdditionalData.ProtoReflect.Descriptor instead. func (*GrpcGraphEdgeAdditionalData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{52} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{53} } func (x *GrpcGraphEdgeAdditionalData) GetData() isGrpcGraphEdgeAdditionalData_Data { @@ -3648,7 +3754,7 @@ type GrpcEdgeExecutionInfo struct { func (x *GrpcEdgeExecutionInfo) Reset() { *x = GrpcEdgeExecutionInfo{} - mi := &file_pipelines_and_context_proto_msgTypes[53] + mi := &file_pipelines_and_context_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3660,7 +3766,7 @@ func (x *GrpcEdgeExecutionInfo) String() string { func (*GrpcEdgeExecutionInfo) ProtoMessage() {} func (x *GrpcEdgeExecutionInfo) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[53] + mi := &file_pipelines_and_context_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3673,7 +3779,7 @@ func (x *GrpcEdgeExecutionInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcEdgeExecutionInfo.ProtoReflect.Descriptor instead. func (*GrpcEdgeExecutionInfo) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{53} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{54} } func (x *GrpcEdgeExecutionInfo) GetTraceId() uint64 { @@ -3692,7 +3798,7 @@ type GrpcBytes struct { func (x *GrpcBytes) Reset() { *x = GrpcBytes{} - mi := &file_pipelines_and_context_proto_msgTypes[54] + mi := &file_pipelines_and_context_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3704,7 +3810,7 @@ func (x *GrpcBytes) String() string { func (*GrpcBytes) ProtoMessage() {} func (x *GrpcBytes) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[54] + mi := &file_pipelines_and_context_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3717,7 +3823,7 @@ func (x *GrpcBytes) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcBytes.ProtoReflect.Descriptor instead. func (*GrpcBytes) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{54} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{55} } func (x *GrpcBytes) GetBytes() []byte { @@ -3736,7 +3842,7 @@ type GrpcLogTimelineDiagram struct { func (x *GrpcLogTimelineDiagram) Reset() { *x = GrpcLogTimelineDiagram{} - mi := &file_pipelines_and_context_proto_msgTypes[55] + mi := &file_pipelines_and_context_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3748,7 +3854,7 @@ func (x *GrpcLogTimelineDiagram) String() string { func (*GrpcLogTimelineDiagram) ProtoMessage() {} func (x *GrpcLogTimelineDiagram) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[55] + mi := &file_pipelines_and_context_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3761,7 +3867,7 @@ func (x *GrpcLogTimelineDiagram) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcLogTimelineDiagram.ProtoReflect.Descriptor instead. func (*GrpcLogTimelineDiagram) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{55} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{56} } func (x *GrpcLogTimelineDiagram) GetTraces() []*GrpcTraceTimelineDiagram { @@ -3781,7 +3887,7 @@ type GrpcTimelineTraceEventsGroup struct { func (x *GrpcTimelineTraceEventsGroup) Reset() { *x = GrpcTimelineTraceEventsGroup{} - mi := &file_pipelines_and_context_proto_msgTypes[56] + mi := &file_pipelines_and_context_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3793,7 +3899,7 @@ func (x *GrpcTimelineTraceEventsGroup) String() string { func (*GrpcTimelineTraceEventsGroup) ProtoMessage() {} func (x *GrpcTimelineTraceEventsGroup) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[56] + mi := &file_pipelines_and_context_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3806,7 +3912,7 @@ func (x *GrpcTimelineTraceEventsGroup) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcTimelineTraceEventsGroup.ProtoReflect.Descriptor instead. func (*GrpcTimelineTraceEventsGroup) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{56} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{57} } func (x *GrpcTimelineTraceEventsGroup) GetStartPoint() *GrpcLogPoint { @@ -3833,7 +3939,7 @@ type GrpcTraceTimelineDiagram struct { func (x *GrpcTraceTimelineDiagram) Reset() { *x = GrpcTraceTimelineDiagram{} - mi := &file_pipelines_and_context_proto_msgTypes[57] + mi := &file_pipelines_and_context_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3845,7 +3951,7 @@ func (x *GrpcTraceTimelineDiagram) String() string { func (*GrpcTraceTimelineDiagram) ProtoMessage() {} func (x *GrpcTraceTimelineDiagram) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[57] + mi := &file_pipelines_and_context_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3858,7 +3964,7 @@ func (x *GrpcTraceTimelineDiagram) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcTraceTimelineDiagram.ProtoReflect.Descriptor instead. func (*GrpcTraceTimelineDiagram) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{57} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{58} } func (x *GrpcTraceTimelineDiagram) GetThreads() []*GrpcThread { @@ -3884,7 +3990,7 @@ type GrpcThread struct { func (x *GrpcThread) Reset() { *x = GrpcThread{} - mi := &file_pipelines_and_context_proto_msgTypes[58] + mi := &file_pipelines_and_context_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3896,7 +4002,7 @@ func (x *GrpcThread) String() string { func (*GrpcThread) ProtoMessage() {} func (x *GrpcThread) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[58] + mi := &file_pipelines_and_context_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3909,7 +4015,7 @@ func (x *GrpcThread) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcThread.ProtoReflect.Descriptor instead. func (*GrpcThread) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{58} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{59} } func (x *GrpcThread) GetEvents() []*GrpcThreadEvent { @@ -3929,7 +4035,7 @@ type GrpcThreadEvent struct { func (x *GrpcThreadEvent) Reset() { *x = GrpcThreadEvent{} - mi := &file_pipelines_and_context_proto_msgTypes[59] + mi := &file_pipelines_and_context_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3941,7 +4047,7 @@ func (x *GrpcThreadEvent) String() string { func (*GrpcThreadEvent) ProtoMessage() {} func (x *GrpcThreadEvent) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[59] + mi := &file_pipelines_and_context_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3954,7 +4060,7 @@ func (x *GrpcThreadEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcThreadEvent.ProtoReflect.Descriptor instead. func (*GrpcThreadEvent) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{59} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{60} } func (x *GrpcThreadEvent) GetName() string { @@ -4142,13 +4248,21 @@ const file_pipelines_and_context_proto_rawDesc = "" + "\vevent_index\x18\x03 \x01(\x04R\n" + "eventIndex\"Y\n" + "\x1eGrpcNodeCorrespondingTraceData\x127\n" + - "\x18belongs_to_root_sequence\x18\x01 \x01(\bR\x15belongsToRootSequence\"\x9e\x03\n" + + "\x18belongs_to_root_sequence\x18\x01 \x01(\bR\x15belongsToRootSequence\"\xd0\x03\n" + "\x10GrpcSoftwareData\x127\n" + "\thistogram\x18\x01 \x03(\v2\x19.ficus.GrpcHistogramEntryR\thistogram\x12^\n" + "\x19timeline_diagram_fragment\x18\x02 \x01(\v2\".ficus.GrpcTimelineDiagramFragmentR\x17timelineDiagramFragment\x12F\n" + "\x0ehistogram_data\x18\r \x03(\v2\x1f.ficus.GrpcGeneralHistogramDataR\rhistogramData\x12L\n" + "\x13simple_counter_data\x18\x0e \x03(\v2\x1c.ficus.GrpcSimpleCounterDataR\x11simpleCounterData\x12[\n" + - "\x19activities_durations_data\x18\x0f \x03(\v2\x1f.ficus.GrpcActivityDurationDataR\x17activitiesDurationsData\"\x9a\x01\n" + + "\x19activities_durations_data\x18\x0f \x03(\v2\x1f.ficus.GrpcActivityDurationDataR\x17activitiesDurationsData\x120\n" + + "\tocel_data\x18\x10 \x03(\v2\x13.ficus.GrpcOcelDataR\bocelData\"\xc0\x01\n" + + "\fGrpcOcelData\x12\x1f\n" + + "\vobject_type\x18\x01 \x01(\tR\n" + + "objectType\x12\x1b\n" + + "\tobject_id\x18\x02 \x01(\tR\bobjectId\x124\n" + + "\bAllocate\x18\x03 \x01(\v2\x16.google.protobuf.EmptyH\x00R\bAllocate\x122\n" + + "\aConsume\x18\x04 \x01(\v2\x16.google.protobuf.EmptyH\x00R\aConsumeB\b\n" + + "\x06action\"\x9a\x01\n" + "\x18GrpcActivityDurationData\x125\n" + "\x04base\x18\x01 \x01(\v2!.ficus.GrpcGenericEnhancementBaseR\x04base\x12\x1a\n" + "\bduration\x18\x02 \x01(\x04R\bduration\x12+\n" + @@ -4254,7 +4368,7 @@ func file_pipelines_and_context_proto_rawDescGZIP() []byte { } var file_pipelines_and_context_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_pipelines_and_context_proto_msgTypes = make([]protoimpl.MessageInfo, 60) +var file_pipelines_and_context_proto_msgTypes = make([]protoimpl.MessageInfo, 61) var file_pipelines_and_context_proto_goTypes = []any{ (GrpcGraphKind)(0), // 0: ficus.GrpcGraphKind (GrpcDurationKind)(0), // 1: ficus.GrpcDurationKind @@ -4300,35 +4414,36 @@ var file_pipelines_and_context_proto_goTypes = []any{ (*GrpcEventCoordinates)(nil), // 41: ficus.GrpcEventCoordinates (*GrpcNodeCorrespondingTraceData)(nil), // 42: ficus.GrpcNodeCorrespondingTraceData (*GrpcSoftwareData)(nil), // 43: ficus.GrpcSoftwareData - (*GrpcActivityDurationData)(nil), // 44: ficus.GrpcActivityDurationData - (*GrpcGenericEnhancementBase)(nil), // 45: ficus.GrpcGenericEnhancementBase - (*GrpcGeneralHistogramData)(nil), // 46: ficus.GrpcGeneralHistogramData - (*GrpcSimpleCounterData)(nil), // 47: ficus.GrpcSimpleCounterData - (*GrpcMethodInliningInfo)(nil), // 48: ficus.GrpcMethodInliningInfo - (*GrpcMethodNameParts)(nil), // 49: ficus.GrpcMethodNameParts - (*GrpcHistogramEntry)(nil), // 50: ficus.GrpcHistogramEntry - (*GrpcTimelineDiagramFragment)(nil), // 51: ficus.GrpcTimelineDiagramFragment - (*GrpcAllocationInfo)(nil), // 52: ficus.GrpcAllocationInfo - (*GrpcUnderlyingPatternInfo)(nil), // 53: ficus.GrpcUnderlyingPatternInfo - (*GrpcGraphEdge)(nil), // 54: ficus.GrpcGraphEdge - (*GrpcGraphEdgeAdditionalData)(nil), // 55: ficus.GrpcGraphEdgeAdditionalData - (*GrpcEdgeExecutionInfo)(nil), // 56: ficus.GrpcEdgeExecutionInfo - (*GrpcBytes)(nil), // 57: ficus.GrpcBytes - (*GrpcLogTimelineDiagram)(nil), // 58: ficus.GrpcLogTimelineDiagram - (*GrpcTimelineTraceEventsGroup)(nil), // 59: ficus.GrpcTimelineTraceEventsGroup - (*GrpcTraceTimelineDiagram)(nil), // 60: ficus.GrpcTraceTimelineDiagram - (*GrpcThread)(nil), // 61: ficus.GrpcThread - (*GrpcThreadEvent)(nil), // 62: ficus.GrpcThreadEvent - (*GrpcPetriNet)(nil), // 63: ficus.GrpcPetriNet - (*GrpcAnnotation)(nil), // 64: ficus.GrpcAnnotation - (*GrpcDataset)(nil), // 65: ficus.GrpcDataset - (*GrpcLabeledDataset)(nil), // 66: ficus.GrpcLabeledDataset - (*GrpcSimpleEventLog)(nil), // 67: ficus.GrpcSimpleEventLog - (*GrpcHashesEventLog)(nil), // 68: ficus.GrpcHashesEventLog - (*GrpcNamesEventLog)(nil), // 69: ficus.GrpcNamesEventLog - (*GrpcColor)(nil), // 70: ficus.GrpcColor - (*GrpcGuid)(nil), // 71: ficus.GrpcGuid - (*emptypb.Empty)(nil), // 72: google.protobuf.Empty + (*GrpcOcelData)(nil), // 44: ficus.GrpcOcelData + (*GrpcActivityDurationData)(nil), // 45: ficus.GrpcActivityDurationData + (*GrpcGenericEnhancementBase)(nil), // 46: ficus.GrpcGenericEnhancementBase + (*GrpcGeneralHistogramData)(nil), // 47: ficus.GrpcGeneralHistogramData + (*GrpcSimpleCounterData)(nil), // 48: ficus.GrpcSimpleCounterData + (*GrpcMethodInliningInfo)(nil), // 49: ficus.GrpcMethodInliningInfo + (*GrpcMethodNameParts)(nil), // 50: ficus.GrpcMethodNameParts + (*GrpcHistogramEntry)(nil), // 51: ficus.GrpcHistogramEntry + (*GrpcTimelineDiagramFragment)(nil), // 52: ficus.GrpcTimelineDiagramFragment + (*GrpcAllocationInfo)(nil), // 53: ficus.GrpcAllocationInfo + (*GrpcUnderlyingPatternInfo)(nil), // 54: ficus.GrpcUnderlyingPatternInfo + (*GrpcGraphEdge)(nil), // 55: ficus.GrpcGraphEdge + (*GrpcGraphEdgeAdditionalData)(nil), // 56: ficus.GrpcGraphEdgeAdditionalData + (*GrpcEdgeExecutionInfo)(nil), // 57: ficus.GrpcEdgeExecutionInfo + (*GrpcBytes)(nil), // 58: ficus.GrpcBytes + (*GrpcLogTimelineDiagram)(nil), // 59: ficus.GrpcLogTimelineDiagram + (*GrpcTimelineTraceEventsGroup)(nil), // 60: ficus.GrpcTimelineTraceEventsGroup + (*GrpcTraceTimelineDiagram)(nil), // 61: ficus.GrpcTraceTimelineDiagram + (*GrpcThread)(nil), // 62: ficus.GrpcThread + (*GrpcThreadEvent)(nil), // 63: ficus.GrpcThreadEvent + (*GrpcPetriNet)(nil), // 64: ficus.GrpcPetriNet + (*GrpcAnnotation)(nil), // 65: ficus.GrpcAnnotation + (*GrpcDataset)(nil), // 66: ficus.GrpcDataset + (*GrpcLabeledDataset)(nil), // 67: ficus.GrpcLabeledDataset + (*GrpcSimpleEventLog)(nil), // 68: ficus.GrpcSimpleEventLog + (*GrpcHashesEventLog)(nil), // 69: ficus.GrpcHashesEventLog + (*GrpcNamesEventLog)(nil), // 70: ficus.GrpcNamesEventLog + (*GrpcColor)(nil), // 71: ficus.GrpcColor + (*GrpcGuid)(nil), // 72: ficus.GrpcGuid + (*emptypb.Empty)(nil), // 73: google.protobuf.Empty } var file_pipelines_and_context_proto_depIdxs = []int32{ 5, // 0: ficus.GrpcContextValueWithKeyName.value:type_name -> ficus.GrpcContextValue @@ -4342,21 +4457,21 @@ var file_pipelines_and_context_proto_depIdxs = []int32{ 26, // 8: ficus.GrpcContextValue.event_log_info:type_name -> ficus.GrpcEventLogInfo 27, // 9: ficus.GrpcContextValue.strings:type_name -> ficus.GrpcStrings 28, // 10: ficus.GrpcContextValue.pipeline:type_name -> ficus.GrpcPipeline - 63, // 11: ficus.GrpcContextValue.petriNet:type_name -> ficus.GrpcPetriNet + 64, // 11: ficus.GrpcContextValue.petriNet:type_name -> ficus.GrpcPetriNet 36, // 12: ficus.GrpcContextValue.graph:type_name -> ficus.GrpcGraph - 64, // 13: ficus.GrpcContextValue.annotation:type_name -> ficus.GrpcAnnotation - 65, // 14: ficus.GrpcContextValue.dataset:type_name -> ficus.GrpcDataset - 66, // 15: ficus.GrpcContextValue.labeled_dataset:type_name -> ficus.GrpcLabeledDataset - 57, // 16: ficus.GrpcContextValue.bytes:type_name -> ficus.GrpcBytes - 58, // 17: ficus.GrpcContextValue.logTimelineDiagram:type_name -> ficus.GrpcLogTimelineDiagram + 65, // 13: ficus.GrpcContextValue.annotation:type_name -> ficus.GrpcAnnotation + 66, // 14: ficus.GrpcContextValue.dataset:type_name -> ficus.GrpcDataset + 67, // 15: ficus.GrpcContextValue.labeled_dataset:type_name -> ficus.GrpcLabeledDataset + 58, // 16: ficus.GrpcContextValue.bytes:type_name -> ficus.GrpcBytes + 59, // 17: ficus.GrpcContextValue.logTimelineDiagram:type_name -> ficus.GrpcLogTimelineDiagram 6, // 18: ficus.GrpcContextValue.float_array:type_name -> ficus.GrpcFloatArray 7, // 19: ficus.GrpcContextValue.int_array:type_name -> ficus.GrpcIntArray 8, // 20: ficus.GrpcContextValue.uint_array:type_name -> ficus.GrpcUintArray - 67, // 21: ficus.GrpcContextValue.event_log:type_name -> ficus.GrpcSimpleEventLog + 68, // 21: ficus.GrpcContextValue.event_log:type_name -> ficus.GrpcSimpleEventLog 3, // 22: ficus.GrpcContextKeyValue.key:type_name -> ficus.GrpcContextKey 5, // 23: ficus.GrpcContextKeyValue.value:type_name -> ficus.GrpcContextValue - 68, // 24: ficus.GrpcHashesEventLogContextValue.log:type_name -> ficus.GrpcHashesEventLog - 69, // 25: ficus.GrpcNamesEventLogContextValue.log:type_name -> ficus.GrpcNamesEventLog + 69, // 24: ficus.GrpcHashesEventLogContextValue.log:type_name -> ficus.GrpcHashesEventLog + 70, // 25: ficus.GrpcNamesEventLogContextValue.log:type_name -> ficus.GrpcNamesEventLog 14, // 26: ficus.GrpcEventLogTraceSubArraysContextValue.traces_sub_arrays:type_name -> ficus.GrpcTraceSubArrays 13, // 27: ficus.GrpcTraceSubArrays.sub_arrays:type_name -> ficus.GrpcTraceSubArray 13, // 28: ficus.GrpcSubArrayWithTraceIndex.sub_array:type_name -> ficus.GrpcTraceSubArray @@ -4368,7 +4483,7 @@ var file_pipelines_and_context_proto_depIdxs = []int32{ 21, // 34: ficus.GrpcColorsLogAdjustment.axis_after_trace:type_name -> ficus.GrpcColorsLogXAxisAfterTraceAdjustment 20, // 35: ficus.GrpcColorsLogRectangleAdjustment.up_left_point:type_name -> ficus.GrpcLogPoint 20, // 36: ficus.GrpcColorsLogRectangleAdjustment.down_right_point:type_name -> ficus.GrpcLogPoint - 70, // 37: ficus.GrpcColorsEventLogMapping.color:type_name -> ficus.GrpcColor + 71, // 37: ficus.GrpcColorsEventLogMapping.color:type_name -> ficus.GrpcColor 24, // 38: ficus.GrpcColorsTrace.event_colors:type_name -> ficus.GrpcColoredRectangle 29, // 39: ficus.GrpcPipeline.parts:type_name -> ficus.GrpcPipelinePartBase 30, // 40: ficus.GrpcPipelinePartBase.defaultPart:type_name -> ficus.GrpcPipelinePart @@ -4380,53 +4495,56 @@ var file_pipelines_and_context_proto_depIdxs = []int32{ 29, // 46: ficus.GrpcParallelPipelinePart.pipelineParts:type_name -> ficus.GrpcPipelinePartBase 32, // 47: ficus.GrpcParallelPipelineParts.pipeline:type_name -> ficus.GrpcParallelPipelinePart 3, // 48: ficus.GrpcSimpleContextRequestPipelinePart.key:type_name -> ficus.GrpcContextKey - 71, // 49: ficus.GrpcSimpleContextRequestPipelinePart.frontendPartUuid:type_name -> ficus.GrpcGuid + 72, // 49: ficus.GrpcSimpleContextRequestPipelinePart.frontendPartUuid:type_name -> ficus.GrpcGuid 3, // 50: ficus.GrpcComplexContextRequestPipelinePart.keys:type_name -> ficus.GrpcContextKey 30, // 51: ficus.GrpcComplexContextRequestPipelinePart.beforePipelinePart:type_name -> ficus.GrpcPipelinePart - 71, // 52: ficus.GrpcComplexContextRequestPipelinePart.frontendPartUuid:type_name -> ficus.GrpcGuid + 72, // 52: ficus.GrpcComplexContextRequestPipelinePart.frontendPartUuid:type_name -> ficus.GrpcGuid 37, // 53: ficus.GrpcGraph.nodes:type_name -> ficus.GrpcGraphNode - 54, // 54: ficus.GrpcGraph.edges:type_name -> ficus.GrpcGraphEdge + 55, // 54: ficus.GrpcGraph.edges:type_name -> ficus.GrpcGraphEdge 0, // 55: ficus.GrpcGraph.kind:type_name -> ficus.GrpcGraphKind 38, // 56: ficus.GrpcGraphNode.additional_data:type_name -> ficus.GrpcNodeAdditionalData 36, // 57: ficus.GrpcGraphNode.inner_graph:type_name -> ficus.GrpcGraph - 72, // 58: ficus.GrpcNodeAdditionalData.none:type_name -> google.protobuf.Empty + 73, // 58: ficus.GrpcNodeAdditionalData.none:type_name -> google.protobuf.Empty 43, // 59: ficus.GrpcNodeAdditionalData.software_data:type_name -> ficus.GrpcSoftwareData - 53, // 60: ficus.GrpcNodeAdditionalData.pattern_info:type_name -> ficus.GrpcUnderlyingPatternInfo + 54, // 60: ficus.GrpcNodeAdditionalData.pattern_info:type_name -> ficus.GrpcUnderlyingPatternInfo 42, // 61: ficus.GrpcNodeAdditionalData.trace_data:type_name -> ficus.GrpcNodeCorrespondingTraceData 40, // 62: ficus.GrpcNodeAdditionalData.time_data:type_name -> ficus.GrpcActivityStartEndData 39, // 63: ficus.GrpcNodeAdditionalData.multithreaded_fragment:type_name -> ficus.GrpcMultithreadedFragment 41, // 64: ficus.GrpcNodeAdditionalData.original_event_coordinates:type_name -> ficus.GrpcEventCoordinates - 67, // 65: ficus.GrpcMultithreadedFragment.multithreaded_log:type_name -> ficus.GrpcSimpleEventLog - 50, // 66: ficus.GrpcSoftwareData.histogram:type_name -> ficus.GrpcHistogramEntry - 51, // 67: ficus.GrpcSoftwareData.timeline_diagram_fragment:type_name -> ficus.GrpcTimelineDiagramFragment - 46, // 68: ficus.GrpcSoftwareData.histogram_data:type_name -> ficus.GrpcGeneralHistogramData - 47, // 69: ficus.GrpcSoftwareData.simple_counter_data:type_name -> ficus.GrpcSimpleCounterData - 44, // 70: ficus.GrpcSoftwareData.activities_durations_data:type_name -> ficus.GrpcActivityDurationData - 45, // 71: ficus.GrpcActivityDurationData.base:type_name -> ficus.GrpcGenericEnhancementBase - 1, // 72: ficus.GrpcActivityDurationData.kind:type_name -> ficus.GrpcDurationKind - 45, // 73: ficus.GrpcGeneralHistogramData.base:type_name -> ficus.GrpcGenericEnhancementBase - 50, // 74: ficus.GrpcGeneralHistogramData.entries:type_name -> ficus.GrpcHistogramEntry - 45, // 75: ficus.GrpcSimpleCounterData.base:type_name -> ficus.GrpcGenericEnhancementBase - 49, // 76: ficus.GrpcMethodInliningInfo.inlinee_info:type_name -> ficus.GrpcMethodNameParts - 49, // 77: ficus.GrpcMethodInliningInfo.inliner_info:type_name -> ficus.GrpcMethodNameParts - 61, // 78: ficus.GrpcTimelineDiagramFragment.threads:type_name -> ficus.GrpcThread - 2, // 79: ficus.GrpcUnderlyingPatternInfo.pattern_kind:type_name -> ficus.GrpcUnderlyingPatternKind - 36, // 80: ficus.GrpcUnderlyingPatternInfo.graph:type_name -> ficus.GrpcGraph - 55, // 81: ficus.GrpcGraphEdge.additional_data:type_name -> ficus.GrpcGraphEdgeAdditionalData - 43, // 82: ficus.GrpcGraphEdgeAdditionalData.software_data:type_name -> ficus.GrpcSoftwareData - 56, // 83: ficus.GrpcGraphEdgeAdditionalData.execution_info:type_name -> ficus.GrpcEdgeExecutionInfo - 40, // 84: ficus.GrpcGraphEdgeAdditionalData.time_data:type_name -> ficus.GrpcActivityStartEndData - 60, // 85: ficus.GrpcLogTimelineDiagram.traces:type_name -> ficus.GrpcTraceTimelineDiagram - 20, // 86: ficus.GrpcTimelineTraceEventsGroup.start_point:type_name -> ficus.GrpcLogPoint - 20, // 87: ficus.GrpcTimelineTraceEventsGroup.end_point:type_name -> ficus.GrpcLogPoint - 61, // 88: ficus.GrpcTraceTimelineDiagram.threads:type_name -> ficus.GrpcThread - 59, // 89: ficus.GrpcTraceTimelineDiagram.events_groups:type_name -> ficus.GrpcTimelineTraceEventsGroup - 62, // 90: ficus.GrpcThread.events:type_name -> ficus.GrpcThreadEvent - 91, // [91:91] is the sub-list for method output_type - 91, // [91:91] is the sub-list for method input_type - 91, // [91:91] is the sub-list for extension type_name - 91, // [91:91] is the sub-list for extension extendee - 0, // [0:91] is the sub-list for field type_name + 68, // 65: ficus.GrpcMultithreadedFragment.multithreaded_log:type_name -> ficus.GrpcSimpleEventLog + 51, // 66: ficus.GrpcSoftwareData.histogram:type_name -> ficus.GrpcHistogramEntry + 52, // 67: ficus.GrpcSoftwareData.timeline_diagram_fragment:type_name -> ficus.GrpcTimelineDiagramFragment + 47, // 68: ficus.GrpcSoftwareData.histogram_data:type_name -> ficus.GrpcGeneralHistogramData + 48, // 69: ficus.GrpcSoftwareData.simple_counter_data:type_name -> ficus.GrpcSimpleCounterData + 45, // 70: ficus.GrpcSoftwareData.activities_durations_data:type_name -> ficus.GrpcActivityDurationData + 44, // 71: ficus.GrpcSoftwareData.ocel_data:type_name -> ficus.GrpcOcelData + 73, // 72: ficus.GrpcOcelData.Allocate:type_name -> google.protobuf.Empty + 73, // 73: ficus.GrpcOcelData.Consume:type_name -> google.protobuf.Empty + 46, // 74: ficus.GrpcActivityDurationData.base:type_name -> ficus.GrpcGenericEnhancementBase + 1, // 75: ficus.GrpcActivityDurationData.kind:type_name -> ficus.GrpcDurationKind + 46, // 76: ficus.GrpcGeneralHistogramData.base:type_name -> ficus.GrpcGenericEnhancementBase + 51, // 77: ficus.GrpcGeneralHistogramData.entries:type_name -> ficus.GrpcHistogramEntry + 46, // 78: ficus.GrpcSimpleCounterData.base:type_name -> ficus.GrpcGenericEnhancementBase + 50, // 79: ficus.GrpcMethodInliningInfo.inlinee_info:type_name -> ficus.GrpcMethodNameParts + 50, // 80: ficus.GrpcMethodInliningInfo.inliner_info:type_name -> ficus.GrpcMethodNameParts + 62, // 81: ficus.GrpcTimelineDiagramFragment.threads:type_name -> ficus.GrpcThread + 2, // 82: ficus.GrpcUnderlyingPatternInfo.pattern_kind:type_name -> ficus.GrpcUnderlyingPatternKind + 36, // 83: ficus.GrpcUnderlyingPatternInfo.graph:type_name -> ficus.GrpcGraph + 56, // 84: ficus.GrpcGraphEdge.additional_data:type_name -> ficus.GrpcGraphEdgeAdditionalData + 43, // 85: ficus.GrpcGraphEdgeAdditionalData.software_data:type_name -> ficus.GrpcSoftwareData + 57, // 86: ficus.GrpcGraphEdgeAdditionalData.execution_info:type_name -> ficus.GrpcEdgeExecutionInfo + 40, // 87: ficus.GrpcGraphEdgeAdditionalData.time_data:type_name -> ficus.GrpcActivityStartEndData + 61, // 88: ficus.GrpcLogTimelineDiagram.traces:type_name -> ficus.GrpcTraceTimelineDiagram + 20, // 89: ficus.GrpcTimelineTraceEventsGroup.start_point:type_name -> ficus.GrpcLogPoint + 20, // 90: ficus.GrpcTimelineTraceEventsGroup.end_point:type_name -> ficus.GrpcLogPoint + 62, // 91: ficus.GrpcTraceTimelineDiagram.threads:type_name -> ficus.GrpcThread + 60, // 92: ficus.GrpcTraceTimelineDiagram.events_groups:type_name -> ficus.GrpcTimelineTraceEventsGroup + 63, // 93: ficus.GrpcThread.events:type_name -> ficus.GrpcThreadEvent + 94, // [94:94] is the sub-list for method output_type + 94, // [94:94] is the sub-list for method input_type + 94, // [94:94] is the sub-list for extension type_name + 94, // [94:94] is the sub-list for extension extendee + 0, // [0:94] is the sub-list for field type_name } func init() { file_pipelines_and_context_proto_init() } @@ -4482,8 +4600,12 @@ func file_pipelines_and_context_proto_init() { (*GrpcNodeAdditionalData_TimeData)(nil), (*GrpcNodeAdditionalData_MultithreadedFragment)(nil), } - file_pipelines_and_context_proto_msgTypes[42].OneofWrappers = []any{} - file_pipelines_and_context_proto_msgTypes[52].OneofWrappers = []any{ + file_pipelines_and_context_proto_msgTypes[41].OneofWrappers = []any{ + (*GrpcOcelData_Allocate)(nil), + (*GrpcOcelData_Consume)(nil), + } + file_pipelines_and_context_proto_msgTypes[43].OneofWrappers = []any{} + file_pipelines_and_context_proto_msgTypes[53].OneofWrappers = []any{ (*GrpcGraphEdgeAdditionalData_SoftwareData)(nil), (*GrpcGraphEdgeAdditionalData_ExecutionInfo)(nil), (*GrpcGraphEdgeAdditionalData_TimeData)(nil), @@ -4494,7 +4616,7 @@ func file_pipelines_and_context_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_pipelines_and_context_proto_rawDesc), len(file_pipelines_and_context_proto_rawDesc)), NumEnums: 3, - NumMessages: 60, + NumMessages: 61, NumExtensions: 0, NumServices: 0, }, diff --git a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py index fa847df55..1aa9216bc 100644 --- a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py +++ b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py @@ -34,7 +34,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bpipelines_and_context.proto\x12\x05\x66icus\x1a\x0fpm_models.proto\x1a\nutil.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x1e\n\x0eGrpcContextKey\x12\x0c\n\x04name\x18\x01 \x01(\t\"W\n\x1bGrpcContextValueWithKeyName\x12\x10\n\x08key_name\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"\x8b\t\n\x10GrpcContextValue\x12\x10\n\x06string\x18\x01 \x01(\tH\x00\x12;\n\nhashes_log\x18\x02 \x01(\x0b\x32%.ficus.GrpcHashesEventLogContextValueH\x00\x12\x39\n\tnames_log\x18\x03 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12\x10\n\x06uint32\x18\x04 \x01(\rH\x00\x12J\n\x11traces_sub_arrays\x18\x05 \x01(\x0b\x32-.ficus.GrpcEventLogTraceSubArraysContextValueH\x00\x12P\n\x16trace_index_sub_arrays\x18\x06 \x01(\x0b\x32..ficus.GrpcSubArraysWithTraceIndexContextValueH\x00\x12\x0e\n\x04\x62ool\x18\x07 \x01(\x08H\x00\x12=\n\rxes_event_log\x18\x08 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12/\n\ncolors_log\x18\t \x01(\x0b\x32\x19.ficus.GrpcColorsEventLogH\x00\x12\x1f\n\x04\x65num\x18\n \x01(\x0b\x32\x0f.ficus.GrpcEnumH\x00\x12\x31\n\x0e\x65vent_log_info\x18\x0b \x01(\x0b\x32\x17.ficus.GrpcEventLogInfoH\x00\x12%\n\x07strings\x18\x0c \x01(\x0b\x32\x12.ficus.GrpcStringsH\x00\x12\'\n\x08pipeline\x18\r \x01(\x0b\x32\x13.ficus.GrpcPipelineH\x00\x12\'\n\x08petriNet\x18\x0e \x01(\x0b\x32\x13.ficus.GrpcPetriNetH\x00\x12!\n\x05graph\x18\x0f \x01(\x0b\x32\x10.ficus.GrpcGraphH\x00\x12\x0f\n\x05\x66loat\x18\x10 \x01(\x02H\x00\x12+\n\nannotation\x18\x11 \x01(\x0b\x32\x15.ficus.GrpcAnnotationH\x00\x12%\n\x07\x64\x61taset\x18\x12 \x01(\x0b\x32\x12.ficus.GrpcDatasetH\x00\x12\x34\n\x0flabeled_dataset\x18\x13 \x01(\x0b\x32\x19.ficus.GrpcLabeledDatasetH\x00\x12!\n\x05\x62ytes\x18\x14 \x01(\x0b\x32\x10.ficus.GrpcBytesH\x00\x12;\n\x12logTimelineDiagram\x18\x15 \x01(\x0b\x32\x1d.ficus.GrpcLogTimelineDiagramH\x00\x12,\n\x0b\x66loat_array\x18\x16 \x01(\x0b\x32\x15.ficus.GrpcFloatArrayH\x00\x12(\n\tint_array\x18\x17 \x01(\x0b\x32\x13.ficus.GrpcIntArrayH\x00\x12*\n\nuint_array\x18\x18 \x01(\x0b\x32\x14.ficus.GrpcUintArrayH\x00\x12\x0e\n\x04json\x18\x19 \x01(\tH\x00\x12.\n\tevent_log\x18\x1a \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLogH\x00\x42\x0e\n\x0c\x63ontextValue\"\x1f\n\x0eGrpcFloatArray\x12\r\n\x05items\x18\x01 \x03(\x01\"\x1d\n\x0cGrpcIntArray\x12\r\n\x05items\x18\x01 \x03(\x03\"\x1e\n\rGrpcUintArray\x12\r\n\x05items\x18\x01 \x03(\x04\"a\n\x13GrpcContextKeyValue\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"H\n\x1eGrpcHashesEventLogContextValue\x12&\n\x03log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcHashesEventLog\"F\n\x1dGrpcNamesEventLogContextValue\x12%\n\x03log\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcNamesEventLog\"^\n&GrpcEventLogTraceSubArraysContextValue\x12\x34\n\x11traces_sub_arrays\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcTraceSubArrays\"/\n\x11GrpcTraceSubArray\x12\r\n\x05start\x18\x01 \x01(\r\x12\x0b\n\x03\x65nd\x18\x02 \x01(\r\"B\n\x12GrpcTraceSubArrays\x12,\n\nsub_arrays\x18\x01 \x03(\x0b\x32\x18.ficus.GrpcTraceSubArray\"^\n\x1aGrpcSubArrayWithTraceIndex\x12+\n\tsub_array\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcTraceSubArray\x12\x13\n\x0btrace_index\x18\x02 \x01(\r\"`\n\'GrpcSubArraysWithTraceIndexContextValue\x12\x35\n\nsub_arrays\x18\x01 \x03(\x0b\x32!.ficus.GrpcSubArrayWithTraceIndex\"\xa4\x01\n\x12GrpcColorsEventLog\x12\x31\n\x07mapping\x18\x01 \x03(\x0b\x32 .ficus.GrpcColorsEventLogMapping\x12&\n\x06traces\x18\x02 \x03(\x0b\x32\x16.ficus.GrpcColorsTrace\x12\x33\n\x0b\x61\x64justments\x18\x03 \x03(\x0b\x32\x1e.ficus.GrpcColorsLogAdjustment\"\xba\x01\n\x17GrpcColorsLogAdjustment\x12G\n\x14rectangle_adjustment\x18\x01 \x01(\x0b\x32\'.ficus.GrpcColorsLogRectangleAdjustmentH\x00\x12I\n\x10\x61xis_after_trace\x18\x02 \x01(\x0b\x32-.ficus.GrpcColorsLogXAxisAfterTraceAdjustmentH\x00\x42\x0b\n\tselection\"\xa9\x01\n GrpcColorsLogRectangleAdjustment\x12*\n\rup_left_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12-\n\x10\x64own_right_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12*\n\"extend_to_nearest_vertical_borders\x18\x03 \x01(\x08\"8\n\x0cGrpcLogPoint\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x02 \x01(\x04\"=\n&GrpcColorsLogXAxisAfterTraceAdjustment\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\"J\n\x19GrpcColorsEventLogMapping\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x05\x63olor\x18\x02 \x01(\x0b\x32\x10.ficus.GrpcColor\"\\\n\x0fGrpcColorsTrace\x12\x31\n\x0c\x65vent_colors\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcColoredRectangle\x12\x16\n\x0e\x63onstant_width\x18\x02 \x01(\x08\"L\n\x14GrpcColoredRectangle\x12\x13\n\x0b\x63olor_index\x18\x01 \x01(\r\x12\x0f\n\x07start_x\x18\x02 \x01(\x01\x12\x0e\n\x06length\x18\x03 \x01(\x01\"+\n\x08GrpcEnum\x12\x10\n\x08\x65numType\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"[\n\x10GrpcEventLogInfo\x12\x14\n\x0c\x65vents_count\x18\x01 \x01(\r\x12\x14\n\x0ctraces_count\x18\x02 \x01(\r\x12\x1b\n\x13\x65vent_classes_count\x18\x03 \x01(\r\"\x1e\n\x0bGrpcStrings\x12\x0f\n\x07strings\x18\x01 \x03(\t\":\n\x0cGrpcPipeline\x12*\n\x05parts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"\xab\x02\n\x14GrpcPipelinePartBase\x12.\n\x0b\x64\x65\x66\x61ultPart\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcPipelinePartH\x00\x12\x37\n\x0cparallelPart\x18\x02 \x01(\x0b\x32\x1f.ficus.GrpcParallelPipelinePartH\x00\x12O\n\x18simpleContextRequestPart\x18\x03 \x01(\x0b\x32+.ficus.GrpcSimpleContextRequestPipelinePartH\x00\x12Q\n\x19\x63omplexContextRequestPart\x18\x04 \x01(\x0b\x32,.ficus.GrpcComplexContextRequestPipelinePartH\x00\x42\x06\n\x04part\"]\n\x10GrpcPipelinePart\x12\x0c\n\x04name\x18\x01 \x01(\t\x12;\n\rconfiguration\x18\x02 \x01(\x0b\x32$.ficus.GrpcPipelinePartConfiguration\"\\\n\x1dGrpcPipelinePartConfiguration\x12;\n\x17\x63onfigurationParameters\x18\x01 \x03(\x0b\x32\x1a.ficus.GrpcContextKeyValue\"N\n\x18GrpcParallelPipelinePart\x12\x32\n\rpipelineParts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"N\n\x19GrpcParallelPipelineParts\x12\x31\n\x08pipeline\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcParallelPipelinePart\"\x97\x01\n$GrpcSimpleContextRequestPipelinePart\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12)\n\x10\x66rontendPartUuid\x18\x02 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x03 \x01(\t\"\xce\x01\n%GrpcComplexContextRequestPipelinePart\x12#\n\x04keys\x18\x01 \x03(\x0b\x32\x15.ficus.GrpcContextKey\x12\x33\n\x12\x62\x65\x66orePipelinePart\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcPipelinePart\x12)\n\x10\x66rontendPartUuid\x18\x03 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x04 \x01(\t\"y\n\tGrpcGraph\x12#\n\x05nodes\x18\x01 \x03(\x0b\x32\x14.ficus.GrpcGraphNode\x12#\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x14.ficus.GrpcGraphEdge\x12\"\n\x04kind\x18\x03 \x01(\x0e\x32\x14.ficus.GrpcGraphKind\"\x88\x01\n\rGrpcGraphNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\x12\x36\n\x0f\x61\x64\x64itional_data\x18\x03 \x03(\x0b\x32\x1d.ficus.GrpcNodeAdditionalData\x12%\n\x0binner_graph\x18\x04 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\xac\x03\n\x16GrpcNodeAdditionalData\x12&\n\x04none\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x30\n\rsoftware_data\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x38\n\x0cpattern_info\x18\x03 \x01(\x0b\x32 .ficus.GrpcUnderlyingPatternInfoH\x00\x12;\n\ntrace_data\x18\x04 \x01(\x0b\x32%.ficus.GrpcNodeCorrespondingTraceDataH\x00\x12\x34\n\ttime_data\x18\x05 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x12\x42\n\x16multithreaded_fragment\x18\x07 \x01(\x0b\x32 .ficus.GrpcMultithreadedFragmentH\x00\x12?\n\x1aoriginal_event_coordinates\x18\x06 \x01(\x0b\x32\x1b.ficus.GrpcEventCoordinatesB\x06\n\x04\x64\x61ta\"Q\n\x19GrpcMultithreadedFragment\x12\x34\n\x11multithreaded_log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLog\"@\n\x18GrpcActivityStartEndData\x12\x12\n\nstart_time\x18\x01 \x01(\x03\x12\x10\n\x08\x65nd_time\x18\x02 \x01(\x03\"=\n\x14GrpcEventCoordinates\x12\x10\n\x08trace_id\x18\x02 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x03 \x01(\x04\"B\n\x1eGrpcNodeCorrespondingTraceData\x12 \n\x18\x62\x65longs_to_root_sequence\x18\x01 \x01(\x08\"\xbf\x02\n\x10GrpcSoftwareData\x12,\n\thistogram\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\x12\x45\n\x19timeline_diagram_fragment\x18\x02 \x01(\x0b\x32\".ficus.GrpcTimelineDiagramFragment\x12\x37\n\x0ehistogram_data\x18\r \x03(\x0b\x32\x1f.ficus.GrpcGeneralHistogramData\x12\x39\n\x13simple_counter_data\x18\x0e \x03(\x0b\x32\x1c.ficus.GrpcSimpleCounterData\x12\x42\n\x19\x61\x63tivities_durations_data\x18\x0f \x03(\x0b\x32\x1f.ficus.GrpcActivityDurationData\"\x84\x01\n\x18GrpcActivityDurationData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12%\n\x04kind\x18\x03 \x01(\x0e\x32\x17.ficus.GrpcDurationKind\"W\n\x1aGrpcGenericEnhancementBase\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05units\x18\x02 \x01(\t\x12\x12\n\x05group\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_group\"w\n\x18GrpcGeneralHistogramData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12*\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\"W\n\x15GrpcSimpleCounterData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"|\n\x16GrpcMethodInliningInfo\x12\x30\n\x0cinlinee_info\x18\x01 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\x12\x30\n\x0cinliner_info\x18\x02 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\"I\n\x13GrpcMethodNameParts\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\t\"1\n\x12GrpcHistogramEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"A\n\x1bGrpcTimelineDiagramFragment\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\"a\n\x12GrpcAllocationInfo\x12\x11\n\ttype_name\x18\x01 \x01(\t\x12\x1f\n\x17\x61llocated_objects_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x61llocated_bytes\x18\x03 \x01(\x04\"\x8b\x01\n\x19GrpcUnderlyingPatternInfo\x12\x36\n\x0cpattern_kind\x18\x01 \x01(\x0e\x32 .ficus.GrpcUnderlyingPatternKind\x12\x15\n\rbase_sequence\x18\x02 \x03(\t\x12\x1f\n\x05graph\x18\x03 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\x9a\x01\n\rGrpcGraphEdge\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tfrom_node\x18\x02 \x01(\x04\x12\x0f\n\x07to_node\x18\x03 \x01(\x04\x12\x0e\n\x06weight\x18\x04 \x01(\x01\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\t\x12;\n\x0f\x61\x64\x64itional_data\x18\x06 \x03(\x0b\x32\".ficus.GrpcGraphEdgeAdditionalData\"\xc5\x01\n\x1bGrpcGraphEdgeAdditionalData\x12\x30\n\rsoftware_data\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x36\n\x0e\x65xecution_info\x18\x02 \x01(\x0b\x32\x1c.ficus.GrpcEdgeExecutionInfoH\x00\x12\x34\n\ttime_data\x18\x03 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x42\x06\n\x04\x64\x61ta\"(\n\x15GrpcEdgeExecutionInfo\x12\x0f\n\x07traceId\x18\x01 \x01(\x04\"\x1a\n\tGrpcBytes\x12\r\n\x05\x62ytes\x18\x01 \x01(\x0c\"I\n\x16GrpcLogTimelineDiagram\x12/\n\x06traces\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcTraceTimelineDiagram\"p\n\x1cGrpcTimelineTraceEventsGroup\x12(\n\x0bstart_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12&\n\tend_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\"z\n\x18GrpcTraceTimelineDiagram\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\x12:\n\revents_groups\x18\x02 \x03(\x0b\x32#.ficus.GrpcTimelineTraceEventsGroup\"4\n\nGrpcThread\x12&\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x16.ficus.GrpcThreadEvent\".\n\x0fGrpcThreadEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05stamp\x18\x02 \x01(\x03*.\n\rGrpcGraphKind\x12\x08\n\x04None\x10\x00\x12\x07\n\x03\x44\x41G\x10\x01\x12\n\n\x06\x44\x61gLCS\x10\x02*u\n\x10GrpcDurationKind\x12\x0f\n\x0bUnspecified\x10\x00\x12\t\n\x05Nanos\x10\x01\x12\n\n\x06Micros\x10\x02\x12\n\n\x06Millis\x10\x03\x12\x0b\n\x07Seconds\x10\x04\x12\x0b\n\x07Minutes\x10\x05\x12\t\n\x05Hours\x10\x06\x12\x08\n\x04\x44\x61ys\x10\x07*\xb1\x01\n\x19GrpcUnderlyingPatternKind\x12\x0e\n\nStrictLoop\x10\x00\x12\x18\n\x14PrimitiveTandemArray\x10\x01\x12\x16\n\x12MaximalTandemArray\x10\x02\x12\x11\n\rMaximalRepeat\x10\x03\x12\x16\n\x12SuperMaximalRepeat\x10\x04\x12\x1a\n\x16NearSuperMaximalRepeat\x10\x05\x12\x0b\n\x07Unknown\x10\x06\x42\x0fZ\r./;grpcmodelsb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bpipelines_and_context.proto\x12\x05\x66icus\x1a\x0fpm_models.proto\x1a\nutil.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x1e\n\x0eGrpcContextKey\x12\x0c\n\x04name\x18\x01 \x01(\t\"W\n\x1bGrpcContextValueWithKeyName\x12\x10\n\x08key_name\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"\x8b\t\n\x10GrpcContextValue\x12\x10\n\x06string\x18\x01 \x01(\tH\x00\x12;\n\nhashes_log\x18\x02 \x01(\x0b\x32%.ficus.GrpcHashesEventLogContextValueH\x00\x12\x39\n\tnames_log\x18\x03 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12\x10\n\x06uint32\x18\x04 \x01(\rH\x00\x12J\n\x11traces_sub_arrays\x18\x05 \x01(\x0b\x32-.ficus.GrpcEventLogTraceSubArraysContextValueH\x00\x12P\n\x16trace_index_sub_arrays\x18\x06 \x01(\x0b\x32..ficus.GrpcSubArraysWithTraceIndexContextValueH\x00\x12\x0e\n\x04\x62ool\x18\x07 \x01(\x08H\x00\x12=\n\rxes_event_log\x18\x08 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12/\n\ncolors_log\x18\t \x01(\x0b\x32\x19.ficus.GrpcColorsEventLogH\x00\x12\x1f\n\x04\x65num\x18\n \x01(\x0b\x32\x0f.ficus.GrpcEnumH\x00\x12\x31\n\x0e\x65vent_log_info\x18\x0b \x01(\x0b\x32\x17.ficus.GrpcEventLogInfoH\x00\x12%\n\x07strings\x18\x0c \x01(\x0b\x32\x12.ficus.GrpcStringsH\x00\x12\'\n\x08pipeline\x18\r \x01(\x0b\x32\x13.ficus.GrpcPipelineH\x00\x12\'\n\x08petriNet\x18\x0e \x01(\x0b\x32\x13.ficus.GrpcPetriNetH\x00\x12!\n\x05graph\x18\x0f \x01(\x0b\x32\x10.ficus.GrpcGraphH\x00\x12\x0f\n\x05\x66loat\x18\x10 \x01(\x02H\x00\x12+\n\nannotation\x18\x11 \x01(\x0b\x32\x15.ficus.GrpcAnnotationH\x00\x12%\n\x07\x64\x61taset\x18\x12 \x01(\x0b\x32\x12.ficus.GrpcDatasetH\x00\x12\x34\n\x0flabeled_dataset\x18\x13 \x01(\x0b\x32\x19.ficus.GrpcLabeledDatasetH\x00\x12!\n\x05\x62ytes\x18\x14 \x01(\x0b\x32\x10.ficus.GrpcBytesH\x00\x12;\n\x12logTimelineDiagram\x18\x15 \x01(\x0b\x32\x1d.ficus.GrpcLogTimelineDiagramH\x00\x12,\n\x0b\x66loat_array\x18\x16 \x01(\x0b\x32\x15.ficus.GrpcFloatArrayH\x00\x12(\n\tint_array\x18\x17 \x01(\x0b\x32\x13.ficus.GrpcIntArrayH\x00\x12*\n\nuint_array\x18\x18 \x01(\x0b\x32\x14.ficus.GrpcUintArrayH\x00\x12\x0e\n\x04json\x18\x19 \x01(\tH\x00\x12.\n\tevent_log\x18\x1a \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLogH\x00\x42\x0e\n\x0c\x63ontextValue\"\x1f\n\x0eGrpcFloatArray\x12\r\n\x05items\x18\x01 \x03(\x01\"\x1d\n\x0cGrpcIntArray\x12\r\n\x05items\x18\x01 \x03(\x03\"\x1e\n\rGrpcUintArray\x12\r\n\x05items\x18\x01 \x03(\x04\"a\n\x13GrpcContextKeyValue\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"H\n\x1eGrpcHashesEventLogContextValue\x12&\n\x03log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcHashesEventLog\"F\n\x1dGrpcNamesEventLogContextValue\x12%\n\x03log\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcNamesEventLog\"^\n&GrpcEventLogTraceSubArraysContextValue\x12\x34\n\x11traces_sub_arrays\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcTraceSubArrays\"/\n\x11GrpcTraceSubArray\x12\r\n\x05start\x18\x01 \x01(\r\x12\x0b\n\x03\x65nd\x18\x02 \x01(\r\"B\n\x12GrpcTraceSubArrays\x12,\n\nsub_arrays\x18\x01 \x03(\x0b\x32\x18.ficus.GrpcTraceSubArray\"^\n\x1aGrpcSubArrayWithTraceIndex\x12+\n\tsub_array\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcTraceSubArray\x12\x13\n\x0btrace_index\x18\x02 \x01(\r\"`\n\'GrpcSubArraysWithTraceIndexContextValue\x12\x35\n\nsub_arrays\x18\x01 \x03(\x0b\x32!.ficus.GrpcSubArrayWithTraceIndex\"\xa4\x01\n\x12GrpcColorsEventLog\x12\x31\n\x07mapping\x18\x01 \x03(\x0b\x32 .ficus.GrpcColorsEventLogMapping\x12&\n\x06traces\x18\x02 \x03(\x0b\x32\x16.ficus.GrpcColorsTrace\x12\x33\n\x0b\x61\x64justments\x18\x03 \x03(\x0b\x32\x1e.ficus.GrpcColorsLogAdjustment\"\xba\x01\n\x17GrpcColorsLogAdjustment\x12G\n\x14rectangle_adjustment\x18\x01 \x01(\x0b\x32\'.ficus.GrpcColorsLogRectangleAdjustmentH\x00\x12I\n\x10\x61xis_after_trace\x18\x02 \x01(\x0b\x32-.ficus.GrpcColorsLogXAxisAfterTraceAdjustmentH\x00\x42\x0b\n\tselection\"\xa9\x01\n GrpcColorsLogRectangleAdjustment\x12*\n\rup_left_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12-\n\x10\x64own_right_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12*\n\"extend_to_nearest_vertical_borders\x18\x03 \x01(\x08\"8\n\x0cGrpcLogPoint\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x02 \x01(\x04\"=\n&GrpcColorsLogXAxisAfterTraceAdjustment\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\"J\n\x19GrpcColorsEventLogMapping\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x05\x63olor\x18\x02 \x01(\x0b\x32\x10.ficus.GrpcColor\"\\\n\x0fGrpcColorsTrace\x12\x31\n\x0c\x65vent_colors\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcColoredRectangle\x12\x16\n\x0e\x63onstant_width\x18\x02 \x01(\x08\"L\n\x14GrpcColoredRectangle\x12\x13\n\x0b\x63olor_index\x18\x01 \x01(\r\x12\x0f\n\x07start_x\x18\x02 \x01(\x01\x12\x0e\n\x06length\x18\x03 \x01(\x01\"+\n\x08GrpcEnum\x12\x10\n\x08\x65numType\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"[\n\x10GrpcEventLogInfo\x12\x14\n\x0c\x65vents_count\x18\x01 \x01(\r\x12\x14\n\x0ctraces_count\x18\x02 \x01(\r\x12\x1b\n\x13\x65vent_classes_count\x18\x03 \x01(\r\"\x1e\n\x0bGrpcStrings\x12\x0f\n\x07strings\x18\x01 \x03(\t\":\n\x0cGrpcPipeline\x12*\n\x05parts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"\xab\x02\n\x14GrpcPipelinePartBase\x12.\n\x0b\x64\x65\x66\x61ultPart\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcPipelinePartH\x00\x12\x37\n\x0cparallelPart\x18\x02 \x01(\x0b\x32\x1f.ficus.GrpcParallelPipelinePartH\x00\x12O\n\x18simpleContextRequestPart\x18\x03 \x01(\x0b\x32+.ficus.GrpcSimpleContextRequestPipelinePartH\x00\x12Q\n\x19\x63omplexContextRequestPart\x18\x04 \x01(\x0b\x32,.ficus.GrpcComplexContextRequestPipelinePartH\x00\x42\x06\n\x04part\"]\n\x10GrpcPipelinePart\x12\x0c\n\x04name\x18\x01 \x01(\t\x12;\n\rconfiguration\x18\x02 \x01(\x0b\x32$.ficus.GrpcPipelinePartConfiguration\"\\\n\x1dGrpcPipelinePartConfiguration\x12;\n\x17\x63onfigurationParameters\x18\x01 \x03(\x0b\x32\x1a.ficus.GrpcContextKeyValue\"N\n\x18GrpcParallelPipelinePart\x12\x32\n\rpipelineParts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"N\n\x19GrpcParallelPipelineParts\x12\x31\n\x08pipeline\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcParallelPipelinePart\"\x97\x01\n$GrpcSimpleContextRequestPipelinePart\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12)\n\x10\x66rontendPartUuid\x18\x02 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x03 \x01(\t\"\xce\x01\n%GrpcComplexContextRequestPipelinePart\x12#\n\x04keys\x18\x01 \x03(\x0b\x32\x15.ficus.GrpcContextKey\x12\x33\n\x12\x62\x65\x66orePipelinePart\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcPipelinePart\x12)\n\x10\x66rontendPartUuid\x18\x03 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x04 \x01(\t\"y\n\tGrpcGraph\x12#\n\x05nodes\x18\x01 \x03(\x0b\x32\x14.ficus.GrpcGraphNode\x12#\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x14.ficus.GrpcGraphEdge\x12\"\n\x04kind\x18\x03 \x01(\x0e\x32\x14.ficus.GrpcGraphKind\"\x88\x01\n\rGrpcGraphNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\x12\x36\n\x0f\x61\x64\x64itional_data\x18\x03 \x03(\x0b\x32\x1d.ficus.GrpcNodeAdditionalData\x12%\n\x0binner_graph\x18\x04 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\xac\x03\n\x16GrpcNodeAdditionalData\x12&\n\x04none\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x30\n\rsoftware_data\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x38\n\x0cpattern_info\x18\x03 \x01(\x0b\x32 .ficus.GrpcUnderlyingPatternInfoH\x00\x12;\n\ntrace_data\x18\x04 \x01(\x0b\x32%.ficus.GrpcNodeCorrespondingTraceDataH\x00\x12\x34\n\ttime_data\x18\x05 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x12\x42\n\x16multithreaded_fragment\x18\x07 \x01(\x0b\x32 .ficus.GrpcMultithreadedFragmentH\x00\x12?\n\x1aoriginal_event_coordinates\x18\x06 \x01(\x0b\x32\x1b.ficus.GrpcEventCoordinatesB\x06\n\x04\x64\x61ta\"Q\n\x19GrpcMultithreadedFragment\x12\x34\n\x11multithreaded_log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLog\"@\n\x18GrpcActivityStartEndData\x12\x12\n\nstart_time\x18\x01 \x01(\x03\x12\x10\n\x08\x65nd_time\x18\x02 \x01(\x03\"=\n\x14GrpcEventCoordinates\x12\x10\n\x08trace_id\x18\x02 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x03 \x01(\x04\"B\n\x1eGrpcNodeCorrespondingTraceData\x12 \n\x18\x62\x65longs_to_root_sequence\x18\x01 \x01(\x08\"\xe7\x02\n\x10GrpcSoftwareData\x12,\n\thistogram\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\x12\x45\n\x19timeline_diagram_fragment\x18\x02 \x01(\x0b\x32\".ficus.GrpcTimelineDiagramFragment\x12\x37\n\x0ehistogram_data\x18\r \x03(\x0b\x32\x1f.ficus.GrpcGeneralHistogramData\x12\x39\n\x13simple_counter_data\x18\x0e \x03(\x0b\x32\x1c.ficus.GrpcSimpleCounterData\x12\x42\n\x19\x61\x63tivities_durations_data\x18\x0f \x03(\x0b\x32\x1f.ficus.GrpcActivityDurationData\x12&\n\tocel_data\x18\x10 \x03(\x0b\x32\x13.ficus.GrpcOcelData\"\x97\x01\n\x0cGrpcOcelData\x12\x13\n\x0bobject_type\x18\x01 \x01(\t\x12\x11\n\tobject_id\x18\x02 \x01(\t\x12*\n\x08\x41llocate\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12)\n\x07\x43onsume\x18\x04 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\x08\n\x06\x61\x63tion\"\x84\x01\n\x18GrpcActivityDurationData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12%\n\x04kind\x18\x03 \x01(\x0e\x32\x17.ficus.GrpcDurationKind\"W\n\x1aGrpcGenericEnhancementBase\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05units\x18\x02 \x01(\t\x12\x12\n\x05group\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_group\"w\n\x18GrpcGeneralHistogramData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12*\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\"W\n\x15GrpcSimpleCounterData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"|\n\x16GrpcMethodInliningInfo\x12\x30\n\x0cinlinee_info\x18\x01 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\x12\x30\n\x0cinliner_info\x18\x02 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\"I\n\x13GrpcMethodNameParts\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\t\"1\n\x12GrpcHistogramEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"A\n\x1bGrpcTimelineDiagramFragment\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\"a\n\x12GrpcAllocationInfo\x12\x11\n\ttype_name\x18\x01 \x01(\t\x12\x1f\n\x17\x61llocated_objects_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x61llocated_bytes\x18\x03 \x01(\x04\"\x8b\x01\n\x19GrpcUnderlyingPatternInfo\x12\x36\n\x0cpattern_kind\x18\x01 \x01(\x0e\x32 .ficus.GrpcUnderlyingPatternKind\x12\x15\n\rbase_sequence\x18\x02 \x03(\t\x12\x1f\n\x05graph\x18\x03 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\x9a\x01\n\rGrpcGraphEdge\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tfrom_node\x18\x02 \x01(\x04\x12\x0f\n\x07to_node\x18\x03 \x01(\x04\x12\x0e\n\x06weight\x18\x04 \x01(\x01\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\t\x12;\n\x0f\x61\x64\x64itional_data\x18\x06 \x03(\x0b\x32\".ficus.GrpcGraphEdgeAdditionalData\"\xc5\x01\n\x1bGrpcGraphEdgeAdditionalData\x12\x30\n\rsoftware_data\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x36\n\x0e\x65xecution_info\x18\x02 \x01(\x0b\x32\x1c.ficus.GrpcEdgeExecutionInfoH\x00\x12\x34\n\ttime_data\x18\x03 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x42\x06\n\x04\x64\x61ta\"(\n\x15GrpcEdgeExecutionInfo\x12\x0f\n\x07traceId\x18\x01 \x01(\x04\"\x1a\n\tGrpcBytes\x12\r\n\x05\x62ytes\x18\x01 \x01(\x0c\"I\n\x16GrpcLogTimelineDiagram\x12/\n\x06traces\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcTraceTimelineDiagram\"p\n\x1cGrpcTimelineTraceEventsGroup\x12(\n\x0bstart_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12&\n\tend_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\"z\n\x18GrpcTraceTimelineDiagram\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\x12:\n\revents_groups\x18\x02 \x03(\x0b\x32#.ficus.GrpcTimelineTraceEventsGroup\"4\n\nGrpcThread\x12&\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x16.ficus.GrpcThreadEvent\".\n\x0fGrpcThreadEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05stamp\x18\x02 \x01(\x03*.\n\rGrpcGraphKind\x12\x08\n\x04None\x10\x00\x12\x07\n\x03\x44\x41G\x10\x01\x12\n\n\x06\x44\x61gLCS\x10\x02*u\n\x10GrpcDurationKind\x12\x0f\n\x0bUnspecified\x10\x00\x12\t\n\x05Nanos\x10\x01\x12\n\n\x06Micros\x10\x02\x12\n\n\x06Millis\x10\x03\x12\x0b\n\x07Seconds\x10\x04\x12\x0b\n\x07Minutes\x10\x05\x12\t\n\x05Hours\x10\x06\x12\x08\n\x04\x44\x61ys\x10\x07*\xb1\x01\n\x19GrpcUnderlyingPatternKind\x12\x0e\n\nStrictLoop\x10\x00\x12\x18\n\x14PrimitiveTandemArray\x10\x01\x12\x16\n\x12MaximalTandemArray\x10\x02\x12\x11\n\rMaximalRepeat\x10\x03\x12\x16\n\x12SuperMaximalRepeat\x10\x04\x12\x1a\n\x16NearSuperMaximalRepeat\x10\x05\x12\x0b\n\x07Unknown\x10\x06\x42\x0fZ\r./;grpcmodelsb\x06proto3') @@ -50,17 +50,17 @@ DESCRIPTOR._serialized_options = b'Z\r./;grpcmodels' - _globals['_GRPCGRAPHKIND']._serialized_start=7403 + _globals['_GRPCGRAPHKIND']._serialized_start=7597 - _globals['_GRPCGRAPHKIND']._serialized_end=7449 + _globals['_GRPCGRAPHKIND']._serialized_end=7643 - _globals['_GRPCDURATIONKIND']._serialized_start=7451 + _globals['_GRPCDURATIONKIND']._serialized_start=7645 - _globals['_GRPCDURATIONKIND']._serialized_end=7568 + _globals['_GRPCDURATIONKIND']._serialized_end=7762 - _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_start=7571 + _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_start=7765 - _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_end=7748 + _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_end=7942 _globals['_GRPCCONTEXTKEY']._serialized_start=96 @@ -224,82 +224,86 @@ _globals['_GRPCSOFTWAREDATA']._serialized_start=5246 - _globals['_GRPCSOFTWAREDATA']._serialized_end=5565 + _globals['_GRPCSOFTWAREDATA']._serialized_end=5605 - _globals['_GRPCACTIVITYDURATIONDATA']._serialized_start=5568 + _globals['_GRPCOCELDATA']._serialized_start=5608 - _globals['_GRPCACTIVITYDURATIONDATA']._serialized_end=5700 + _globals['_GRPCOCELDATA']._serialized_end=5759 - _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_start=5702 + _globals['_GRPCACTIVITYDURATIONDATA']._serialized_start=5762 - _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_end=5789 + _globals['_GRPCACTIVITYDURATIONDATA']._serialized_end=5894 - _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_start=5791 + _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_start=5896 - _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_end=5910 + _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_end=5983 - _globals['_GRPCSIMPLECOUNTERDATA']._serialized_start=5912 + _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_start=5985 - _globals['_GRPCSIMPLECOUNTERDATA']._serialized_end=5999 + _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_end=6104 - _globals['_GRPCMETHODINLININGINFO']._serialized_start=6001 + _globals['_GRPCSIMPLECOUNTERDATA']._serialized_start=6106 - _globals['_GRPCMETHODINLININGINFO']._serialized_end=6125 + _globals['_GRPCSIMPLECOUNTERDATA']._serialized_end=6193 - _globals['_GRPCMETHODNAMEPARTS']._serialized_start=6127 + _globals['_GRPCMETHODINLININGINFO']._serialized_start=6195 - _globals['_GRPCMETHODNAMEPARTS']._serialized_end=6200 + _globals['_GRPCMETHODINLININGINFO']._serialized_end=6319 - _globals['_GRPCHISTOGRAMENTRY']._serialized_start=6202 + _globals['_GRPCMETHODNAMEPARTS']._serialized_start=6321 - _globals['_GRPCHISTOGRAMENTRY']._serialized_end=6251 + _globals['_GRPCMETHODNAMEPARTS']._serialized_end=6394 - _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_start=6253 + _globals['_GRPCHISTOGRAMENTRY']._serialized_start=6396 - _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_end=6318 + _globals['_GRPCHISTOGRAMENTRY']._serialized_end=6445 - _globals['_GRPCALLOCATIONINFO']._serialized_start=6320 + _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_start=6447 - _globals['_GRPCALLOCATIONINFO']._serialized_end=6417 + _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_end=6512 - _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_start=6420 + _globals['_GRPCALLOCATIONINFO']._serialized_start=6514 - _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_end=6559 + _globals['_GRPCALLOCATIONINFO']._serialized_end=6611 - _globals['_GRPCGRAPHEDGE']._serialized_start=6562 + _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_start=6614 - _globals['_GRPCGRAPHEDGE']._serialized_end=6716 + _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_end=6753 - _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_start=6719 + _globals['_GRPCGRAPHEDGE']._serialized_start=6756 - _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_end=6916 + _globals['_GRPCGRAPHEDGE']._serialized_end=6910 - _globals['_GRPCEDGEEXECUTIONINFO']._serialized_start=6918 + _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_start=6913 - _globals['_GRPCEDGEEXECUTIONINFO']._serialized_end=6958 + _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_end=7110 - _globals['_GRPCBYTES']._serialized_start=6960 + _globals['_GRPCEDGEEXECUTIONINFO']._serialized_start=7112 - _globals['_GRPCBYTES']._serialized_end=6986 + _globals['_GRPCEDGEEXECUTIONINFO']._serialized_end=7152 - _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_start=6988 + _globals['_GRPCBYTES']._serialized_start=7154 - _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_end=7061 + _globals['_GRPCBYTES']._serialized_end=7180 - _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_start=7063 + _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_start=7182 - _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_end=7175 + _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_end=7255 - _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_start=7177 + _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_start=7257 - _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_end=7299 + _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_end=7369 - _globals['_GRPCTHREAD']._serialized_start=7301 + _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_start=7371 - _globals['_GRPCTHREAD']._serialized_end=7353 + _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_end=7493 - _globals['_GRPCTHREADEVENT']._serialized_start=7355 + _globals['_GRPCTHREAD']._serialized_start=7495 - _globals['_GRPCTHREADEVENT']._serialized_end=7401 + _globals['_GRPCTHREAD']._serialized_end=7547 + + _globals['_GRPCTHREADEVENT']._serialized_start=7549 + + _globals['_GRPCTHREADEVENT']._serialized_end=7595 # @@protoc_insertion_point(module_scope) diff --git a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi index 7c06d0871..8b1ceada5 100644 --- a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi +++ b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi @@ -423,18 +423,32 @@ class GrpcNodeCorrespondingTraceData(_message.Message): def __init__(self, belongs_to_root_sequence: bool = ...) -> None: ... class GrpcSoftwareData(_message.Message): - __slots__ = ["histogram", "timeline_diagram_fragment", "histogram_data", "simple_counter_data", "activities_durations_data"] + __slots__ = ["histogram", "timeline_diagram_fragment", "histogram_data", "simple_counter_data", "activities_durations_data", "ocel_data"] HISTOGRAM_FIELD_NUMBER: _ClassVar[int] TIMELINE_DIAGRAM_FRAGMENT_FIELD_NUMBER: _ClassVar[int] HISTOGRAM_DATA_FIELD_NUMBER: _ClassVar[int] SIMPLE_COUNTER_DATA_FIELD_NUMBER: _ClassVar[int] ACTIVITIES_DURATIONS_DATA_FIELD_NUMBER: _ClassVar[int] + OCEL_DATA_FIELD_NUMBER: _ClassVar[int] histogram: _containers.RepeatedCompositeFieldContainer[GrpcHistogramEntry] timeline_diagram_fragment: GrpcTimelineDiagramFragment histogram_data: _containers.RepeatedCompositeFieldContainer[GrpcGeneralHistogramData] simple_counter_data: _containers.RepeatedCompositeFieldContainer[GrpcSimpleCounterData] activities_durations_data: _containers.RepeatedCompositeFieldContainer[GrpcActivityDurationData] - def __init__(self, histogram: _Optional[_Iterable[_Union[GrpcHistogramEntry, _Mapping]]] = ..., timeline_diagram_fragment: _Optional[_Union[GrpcTimelineDiagramFragment, _Mapping]] = ..., histogram_data: _Optional[_Iterable[_Union[GrpcGeneralHistogramData, _Mapping]]] = ..., simple_counter_data: _Optional[_Iterable[_Union[GrpcSimpleCounterData, _Mapping]]] = ..., activities_durations_data: _Optional[_Iterable[_Union[GrpcActivityDurationData, _Mapping]]] = ...) -> None: ... + ocel_data: _containers.RepeatedCompositeFieldContainer[GrpcOcelData] + def __init__(self, histogram: _Optional[_Iterable[_Union[GrpcHistogramEntry, _Mapping]]] = ..., timeline_diagram_fragment: _Optional[_Union[GrpcTimelineDiagramFragment, _Mapping]] = ..., histogram_data: _Optional[_Iterable[_Union[GrpcGeneralHistogramData, _Mapping]]] = ..., simple_counter_data: _Optional[_Iterable[_Union[GrpcSimpleCounterData, _Mapping]]] = ..., activities_durations_data: _Optional[_Iterable[_Union[GrpcActivityDurationData, _Mapping]]] = ..., ocel_data: _Optional[_Iterable[_Union[GrpcOcelData, _Mapping]]] = ...) -> None: ... + +class GrpcOcelData(_message.Message): + __slots__ = ["object_type", "object_id", "Allocate", "Consume"] + OBJECT_TYPE_FIELD_NUMBER: _ClassVar[int] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + ALLOCATE_FIELD_NUMBER: _ClassVar[int] + CONSUME_FIELD_NUMBER: _ClassVar[int] + object_type: str + object_id: str + Allocate: _empty_pb2.Empty + Consume: _empty_pb2.Empty + def __init__(self, object_type: _Optional[str] = ..., object_id: _Optional[str] = ..., Allocate: _Optional[_Union[_empty_pb2.Empty, _Mapping]] = ..., Consume: _Optional[_Union[_empty_pb2.Empty, _Mapping]] = ...) -> None: ... class GrpcActivityDurationData(_message.Message): __slots__ = ["base", "duration", "kind"] From f503cf9d20785a9cbab455773854641b5860c2e6 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 6 Oct 2025 15:51:26 +0300 Subject: [PATCH 082/189] Add ocel software data extractor --- Ficus/src/rust/Cargo.lock | 42 ++++++++++- Ficus/src/rust/ficus/Cargo.toml | 1 + .../discovery/timeline/abstraction.rs | 4 + .../timeline/software_data/extractors/mod.rs | 1 + .../timeline/software_data/extractors/ocel.rs | 74 +++++++++++++++++++ .../timeline/software_data/models.rs | 5 +- 6 files changed, 123 insertions(+), 4 deletions(-) create mode 100644 Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs diff --git a/Ficus/src/rust/Cargo.lock b/Ficus/src/rust/Cargo.lock index 0b0ac4de7..e55039357 100644 --- a/Ficus/src/rust/Cargo.lock +++ b/Ficus/src/rust/Cargo.lock @@ -400,6 +400,15 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" +[[package]] +name = "convert_case" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca" +dependencies = [ + "unicode-segmentation", +] + [[package]] name = "core-foundation-sys" version = "0.8.7" @@ -496,6 +505,15 @@ version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +[[package]] +name = "enum-display" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40f4d8927f0f19dc99da4506dca2b26f6c2a089887cf2cc424df114f3a2585ab" +dependencies = [ + "enum-display-macro", +] + [[package]] name = "enum-display-derive" version = "0.1.1" @@ -507,6 +525,19 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "enum-display-macro" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e2e13c29d91e61ec78280847036d13cdc585e75ea2458274362d5d8467f1641" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "regex", + "syn 1.0.109", +] + [[package]] name = "env_filter" version = "0.1.3" @@ -571,6 +602,7 @@ dependencies = [ "bxes_kafka", "chrono", "derive-new", + "enum-display", "enum-display-derive", "fancy-regex", "futures", @@ -1589,9 +1621,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.89" +version = "1.0.101" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e" +checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" dependencies = [ "unicode-ident", ] @@ -2293,6 +2325,12 @@ version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" +[[package]] +name = "unicode-segmentation" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" + [[package]] name = "utf8parse" version = "0.2.2" diff --git a/Ficus/src/rust/ficus/Cargo.toml b/Ficus/src/rust/ficus/Cargo.toml index 8218c05a5..9cce65efc 100644 --- a/Ficus/src/rust/ficus/Cargo.toml +++ b/Ficus/src/rust/ficus/Cargo.toml @@ -38,6 +38,7 @@ serde = { version = "1.0.200", features = ["derive"] } serde_json = "1.0.140" derive-new = "0.7.0" enum-display-derive = "0.1.1" +enum-display = "0.2.1" [dependencies.uuid] version = "1.4.1" diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/abstraction.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/abstraction.rs index 507243a81..595019ec8 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/abstraction.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/abstraction.rs @@ -34,6 +34,7 @@ use crate::utils::vec_utils::VectorOptionExtensions; use log::error; use std::cell::RefCell; use std::rc::Rc; +use crate::features::discovery::timeline::software_data::extractors::ocel::OcelDataExtractor; pub fn abstract_event_groups( event_groups: Vec>, @@ -152,6 +153,7 @@ fn put_node_user_data( let activity_start_end_time = ActivityStartEndTimeData::new(first_stamp, last_stamp); let activity_start_end_time = NodeAdditionalDataContainer::new(activity_start_end_time, event_coordinates); + event .user_data_mut() .put_concrete(NODE_START_END_ACTIVITIES_TIMES_KEY.key(), vec![activity_start_end_time]); @@ -185,6 +187,7 @@ fn put_edge_user_data( event .user_data_mut() .put_concrete(EDGE_START_END_ACTIVITIES_TIMES_KEY.key(), vec![edge_start_end_time]); + event.user_data_mut().put_concrete( EDGE_TRACE_EXECUTION_INFO_KEY.key(), vec![EdgeTraceExecutionInfo::new(event_coordinates.trace_id())], @@ -242,6 +245,7 @@ fn create_edge_software_data_extractors<'a>( vec![ Rc::new(Box::new(PieChartExtractor::<'a>::new(config))), Rc::new(Box::new(SimpleCounterExtractor::<'a>::new(config))), + Rc::new(Box::new(OcelDataExtractor::<'a>::new(config))), ] } diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/mod.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/mod.rs index c6cff24cc..1261df206 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/mod.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/mod.rs @@ -3,4 +3,5 @@ pub mod core; pub mod event_classes; pub mod pie_charts; pub mod simple_counter; +pub mod ocel; mod utils; diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs new file mode 100644 index 000000000..f37ba4836 --- /dev/null +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs @@ -0,0 +1,74 @@ +use crate::event_log::core::event::event::Event; +use crate::event_log::xes::xes_event::XesEventImpl; +use crate::features::discovery::timeline::software_data::extraction_config::SoftwareDataExtractionConfig; +use crate::features::discovery::timeline::software_data::extractors::core::{EventGroupSoftwareDataExtractor, SoftwareDataExtractionError}; +use crate::features::discovery::timeline::software_data::models::{OcelData, OcelObjectAction, SoftwareData}; +use derive_new::new; +use std::cell::RefCell; +use std::rc::Rc; +use fancy_regex::Regex; +use log::{debug}; + +#[derive(Debug, Clone, new)] +pub struct OcelDataExtractor<'a> { + config: &'a SoftwareDataExtractionConfig, +} + +impl<'a> EventGroupSoftwareDataExtractor for OcelDataExtractor<'a> { + fn extract_from_events( + &self, + software_data: &mut SoftwareData, + events: &[Rc>], + ) -> Result<(), SoftwareDataExtractionError> { + if let Some(ocel_config) = self.config.ocel().as_ref() { + let raw_regex = ocel_config.event_class_regex(); + let regex = Regex::new(raw_regex).map_err(|e| SoftwareDataExtractionError::FailedToParseRegex(raw_regex.to_owned()))?; + + for event in events { + if !regex.is_match(event.borrow().name()).unwrap_or(false) { + continue; + } + + let object_type = ocel_config.info().object_type_attr().create(&event.borrow()); + let object_id = ocel_config.info().object_id_attr().create(&event.borrow()); + + let action = if let Some(action_attr) = ocel_config.info().object_action_type_attr().as_ref() { + if let Some(ocel_action) = Self::parse_ocel_object_action(&event.borrow(), action_attr) { + ocel_action + } else { + get_fallback_ocel_object_action() + } + } else { + get_fallback_ocel_object_action() + }; + + software_data.ocel_data_mut().push(OcelData::new(object_type, object_id, action)); + } + } + + Ok(()) + } +} + +fn get_fallback_ocel_object_action() -> OcelObjectAction { + let fallback_action = OcelObjectAction::Allocate; + debug!("Failed to get OCEL objet action, will use {} action as fallback value", fallback_action); + + fallback_action +} + +impl<'a> OcelDataExtractor<'a> { + fn parse_ocel_object_action(event: &XesEventImpl, action_attr: &str) -> Option { + if let Some(map) = event.payload_map().as_ref() { + if let Some(action_value) = map.get(action_attr).as_ref() { + match action_value.to_string_repr().as_str() { + "Allocate" => return Some(OcelObjectAction::Allocate), + "Consume" => return Some(OcelObjectAction::Consume), + _ => {} + } + } + } + + None + } +} \ No newline at end of file diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs index 5c5c55a15..c4d80b4ac 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs @@ -1,9 +1,10 @@ use crate::features::discovery::timeline::discovery::TraceThread; +use crate::features::discovery::timeline::software_data::extraction_config::TimeKind; use derive_new::new; +use enum_display::EnumDisplay; use getset::{Getters, MutGetters}; use serde::{Deserialize, Serialize}; use std::collections::HashMap; -use crate::features::discovery::timeline::software_data::extraction_config::TimeKind; #[derive(Clone, Debug, Getters, MutGetters, Serialize, Deserialize)] pub struct SoftwareData { @@ -45,7 +46,7 @@ impl SoftwareData { } } -#[derive(Clone, Debug, Serialize, Deserialize)] +#[derive(Clone, Debug, Serialize, Deserialize, EnumDisplay)] pub enum OcelObjectAction { Allocate, Consume From b210c4fcc6f6f75668e9b9d70395df9e6a9a1567 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 6 Oct 2025 17:40:38 +0300 Subject: [PATCH 083/189] Add simple test for ocel data extractor --- .../tests/software_data/extractors_tests.rs | 110 +++++++++++++++++- 1 file changed, 106 insertions(+), 4 deletions(-) diff --git a/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs b/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs index 600ab30f3..fedb3a31c 100644 --- a/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs +++ b/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs @@ -2,10 +2,7 @@ use chrono::Utc; use ficus::event_log::core::event::event::EventPayloadValue; use ficus::event_log::xes::xes_event::XesEventImpl; use ficus::features::discovery::timeline::events_groups::EventGroup; -use ficus::features::discovery::timeline::software_data::extraction_config::{ - ActivityDurationExtractionConfig, ExtractionConfig, GenericExtractionConfigBase, NameCreationStrategy, PieChartExtractionConfig, - SimpleCountExtractionConfig, SingleAttribute, SoftwareDataExtractionConfig, TimeAttributeConfig, TimeKind, -}; +use ficus::features::discovery::timeline::software_data::extraction_config::{ActivityDurationExtractionConfig, ExtractionConfig, GenericExtractionConfigBase, NameCreationStrategy, OcelDataExtractionConfig, PieChartExtractionConfig, SimpleCountExtractionConfig, SingleAttribute, SoftwareDataExtractionConfig, TimeAttributeConfig, TimeKind}; use ficus::features::discovery::timeline::software_data::extractors::activities_durations::ActivityDurationExtractor; use ficus::features::discovery::timeline::software_data::extractors::core::{ EventGroupSoftwareDataExtractor, EventGroupTraceSoftwareDataExtractor, @@ -15,6 +12,7 @@ use ficus::features::discovery::timeline::software_data::extractors::simple_coun use ficus::features::discovery::timeline::software_data::models::SoftwareData; use std::cell::RefCell; use std::rc::Rc; +use ficus::features::discovery::timeline::software_data::extractors::ocel::OcelDataExtractor; #[test] fn test_general_histogram() { @@ -347,6 +345,110 @@ fn test_activities_duration_2() { ); } +#[test] +pub fn test_ocel_data_extraction() { + execute_test_with_software_data( + r#"{"ocel_data":[{"object_type":"type1","object_id":"id_1","action":"Allocate"},{"object_type":"type1","object_id":"id_2","action":"Consume"},{"object_type":"type1","object_id":"id_3","action":"Allocate"}]}"#, + || { + let events = [ + create_event_with_attributes( + "ocel_event".to_string(), + vec![ + ( + "object_type".to_string(), + EventPayloadValue::String(Rc::new(Box::new("type1".to_string()))), + ), + ( + "object_id".to_string(), + EventPayloadValue::String(Rc::new(Box::new("id_1".to_string()))), + ), + ("ocel_action".to_string(), EventPayloadValue::String(Rc::new(Box::new("Allocate".to_string())))), + ], + ), + create_event_with_attributes( + "ocel_event".to_string(), + vec![ + ( + "object_type".to_string(), + EventPayloadValue::String(Rc::new(Box::new("type1".to_string()))), + ), + ( + "object_id".to_string(), + EventPayloadValue::String(Rc::new(Box::new("id_2".to_string()))), + ), + ("ocel_action".to_string(), EventPayloadValue::String(Rc::new(Box::new("Consume".to_string())))), + ], + ), + create_event_with_attributes( + "ocel_event".to_string(), + vec![ + ( + "object_type".to_string(), + EventPayloadValue::String(Rc::new(Box::new("type1".to_string()))), + ), + ( + "object_id".to_string(), + EventPayloadValue::String(Rc::new(Box::new("id_3".to_string()))), + ), + ], + ), + create_event_with_attributes( + "unknown".to_string(), + vec![ + ( + "object_type".to_string(), + EventPayloadValue::String(Rc::new(Box::new("type1".to_string()))), + ), + ( + "object_id".to_string(), + EventPayloadValue::String(Rc::new(Box::new("id_2".to_string()))), + ), + ("ocel_action".to_string(), EventPayloadValue::String(Rc::new(Box::new("Consume".to_string())))), + ], + ), + create_event_with_attributes( + "hst_event".to_string(), + vec![ + ( + "type".to_string(), + EventPayloadValue::String(Rc::new(Box::new("type1".to_string()))), + ), + ("count".to_string(), EventPayloadValue::Int64(123)), + ], + ), + create_event_with_attributes( + "hst_event".to_string(), + vec![ + ( + "type".to_string(), + EventPayloadValue::String(Rc::new(Box::new("type2".to_string()))), + ), + ("count".to_string(), EventPayloadValue::Int32(123)), + ], + ), + ]; + + let mut config = SoftwareDataExtractionConfig::empty(); + config.set_ocel( + Some(ExtractionConfig::new( + "ocel_event".to_string(), + OcelDataExtractionConfig::new( + NameCreationStrategy::SingleAttribute(SingleAttribute::new("object_type".to_string(), "???".to_string())), + NameCreationStrategy::SingleAttribute(SingleAttribute::new("object_id".to_string(), "???".to_string())), + Some("ocel_action".to_string()), + ), + )) + ); + + let extractor = OcelDataExtractor::new(&config); + let mut software_data = SoftwareData::empty(); + extractor.extract_from_events(&mut software_data, &events).ok().unwrap(); + + software_data + }, + ) +} + fn create_event_with_attributes(name: String, attributes: Vec<(String, EventPayloadValue)>) -> Rc> { Rc::new(RefCell::new(XesEventImpl::new_all_fields( Rc::new(Box::new(name)), From d2544bcd3df3bcf2a02b9d8808a0bef111788eaa Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 6 Oct 2025 18:37:28 +0300 Subject: [PATCH 084/189] Add enhanced nodes to flamegraph context --- .../Canvas/Graph/AggregatedDataModels.cs | 8 +++++- .../Flamegraph/Context/FlamegraphContext.cs | 1 + .../Flamegraph/FlamegraphGraphRenderer.razor | 4 +++ .../Npm/src/graph/graph_elements.ts | 27 +++++++++++++++++++ .../Npm/src/graph/graph_renderer.ts | 3 ++- .../Npm/src/graph/labels/node_html_label.ts | 14 +++++++++- 6 files changed, 54 insertions(+), 3 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/AggregatedDataModels.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/AggregatedDataModels.cs index f1619dcd3..e74243c60 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/AggregatedDataModels.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/AggregatedDataModels.cs @@ -11,15 +11,21 @@ public class AggregatedData public bool IsEmpty => GlobalSoftwareData.IsEmpty; } -public class EnhancedEdge +public class EnhancedGraphEntity { public ulong Id { get; set; } public string Html { get; set; } public string Color { get; set; } public string ExecutionTimeStringRepr { get; set; } +} + +public class EnhancedEdge : EnhancedGraphEntity +{ public int NumberOfExecutions { get; set; } } +public class EnhancedNode : EnhancedGraphEntity; + public class MergedSoftwareData { public Dictionary>> Histograms { get; set; } = new(); diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index 1baaa7409..1c5648c06 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -40,6 +40,7 @@ public class FlamegraphRenderingContext { public required FlamegraphContext Context { get; init; } public required Dictionary EnhancedEdges { get; init; } + public required Dictionary EnhancedNodes { get; init; } public required bool EventClassesAsName { get; init; } public required bool LeftToRight { get; init; } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index 28f9ddc0b..c612985cc 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -33,10 +33,14 @@ else var enhancedEdges = await Js.InvokeAsync( "createEnhancedEdges", Context.Graph, Annotation, AggregatedData, Settings.SelectedEnhancements, Settings.Filter); + var enhancedNodes = await Js.InvokeAsync( + "createEnhancedNodes", Context.Graph, AggregatedData, Settings.SelectedEnhancements, Settings.Filter); + myRenderingContext = new FlamegraphRenderingContext { Context = Context, EnhancedEdges = enhancedEdges.ToDictionary(e => e.Id, e => e), + EnhancedNodes = enhancedNodes.ToDictionary(e => e.Id, e => e), EventClassesAsName = Settings.UseEventClassesAsLabels, LeftToRight = Settings.UseLROrientation }; diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts index 98ce4169b..4c22302c2 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts @@ -22,6 +22,7 @@ import { import {createEdgeStandaloneEnhancements} from "./labels/edge_html_label"; import {createTimeSpanString} from "./labels/util"; import {GrpcDurationKind} from "../protos/ficus/GrpcDurationKind"; +import {createNodeStandaloneEnhancements} from "./labels/node_html_label"; const graphColor = graphColors(darkTheme); @@ -210,6 +211,32 @@ export function createEnhancedEdges( }); } +export function createEnhancedNodes( + graph: GrpcGraph, + aggregatedData: AggregatedData, + enhancements: SoftwareEnhancementKind[], + filter: RegExp | null, +) { + aggregatedData = preprocessFromCSharpInterop(aggregatedData); + let elements = createGraphNodesElements(graph.nodes, filter); + + return elements.map(e => { + (e).data.aggregatedData = aggregatedData; + + let enhancementHtml = ""; + if (e.data.enhancementData != null) { + enhancementHtml = createNodeStandaloneEnhancements(enhancements, e.data.enhancementData, aggregatedData); + } + + return { + id: Number.parseInt(e.data.id), + html: enhancementHtml, + color: getPerformanceAnnotationColor(e.data.executionTimeNs / aggregatedData.totalExecutionTimeNs), + executionTimeStringRepr: createTimeSpanString(e.data.executionTimeNs, GrpcDurationKind.Nanos), + } + }); +} + function createGraphEdgesElements( edges: GrpcGraphEdge[], performanceMap: Record, diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_renderer.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_renderer.ts index 2d31b95f0..609a4fb23 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_renderer.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_renderer.ts @@ -3,7 +3,7 @@ import {darkTheme, graphColors} from "../colors"; import {createNodeHtmlLabel, createNodeHtmlLabelId} from "./labels/node_html_label"; import {createEdgeHtmlLabel} from "./labels/edge_html_label"; import { - createAggregatedData, createEnhancedEdges, + createAggregatedData, createEnhancedEdges, createEnhancedNodes, createGraphElements } from "./graph_elements"; import {GrpcGraph} from "../protos/ficus/GrpcGraph"; @@ -24,6 +24,7 @@ function setDrawGraph() { (window).drawGraph = drawGraph; (window).createAggregatedData = createAggregatedData; (window).createEnhancedEdges = createEnhancedEdges; + (window).createEnhancedNodes = createEnhancedNodes; } function drawGraph( diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/node_html_label.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/node_html_label.ts index 62dd1c701..7a74acc81 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/node_html_label.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/node_html_label.ts @@ -6,7 +6,7 @@ import { import {darkTheme, graphColors} from "../../colors"; import {nodeHeightPx, nodeWidthPx} from "../constants"; import {getOrCreateColor, isNullOrEmpty} from "../../utils"; -import {AggregatedData, GraphNode, MergedSoftwareData, SoftwareEnhancementKind} from "../types"; +import {AggregatedData, GraphNode, MergedEnhancementData, MergedSoftwareData, SoftwareEnhancementKind} from "../types"; import {GrpcUnderlyingPatternKind} from "../../protos/ficus/GrpcUnderlyingPatternKind"; import { createGroupedEnhancements, createNumberInformation, @@ -77,6 +77,18 @@ export function createNodeHtmlLabel( `; } +export function createNodeStandaloneEnhancements( + enhancements: SoftwareEnhancementKind[], + enhancementData: MergedEnhancementData, + aggregatedData: AggregatedData +) { + return ` +
+ ${createGroupedEnhancements(enhancements, enhancementData, aggregatedData, true, createNodeEnhancement, false)} +
+ ` +} + function createNodeExecutionTimeString(node: GraphNode) { return TimeSpan.fromNanoseconds(BigInt(node.executionTimeNs)).toString(); } From ffd948251cf908a0d199f88bc72cb5f32ffa21c0 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 6 Oct 2025 19:14:15 +0300 Subject: [PATCH 085/189] Better types --- .../Npm/src/graph/graph_elements.ts | 31 +++++++++---------- .../FicusDashboard/Npm/src/graph/types.ts | 30 +++++++++++------- 2 files changed, 33 insertions(+), 28 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts index 4c22302c2..96abeb7d9 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts @@ -13,8 +13,8 @@ import {GrpcGraphNode} from "../protos/ficus/GrpcGraphNode"; import {GrpcGraphEdge} from "../protos/ficus/GrpcGraphEdge"; import cytoscape from "cytoscape"; import { - AggregatedData, - GraphEdge, + AggregatedData, CytoscapeElementDef, + GraphEdge, GraphNode, MergedSoftwareData, SoftwareEnhancementKind, ValueWithUnits @@ -36,13 +36,9 @@ export function createGraphElements( let performanceEdgesMap = buildEdgesTimeAnnotationMap(annotation); - elements.push(...createGraphNodesElements(graph.nodes, filter)); + elements.push(...createGraphNodesElements(graph.nodes, aggregatedData, filter)); elements.push(...createGraphEdgesElements(graph.edges, performanceEdgesMap, aggregatedData, filter)); - for (let element of elements) { - (element).data.aggregatedData = aggregatedData; - } - return elements; } @@ -109,8 +105,12 @@ function buildEdgesTimeAnnotationMap(annotation: GrpcAnnotation): Record[] { + let elements: CytoscapeElementDef[] = []; for (let node of nodes) { elements.push({ @@ -122,6 +122,7 @@ export function createGraphNodesElements(nodes: GrpcGraphNode[], filter: RegExp innerGraph: node.innerGraph, executionTimeNs: calculateOverallExecutionTime(node), enhancementData: getNodeEnhancementDataOrNull(node, filter), + aggregatedData: aggregatedData } }) } @@ -194,7 +195,6 @@ export function createEnhancedEdges( let elements = createGraphEdgesElements(graph.edges, performanceEdgesMap, aggregatedData, filter); return elements.map(e => { - (e).data.aggregatedData = aggregatedData; let enhancementHtml = ""; if (e.data.enhancementData != null) { @@ -218,11 +218,9 @@ export function createEnhancedNodes( filter: RegExp | null, ) { aggregatedData = preprocessFromCSharpInterop(aggregatedData); - let elements = createGraphNodesElements(graph.nodes, filter); + let elements = createGraphNodesElements(graph.nodes, aggregatedData, filter); return elements.map(e => { - (e).data.aggregatedData = aggregatedData; - let enhancementHtml = ""; if (e.data.enhancementData != null) { enhancementHtml = createNodeStandaloneEnhancements(enhancements, e.data.enhancementData, aggregatedData); @@ -242,8 +240,8 @@ function createGraphEdgesElements( performanceMap: Record, aggregatedData: AggregatedData, filter: RegExp | null -): cytoscape.ElementDefinition[] { - let elements: cytoscape.ElementDefinition[] = []; +): CytoscapeElementDef[] { + let elements: CytoscapeElementDef[] = []; let maxWeight = Math.max(...edges.map(e => e.weight)); const minWidth = 5; @@ -284,7 +282,8 @@ function createGraphEdgesElements( executionTimeNs: executionTime, weight: edge.weight, width: width, - color: color + color: color, + aggregatedData: aggregatedData } }) } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/types.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/types.ts index 98ffbf1d3..d14a7bef0 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/types.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/types.ts @@ -2,27 +2,33 @@ import {GrpcNodeAdditionalData} from "../protos/ficus/GrpcNodeAdditionalData"; import {GrpcGraph} from "../protos/ficus/GrpcGraph"; import {GrpcTimelineDiagramFragment} from "../protos/ficus/GrpcTimelineDiagramFragment"; import {GrpcDurationKind} from "../protos/ficus/GrpcDurationKind"; +import {GrpcGraphEdgeAdditionalData} from "../protos/ficus/GrpcGraphEdgeAdditionalData"; -export interface GraphNode { - frontendId: number, - label: string, - id: string, - innerGraph?: GrpcGraph, - executionTimeNs: number, - additionalData: GrpcNodeAdditionalData[], - enhancementData: MergedEnhancementData, - aggregatedData: AggregatedData, +export interface CytoscapeElementDef extends cytoscape.ElementDefinition { + data: T } -export interface GraphEdge { +export interface GraphEntity { + label: string, frontendId: number, - additionalData: GrpcNodeAdditionalData[] + id: string, enhancementData: MergedEnhancementData, aggregatedData: AggregatedData, executionTimeNs: number, +} + +export interface GraphNode extends GraphEntity { + innerGraph?: GrpcGraph, + additionalData: GrpcNodeAdditionalData[], +} + +export interface GraphEdge extends GraphEntity { + source: string, + target: string, weight: number, color: string, - id: string + width: number, + additionalData: GrpcGraphEdgeAdditionalData[], } export interface AggregatedData { From e99a2393acaac302e3f95cc0def869ff999a8f59 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 6 Oct 2025 20:17:44 +0300 Subject: [PATCH 086/189] Fixing rendering issues --- .../Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor | 4 ++-- .../Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index 35152fab8..6595fea99 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -1,6 +1,6 @@ @using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context -
+
@switch (Block) { case HorizontalCompositeBlock: @@ -38,7 +38,7 @@ case EdgeBlock edgeBlock: var enhancedEdge = Context.GetEnhancedEdge(edgeBlock.FromNode, edgeBlock.ToNode); - var (edgeWidth, edgeHeight) = Context.AdjustWidthAndHeight("100%", $"{FlamegraphConstants.MainDim * block.CalculateMainDim()}px"); + var (edgeWidth, edgeHeight) = Context.AdjustWidthAndHeight(null, $"{FlamegraphConstants.MainDim * block.CalculateMainDim()}px"); break; diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index cac656994..e8371e203 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -5,7 +5,7 @@ @foreach (var (index, node) in Block.NodesSequence.Index()) { var height = FlamegraphConstants.MainDim * Block.CalculateMainDim(); - var writingMode = Context.LeftToRight ? " writing-mode: vertical-rl;" : string.Empty; + var writingMode = Context.LeftToRight ? "writing-mode: vertical-rl;" : string.Empty;
From cea7f8b9560144890359e299d048c0240d05e72e Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 6 Oct 2025 20:34:44 +0300 Subject: [PATCH 087/189] Handle too long node names --- .../Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs | 3 +++ .../Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index 1c5648c06..149ac3f8a 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -50,6 +50,9 @@ public class FlamegraphRenderingContext public string MinMainDim => "min-" + MainDim; public string MinSecondDim => "min-" + SecondDim; + public string MaxMainDim => "max-" + MainDim; + public string MaxSecondDim => "max-" + SecondDim; + public string SecondFlexDirection => LeftToRight ? "column" : "row"; public string MainFlexDirection => LeftToRight ? "row" : "column"; diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index e8371e203..6a2819cf2 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -7,12 +7,12 @@ var height = FlamegraphConstants.MainDim * Block.CalculateMainDim(); var writingMode = Context.LeftToRight ? "writing-mode: vertical-rl;" : string.Empty; -
@foreach (var eventClass in Context.GetNodeName(node)) { -
+
@eventClass
} From b48910deb38bf17397e9ed464ddde8fe8bb1f6cc Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 6 Oct 2025 22:37:20 +0300 Subject: [PATCH 088/189] Better edge enhancements rendering --- .../Npm/src/graph/labels/edge_html_label.ts | 26 +++++++++---------- .../Npm/src/graph/labels/util.ts | 2 +- .../FicusDashboard/wwwroot/css/app.css | 1 - 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/edge_html_label.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/edge_html_label.ts index 971c33170..6a7773cdd 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/edge_html_label.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/edge_html_label.ts @@ -33,7 +33,7 @@ export function createEdgeStandaloneEnhancements( aggregatedData: AggregatedData ) { return ` -
+
${createGroupedEnhancements(enhancements, enhancementData, aggregatedData, true, createEdgeEnhancement, true)}
` @@ -125,21 +125,19 @@ function createEdgeSoftwareEnhancementPart( let percent = totalSum != null ? ((valuesSum / totalSum) * 100).toFixed(2) : null; return ` -
-
-
-
- ${title} -
-
- ${valuesSum}${units != null ? ` ${units}` : ""} -
-
- ${percent != null ? `${percent}%` : ""} -
+
+
+
+ ${title} +
+
+ ${valuesSum}${units != null ? ` ${units}` : ""} +
+
+ ${percent != null ? `${percent}%` : ""}
- ${createRectangleHistogram(toSortedArray(data), totalSum)}
+ ${createRectangleHistogram(toSortedArray(data), totalSum)}
` } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/util.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/util.ts index 6a7eb7455..69e5f152f 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/util.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/util.ts @@ -111,7 +111,7 @@ export function createNumberInformation( let percentString = getPercentExecutionTime(value, totalValue); return ` -
+
diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css b/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css index c244a3183..50a6c118e 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css @@ -245,7 +245,6 @@ svg-pie-chart svg { .graph-content-container { background: #5d5d5d; width: fit-content; - height: 100%; padding: 5px; display: flex; flex-direction: column; From 3e978b2d9b1089ad808214d2988a65b3dc195b63 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 6 Oct 2025 23:10:44 +0300 Subject: [PATCH 089/189] Dont set min-width 100% for the first composite block --- .../Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor | 7 ++++++- .../Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor | 6 +----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index 6595fea99..46de4fc6e 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -1,6 +1,10 @@ @using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context -
+@{ + var minWidth = @SpecifyMinWidth ? $"{Context.MinMainDim}: 100%" : string.Empty; +} + +
@switch (Block) { case HorizontalCompositeBlock: @@ -94,6 +98,7 @@ @code { [Parameter] public required CompositeBlockBase Block { get; init; } [Parameter] public required FlamegraphRenderingContext Context { get; init; } + [Parameter] public bool SpecifyMinWidth { get; init; } = true; private RenderFragment RenderBlock(BasicBlock block) => block switch { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index c612985cc..853c4d996 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -7,11 +7,7 @@ @if (myRenderingContext is not null) { - var height = Context.Layout.CalculateMainDim() * FlamegraphConstants.MainDim; - -
- -
+ } else { From e83446ae5c95482949a6ad972486a0007a9c6d28 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Tue, 7 Oct 2025 18:23:11 +0300 Subject: [PATCH 090/189] Fix loader (finally) --- .../Graph/Flamegraph/CompositeBlockRenderer.razor | 6 +++--- .../Canvas/Graph/Flamegraph/FlamegraphConstants.cs | 6 +++--- .../Graph/Flamegraph/FlamegraphGraphRenderer.razor | 10 +++++++++- .../Graph/Flamegraph/SequentialBlockRenderer.razor | 6 +++--- 4 files changed, 18 insertions(+), 10 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index 46de4fc6e..e7d7e93d0 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -42,12 +42,12 @@ case EdgeBlock edgeBlock: var enhancedEdge = Context.GetEnhancedEdge(edgeBlock.FromNode, edgeBlock.ToNode); - var (edgeWidth, edgeHeight) = Context.AdjustWidthAndHeight(null, $"{FlamegraphConstants.MainDim * block.CalculateMainDim()}px"); + var (edgeWidth, edgeHeight) = Context.AdjustWidthAndHeight(null, $"{FlamegraphConstants.MainDimPx * block.CalculateMainDim()}px"); break; case SeparatorBlock: -
@@ -80,7 +80,7 @@ } } -
+
diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs index 939bdc3a8..2ea36b7a3 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs @@ -2,7 +2,7 @@ internal static class FlamegraphConstants { - public const int MainDim = 35; - public const int NodeWidth = 30; - public const int EdgeWidth = 40; + public const int MainDimPx = 35; + public const int NodeWidthPx = 30; + public const int EdgeWidthPx = 40; } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index 853c4d996..9158039d5 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -11,7 +11,11 @@ } else { - + var dim = Context.Layout.CalculateMainDim() * FlamegraphConstants.MainDimPx; + +
+ +
} @code { @@ -22,8 +26,12 @@ else private FlamegraphRenderingContext? myRenderingContext; + protected override void OnParametersSet() { + myRenderingContext = null; + StateHasChanged(); + Task.Run(async () => { var enhancedEdges = await Js.InvokeAsync( diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index 6a2819cf2..56a9bc575 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -1,13 +1,13 @@ @using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context -
+
@foreach (var (index, node) in Block.NodesSequence.Index()) { - var height = FlamegraphConstants.MainDim * Block.CalculateMainDim(); + var height = FlamegraphConstants.MainDimPx * Block.CalculateMainDim(); var writingMode = Context.LeftToRight ? "writing-mode: vertical-rl;" : string.Empty; -
@foreach (var eventClass in Context.GetNodeName(node)) From 6afd5ca9e7409ecaff3fe2e4879d70839e075835 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Tue, 7 Oct 2025 18:46:57 +0300 Subject: [PATCH 091/189] Starting rendering nodes enhancements --- .../Canvas/Graph/AggregatedDataModels.cs | 2 +- .../Graph/Flamegraph/Context/FlamegraphContext.cs | 2 ++ .../Canvas/Graph/Flamegraph/EdgeRenderer.razor | 11 +++++++---- .../Graph/Flamegraph/SequentialBlockRenderer.razor | 9 ++++++++- .../FicusDashboard/Npm/src/graph/graph_elements.ts | 2 +- .../Npm/src/graph/labels/node_html_label.ts | 9 ++++++--- 6 files changed, 25 insertions(+), 10 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/AggregatedDataModels.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/AggregatedDataModels.cs index e74243c60..6ade26f18 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/AggregatedDataModels.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/AggregatedDataModels.cs @@ -14,7 +14,7 @@ public class AggregatedData public class EnhancedGraphEntity { public ulong Id { get; set; } - public string Html { get; set; } + public string? Html { get; set; } public string Color { get; set; } public string ExecutionTimeStringRepr { get; set; } } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index 149ac3f8a..00eb15425 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -63,6 +63,8 @@ public EnhancedEdge GetEnhancedEdge(ulong fromNode, ulong toNode) return EnhancedEdges[edge.Id]; } + public EnhancedNode GetEnhancedNode(ulong node) => EnhancedNodes[node]; + public List GetNodeName(ulong nodeId) => EventClassesAsName switch { true => GetTopThreeEventClasses(nodeId), diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor index 1cc5edbe8..ef6fb1a01 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor @@ -21,10 +21,13 @@
-
- @((MarkupString)EnhancedEdge.Html) -
+ @if (EnhancedEdge.Html is { }) + { +
+ @((MarkupString)EnhancedEdge.Html) +
+ } }
diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index 56a9bc575..628e07cb7 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -5,7 +5,9 @@ @foreach (var (index, node) in Block.NodesSequence.Index()) { var height = FlamegraphConstants.MainDimPx * Block.CalculateMainDim(); - var writingMode = Context.LeftToRight ? "writing-mode: vertical-rl;" : string.Empty; + var enhancedNode = Context.GetEnhancedNode(node); + + var writingMode = Context.LeftToRight && enhancedNode.Html is null ? "writing-mode: vertical-rl;" : string.Empty;
@@ -15,6 +17,11 @@
@eventClass
+ + @if (enhancedNode.Html is { }) + { + @((MarkupString)enhancedNode.Html) + } }
diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts index 96abeb7d9..69f98f2e7 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/graph_elements.ts @@ -221,7 +221,7 @@ export function createEnhancedNodes( let elements = createGraphNodesElements(graph.nodes, aggregatedData, filter); return elements.map(e => { - let enhancementHtml = ""; + let enhancementHtml = null; if (e.data.enhancementData != null) { enhancementHtml = createNodeStandaloneEnhancements(enhancements, e.data.enhancementData, aggregatedData); } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/node_html_label.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/node_html_label.ts index 7a74acc81..02698b366 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/node_html_label.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/graph/labels/node_html_label.ts @@ -81,15 +81,18 @@ export function createNodeStandaloneEnhancements( enhancements: SoftwareEnhancementKind[], enhancementData: MergedEnhancementData, aggregatedData: AggregatedData -) { +): string | null { + let groupedEnhancements = createGroupedEnhancements(enhancements, enhancementData, aggregatedData, true, createNodeEnhancement, false); + if (groupedEnhancements.length == 0) return null; + return `
- ${createGroupedEnhancements(enhancements, enhancementData, aggregatedData, true, createNodeEnhancement, false)} + ${groupedEnhancements}
` } -function createNodeExecutionTimeString(node: GraphNode) { +function createNodeExecutionTimeString(node: GraphNode): string { return TimeSpan.fromNanoseconds(BigInt(node.executionTimeNs)).toString(); } From f06c3b16dadc033873a25fd339879cfcb6328f58 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Tue, 7 Oct 2025 19:14:38 +0300 Subject: [PATCH 092/189] Dont render node enhanements for now --- .../Graph/Flamegraph/SequentialBlockRenderer.razor | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index 628e07cb7..56a9bc575 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -5,9 +5,7 @@ @foreach (var (index, node) in Block.NodesSequence.Index()) { var height = FlamegraphConstants.MainDimPx * Block.CalculateMainDim(); - var enhancedNode = Context.GetEnhancedNode(node); - - var writingMode = Context.LeftToRight && enhancedNode.Html is null ? "writing-mode: vertical-rl;" : string.Empty; + var writingMode = Context.LeftToRight ? "writing-mode: vertical-rl;" : string.Empty;
@@ -17,11 +15,6 @@
@eventClass
- - @if (enhancedNode.Html is { }) - { - @((MarkupString)enhancedNode.Html) - } }
From 934d9313bc70930ff16f33d2d453e73e82d470f5 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Wed, 8 Oct 2025 16:12:27 +0300 Subject: [PATCH 093/189] Complete OCEL model --- Ficus/protos/pipelines_and_context.proto | 14 +- .../Npm/src/protos/backend_service.ts | 2 + .../Npm/src/protos/context_values_service.ts | 2 + .../ficus/GrpcMergedObjectAllocation.ts | 10 + .../Npm/src/protos/ficus/GrpcOcelData.ts | 18 +- .../ficus/GrpcProduceObjectConsumption.ts | 10 + .../Npm/src/protos/front_contract.ts | 2 + .../Npm/src/protos/kafka_service.ts | 2 + .../Npm/src/protos/pipelines_and_context.ts | 2 + .../go/grpcmodels/pipelines_and_context.pb.go | 420 ++++++++++++------ .../models/pipelines_and_context_pb2.py | 100 +++-- .../models/pipelines_and_context_pb2.pyi | 24 +- 12 files changed, 404 insertions(+), 202 deletions(-) create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcMergedObjectAllocation.ts create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcProduceObjectConsumption.ts diff --git a/Ficus/protos/pipelines_and_context.proto b/Ficus/protos/pipelines_and_context.proto index 455fd2c7b..b9c913910 100644 --- a/Ficus/protos/pipelines_and_context.proto +++ b/Ficus/protos/pipelines_and_context.proto @@ -263,11 +263,21 @@ message GrpcOcelData { string object_type = 1; string object_id = 2; oneof action { - google.protobuf.Empty Allocate = 3; - google.protobuf.Empty Consume = 4; + google.protobuf.Empty allocate = 3; + google.protobuf.Empty consume = 4; + GrpcMergedObjectAllocation merged_object_allocation = 5; + GrpcProduceObjectConsumption produce_object_consumption = 6; } } +message GrpcMergedObjectAllocation { + repeated string consumed_objects_ids = 1; +} + +message GrpcProduceObjectConsumption { + repeated string produced_objects_ids = 2; +} + message GrpcActivityDurationData { GrpcGenericEnhancementBase base = 1; uint64 duration = 2; diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/backend_service.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/backend_service.ts index 09972a5ae..bd8fe5649 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/backend_service.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/backend_service.ts @@ -67,6 +67,7 @@ export interface ProtoGrpcType { GrpcLogTimelineDiagram: MessageTypeDefinition GrpcMatrix: MessageTypeDefinition GrpcMatrixRow: MessageTypeDefinition + GrpcMergedObjectAllocation: MessageTypeDefinition GrpcMethodInliningInfo: MessageTypeDefinition GrpcMethodNameParts: MessageTypeDefinition GrpcMultithreadedFragment: MessageTypeDefinition @@ -96,6 +97,7 @@ export interface ProtoGrpcType { GrpcPipelinePartResult: MessageTypeDefinition GrpcPipelinePartToBackends: MessageTypeDefinition GrpcPredefinedPipelinePartsToBackendsMap: MessageTypeDefinition + GrpcProduceObjectConsumption: MessageTypeDefinition GrpcProxyPipelineExecutionRequest: MessageTypeDefinition GrpcSimpleContextRequestPipelinePart: MessageTypeDefinition GrpcSimpleCounterData: MessageTypeDefinition diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/context_values_service.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/context_values_service.ts index beef79619..04821d86c 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/context_values_service.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/context_values_service.ts @@ -64,6 +64,7 @@ export interface ProtoGrpcType { GrpcLogTimelineDiagram: MessageTypeDefinition GrpcMatrix: MessageTypeDefinition GrpcMatrixRow: MessageTypeDefinition + GrpcMergedObjectAllocation: MessageTypeDefinition GrpcMethodInliningInfo: MessageTypeDefinition GrpcMethodNameParts: MessageTypeDefinition GrpcMultithreadedFragment: MessageTypeDefinition @@ -85,6 +86,7 @@ export interface ProtoGrpcType { GrpcPipelinePart: MessageTypeDefinition GrpcPipelinePartBase: MessageTypeDefinition GrpcPipelinePartConfiguration: MessageTypeDefinition + GrpcProduceObjectConsumption: MessageTypeDefinition GrpcSimpleContextRequestPipelinePart: MessageTypeDefinition GrpcSimpleCounterData: MessageTypeDefinition GrpcSimpleEventLog: MessageTypeDefinition diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcMergedObjectAllocation.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcMergedObjectAllocation.ts new file mode 100644 index 000000000..e80644bb3 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcMergedObjectAllocation.ts @@ -0,0 +1,10 @@ +// Original file: ../../../../../protos/pipelines_and_context.proto + + +export interface GrpcMergedObjectAllocation_DONTUSE { + 'consumedObjectsIds'?: (string)[]; +} + +export interface GrpcMergedObjectAllocation { + 'consumedObjectsIds': (string)[]; +} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelData.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelData.ts index 9272356bb..8c8f62255 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelData.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelData.ts @@ -1,19 +1,25 @@ // Original file: ../../../../../protos/pipelines_and_context.proto import type { Empty_DONTUSE as _google_protobuf_Empty_DONTUSE, Empty as _google_protobuf_Empty } from '../google/protobuf/Empty'; +import type { GrpcMergedObjectAllocation_DONTUSE as _ficus_GrpcMergedObjectAllocation_DONTUSE, GrpcMergedObjectAllocation as _ficus_GrpcMergedObjectAllocation } from '../ficus/GrpcMergedObjectAllocation'; +import type { GrpcProduceObjectConsumption_DONTUSE as _ficus_GrpcProduceObjectConsumption_DONTUSE, GrpcProduceObjectConsumption as _ficus_GrpcProduceObjectConsumption } from '../ficus/GrpcProduceObjectConsumption'; export interface GrpcOcelData_DONTUSE { 'objectType'?: (string); 'objectId'?: (string); - 'Allocate'?: (_google_protobuf_Empty_DONTUSE | null); - 'Consume'?: (_google_protobuf_Empty_DONTUSE | null); - 'action'?: "Allocate"|"Consume"; + 'allocate'?: (_google_protobuf_Empty_DONTUSE | null); + 'consume'?: (_google_protobuf_Empty_DONTUSE | null); + 'mergedObjectAllocation'?: (_ficus_GrpcMergedObjectAllocation_DONTUSE | null); + 'produceObjectConsumption'?: (_ficus_GrpcProduceObjectConsumption_DONTUSE | null); + 'action'?: "allocate"|"consume"|"mergedObjectAllocation"|"produceObjectConsumption"; } export interface GrpcOcelData { 'objectType': (string); 'objectId': (string); - 'Allocate'?: (_google_protobuf_Empty | null); - 'Consume'?: (_google_protobuf_Empty | null); - 'action': "Allocate"|"Consume"; + 'allocate'?: (_google_protobuf_Empty | null); + 'consume'?: (_google_protobuf_Empty | null); + 'mergedObjectAllocation'?: (_ficus_GrpcMergedObjectAllocation | null); + 'produceObjectConsumption'?: (_ficus_GrpcProduceObjectConsumption | null); + 'action': "allocate"|"consume"|"mergedObjectAllocation"|"produceObjectConsumption"; } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcProduceObjectConsumption.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcProduceObjectConsumption.ts new file mode 100644 index 000000000..c6339c166 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcProduceObjectConsumption.ts @@ -0,0 +1,10 @@ +// Original file: ../../../../../protos/pipelines_and_context.proto + + +export interface GrpcProduceObjectConsumption_DONTUSE { + 'producedObjectsIds'?: (string)[]; +} + +export interface GrpcProduceObjectConsumption { + 'producedObjectsIds': (string)[]; +} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/front_contract.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/front_contract.ts index 9701a51ea..075462245 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/front_contract.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/front_contract.ts @@ -66,6 +66,7 @@ export interface ProtoGrpcType { GrpcLogTimelineDiagram: MessageTypeDefinition GrpcMatrix: MessageTypeDefinition GrpcMatrixRow: MessageTypeDefinition + GrpcMergedObjectAllocation: MessageTypeDefinition GrpcMethodInliningInfo: MessageTypeDefinition GrpcMethodNameParts: MessageTypeDefinition GrpcMultithreadedFragment: MessageTypeDefinition @@ -92,6 +93,7 @@ export interface ProtoGrpcType { GrpcPipelinePartsContextValuesService: SubtypeConstructor & { service: _ficus_GrpcPipelinePartsContextValuesServiceDefinition } GrpcProcessCaseMetadata: MessageTypeDefinition GrpcProcessCaseMetadataWithStamp: MessageTypeDefinition + GrpcProduceObjectConsumption: MessageTypeDefinition GrpcSimpleContextRequestPipelinePart: MessageTypeDefinition GrpcSimpleCounterData: MessageTypeDefinition GrpcSimpleEventLog: MessageTypeDefinition diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/kafka_service.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/kafka_service.ts index e395ecb57..e9e4f460b 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/kafka_service.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/kafka_service.ts @@ -81,6 +81,7 @@ export interface ProtoGrpcType { GrpcLogTimelineDiagram: MessageTypeDefinition GrpcMatrix: MessageTypeDefinition GrpcMatrixRow: MessageTypeDefinition + GrpcMergedObjectAllocation: MessageTypeDefinition GrpcMethodInliningInfo: MessageTypeDefinition GrpcMethodNameParts: MessageTypeDefinition GrpcMultithreadedFragment: MessageTypeDefinition @@ -113,6 +114,7 @@ export interface ProtoGrpcType { GrpcPipelineStreamingConfiguration: MessageTypeDefinition GrpcPredefinedPipelinePartsToBackendsMap: MessageTypeDefinition GrpcProcessInfo: MessageTypeDefinition + GrpcProduceObjectConsumption: MessageTypeDefinition GrpcProxyPipelineExecutionRequest: MessageTypeDefinition GrpcRemoveAllPipelinesRequest: MessageTypeDefinition GrpcRemovePipelineRequest: MessageTypeDefinition diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/pipelines_and_context.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/pipelines_and_context.ts index 4d402f94f..8a9bcd246 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/pipelines_and_context.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/pipelines_and_context.ts @@ -60,6 +60,7 @@ export interface ProtoGrpcType { GrpcLogTimelineDiagram: MessageTypeDefinition GrpcMatrix: MessageTypeDefinition GrpcMatrixRow: MessageTypeDefinition + GrpcMergedObjectAllocation: MessageTypeDefinition GrpcMethodInliningInfo: MessageTypeDefinition GrpcMethodNameParts: MessageTypeDefinition GrpcMultithreadedFragment: MessageTypeDefinition @@ -81,6 +82,7 @@ export interface ProtoGrpcType { GrpcPipelinePart: MessageTypeDefinition GrpcPipelinePartBase: MessageTypeDefinition GrpcPipelinePartConfiguration: MessageTypeDefinition + GrpcProduceObjectConsumption: MessageTypeDefinition GrpcSimpleContextRequestPipelinePart: MessageTypeDefinition GrpcSimpleCounterData: MessageTypeDefinition GrpcSimpleEventLog: MessageTypeDefinition diff --git a/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go b/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go index 496a7659c..633c19f3a 100644 --- a/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go +++ b/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go @@ -2921,6 +2921,8 @@ type GrpcOcelData struct { // // *GrpcOcelData_Allocate // *GrpcOcelData_Consume + // *GrpcOcelData_MergedObjectAllocation + // *GrpcOcelData_ProduceObjectConsumption Action isGrpcOcelData_Action `protobuf_oneof:"action"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -2995,22 +2997,140 @@ func (x *GrpcOcelData) GetConsume() *emptypb.Empty { return nil } +func (x *GrpcOcelData) GetMergedObjectAllocation() *GrpcMergedObjectAllocation { + if x != nil { + if x, ok := x.Action.(*GrpcOcelData_MergedObjectAllocation); ok { + return x.MergedObjectAllocation + } + } + return nil +} + +func (x *GrpcOcelData) GetProduceObjectConsumption() *GrpcProduceObjectConsumption { + if x != nil { + if x, ok := x.Action.(*GrpcOcelData_ProduceObjectConsumption); ok { + return x.ProduceObjectConsumption + } + } + return nil +} + type isGrpcOcelData_Action interface { isGrpcOcelData_Action() } type GrpcOcelData_Allocate struct { - Allocate *emptypb.Empty `protobuf:"bytes,3,opt,name=Allocate,proto3,oneof"` + Allocate *emptypb.Empty `protobuf:"bytes,3,opt,name=allocate,proto3,oneof"` } type GrpcOcelData_Consume struct { - Consume *emptypb.Empty `protobuf:"bytes,4,opt,name=Consume,proto3,oneof"` + Consume *emptypb.Empty `protobuf:"bytes,4,opt,name=consume,proto3,oneof"` +} + +type GrpcOcelData_MergedObjectAllocation struct { + MergedObjectAllocation *GrpcMergedObjectAllocation `protobuf:"bytes,5,opt,name=merged_object_allocation,json=mergedObjectAllocation,proto3,oneof"` +} + +type GrpcOcelData_ProduceObjectConsumption struct { + ProduceObjectConsumption *GrpcProduceObjectConsumption `protobuf:"bytes,6,opt,name=produce_object_consumption,json=produceObjectConsumption,proto3,oneof"` } func (*GrpcOcelData_Allocate) isGrpcOcelData_Action() {} func (*GrpcOcelData_Consume) isGrpcOcelData_Action() {} +func (*GrpcOcelData_MergedObjectAllocation) isGrpcOcelData_Action() {} + +func (*GrpcOcelData_ProduceObjectConsumption) isGrpcOcelData_Action() {} + +type GrpcMergedObjectAllocation struct { + state protoimpl.MessageState `protogen:"open.v1"` + ConsumedObjectsIds []string `protobuf:"bytes,1,rep,name=consumed_objects_ids,json=consumedObjectsIds,proto3" json:"consumed_objects_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrpcMergedObjectAllocation) Reset() { + *x = GrpcMergedObjectAllocation{} + mi := &file_pipelines_and_context_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrpcMergedObjectAllocation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrpcMergedObjectAllocation) ProtoMessage() {} + +func (x *GrpcMergedObjectAllocation) ProtoReflect() protoreflect.Message { + mi := &file_pipelines_and_context_proto_msgTypes[42] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrpcMergedObjectAllocation.ProtoReflect.Descriptor instead. +func (*GrpcMergedObjectAllocation) Descriptor() ([]byte, []int) { + return file_pipelines_and_context_proto_rawDescGZIP(), []int{42} +} + +func (x *GrpcMergedObjectAllocation) GetConsumedObjectsIds() []string { + if x != nil { + return x.ConsumedObjectsIds + } + return nil +} + +type GrpcProduceObjectConsumption struct { + state protoimpl.MessageState `protogen:"open.v1"` + ProducedObjectsIds []string `protobuf:"bytes,2,rep,name=produced_objects_ids,json=producedObjectsIds,proto3" json:"produced_objects_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrpcProduceObjectConsumption) Reset() { + *x = GrpcProduceObjectConsumption{} + mi := &file_pipelines_and_context_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrpcProduceObjectConsumption) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrpcProduceObjectConsumption) ProtoMessage() {} + +func (x *GrpcProduceObjectConsumption) ProtoReflect() protoreflect.Message { + mi := &file_pipelines_and_context_proto_msgTypes[43] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrpcProduceObjectConsumption.ProtoReflect.Descriptor instead. +func (*GrpcProduceObjectConsumption) Descriptor() ([]byte, []int) { + return file_pipelines_and_context_proto_rawDescGZIP(), []int{43} +} + +func (x *GrpcProduceObjectConsumption) GetProducedObjectsIds() []string { + if x != nil { + return x.ProducedObjectsIds + } + return nil +} + type GrpcActivityDurationData struct { state protoimpl.MessageState `protogen:"open.v1"` Base *GrpcGenericEnhancementBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` @@ -3022,7 +3142,7 @@ type GrpcActivityDurationData struct { func (x *GrpcActivityDurationData) Reset() { *x = GrpcActivityDurationData{} - mi := &file_pipelines_and_context_proto_msgTypes[42] + mi := &file_pipelines_and_context_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3034,7 +3154,7 @@ func (x *GrpcActivityDurationData) String() string { func (*GrpcActivityDurationData) ProtoMessage() {} func (x *GrpcActivityDurationData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[42] + mi := &file_pipelines_and_context_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3047,7 +3167,7 @@ func (x *GrpcActivityDurationData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcActivityDurationData.ProtoReflect.Descriptor instead. func (*GrpcActivityDurationData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{42} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{44} } func (x *GrpcActivityDurationData) GetBase() *GrpcGenericEnhancementBase { @@ -3082,7 +3202,7 @@ type GrpcGenericEnhancementBase struct { func (x *GrpcGenericEnhancementBase) Reset() { *x = GrpcGenericEnhancementBase{} - mi := &file_pipelines_and_context_proto_msgTypes[43] + mi := &file_pipelines_and_context_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3094,7 +3214,7 @@ func (x *GrpcGenericEnhancementBase) String() string { func (*GrpcGenericEnhancementBase) ProtoMessage() {} func (x *GrpcGenericEnhancementBase) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[43] + mi := &file_pipelines_and_context_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3107,7 +3227,7 @@ func (x *GrpcGenericEnhancementBase) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGenericEnhancementBase.ProtoReflect.Descriptor instead. func (*GrpcGenericEnhancementBase) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{43} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{45} } func (x *GrpcGenericEnhancementBase) GetName() string { @@ -3141,7 +3261,7 @@ type GrpcGeneralHistogramData struct { func (x *GrpcGeneralHistogramData) Reset() { *x = GrpcGeneralHistogramData{} - mi := &file_pipelines_and_context_proto_msgTypes[44] + mi := &file_pipelines_and_context_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3153,7 +3273,7 @@ func (x *GrpcGeneralHistogramData) String() string { func (*GrpcGeneralHistogramData) ProtoMessage() {} func (x *GrpcGeneralHistogramData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[44] + mi := &file_pipelines_and_context_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3166,7 +3286,7 @@ func (x *GrpcGeneralHistogramData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGeneralHistogramData.ProtoReflect.Descriptor instead. func (*GrpcGeneralHistogramData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{44} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{46} } func (x *GrpcGeneralHistogramData) GetBase() *GrpcGenericEnhancementBase { @@ -3193,7 +3313,7 @@ type GrpcSimpleCounterData struct { func (x *GrpcSimpleCounterData) Reset() { *x = GrpcSimpleCounterData{} - mi := &file_pipelines_and_context_proto_msgTypes[45] + mi := &file_pipelines_and_context_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3205,7 +3325,7 @@ func (x *GrpcSimpleCounterData) String() string { func (*GrpcSimpleCounterData) ProtoMessage() {} func (x *GrpcSimpleCounterData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[45] + mi := &file_pipelines_and_context_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3218,7 +3338,7 @@ func (x *GrpcSimpleCounterData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcSimpleCounterData.ProtoReflect.Descriptor instead. func (*GrpcSimpleCounterData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{45} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{47} } func (x *GrpcSimpleCounterData) GetBase() *GrpcGenericEnhancementBase { @@ -3245,7 +3365,7 @@ type GrpcMethodInliningInfo struct { func (x *GrpcMethodInliningInfo) Reset() { *x = GrpcMethodInliningInfo{} - mi := &file_pipelines_and_context_proto_msgTypes[46] + mi := &file_pipelines_and_context_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3257,7 +3377,7 @@ func (x *GrpcMethodInliningInfo) String() string { func (*GrpcMethodInliningInfo) ProtoMessage() {} func (x *GrpcMethodInliningInfo) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[46] + mi := &file_pipelines_and_context_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3270,7 +3390,7 @@ func (x *GrpcMethodInliningInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcMethodInliningInfo.ProtoReflect.Descriptor instead. func (*GrpcMethodInliningInfo) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{46} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{48} } func (x *GrpcMethodInliningInfo) GetInlineeInfo() *GrpcMethodNameParts { @@ -3298,7 +3418,7 @@ type GrpcMethodNameParts struct { func (x *GrpcMethodNameParts) Reset() { *x = GrpcMethodNameParts{} - mi := &file_pipelines_and_context_proto_msgTypes[47] + mi := &file_pipelines_and_context_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3310,7 +3430,7 @@ func (x *GrpcMethodNameParts) String() string { func (*GrpcMethodNameParts) ProtoMessage() {} func (x *GrpcMethodNameParts) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[47] + mi := &file_pipelines_and_context_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3323,7 +3443,7 @@ func (x *GrpcMethodNameParts) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcMethodNameParts.ProtoReflect.Descriptor instead. func (*GrpcMethodNameParts) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{47} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{49} } func (x *GrpcMethodNameParts) GetName() string { @@ -3357,7 +3477,7 @@ type GrpcHistogramEntry struct { func (x *GrpcHistogramEntry) Reset() { *x = GrpcHistogramEntry{} - mi := &file_pipelines_and_context_proto_msgTypes[48] + mi := &file_pipelines_and_context_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3369,7 +3489,7 @@ func (x *GrpcHistogramEntry) String() string { func (*GrpcHistogramEntry) ProtoMessage() {} func (x *GrpcHistogramEntry) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[48] + mi := &file_pipelines_and_context_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3382,7 +3502,7 @@ func (x *GrpcHistogramEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcHistogramEntry.ProtoReflect.Descriptor instead. func (*GrpcHistogramEntry) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{48} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{50} } func (x *GrpcHistogramEntry) GetName() string { @@ -3408,7 +3528,7 @@ type GrpcTimelineDiagramFragment struct { func (x *GrpcTimelineDiagramFragment) Reset() { *x = GrpcTimelineDiagramFragment{} - mi := &file_pipelines_and_context_proto_msgTypes[49] + mi := &file_pipelines_and_context_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3420,7 +3540,7 @@ func (x *GrpcTimelineDiagramFragment) String() string { func (*GrpcTimelineDiagramFragment) ProtoMessage() {} func (x *GrpcTimelineDiagramFragment) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[49] + mi := &file_pipelines_and_context_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3433,7 +3553,7 @@ func (x *GrpcTimelineDiagramFragment) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcTimelineDiagramFragment.ProtoReflect.Descriptor instead. func (*GrpcTimelineDiagramFragment) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{49} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{51} } func (x *GrpcTimelineDiagramFragment) GetThreads() []*GrpcThread { @@ -3454,7 +3574,7 @@ type GrpcAllocationInfo struct { func (x *GrpcAllocationInfo) Reset() { *x = GrpcAllocationInfo{} - mi := &file_pipelines_and_context_proto_msgTypes[50] + mi := &file_pipelines_and_context_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3466,7 +3586,7 @@ func (x *GrpcAllocationInfo) String() string { func (*GrpcAllocationInfo) ProtoMessage() {} func (x *GrpcAllocationInfo) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[50] + mi := &file_pipelines_and_context_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3479,7 +3599,7 @@ func (x *GrpcAllocationInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcAllocationInfo.ProtoReflect.Descriptor instead. func (*GrpcAllocationInfo) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{50} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{52} } func (x *GrpcAllocationInfo) GetTypeName() string { @@ -3514,7 +3634,7 @@ type GrpcUnderlyingPatternInfo struct { func (x *GrpcUnderlyingPatternInfo) Reset() { *x = GrpcUnderlyingPatternInfo{} - mi := &file_pipelines_and_context_proto_msgTypes[51] + mi := &file_pipelines_and_context_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3526,7 +3646,7 @@ func (x *GrpcUnderlyingPatternInfo) String() string { func (*GrpcUnderlyingPatternInfo) ProtoMessage() {} func (x *GrpcUnderlyingPatternInfo) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[51] + mi := &file_pipelines_and_context_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3539,7 +3659,7 @@ func (x *GrpcUnderlyingPatternInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcUnderlyingPatternInfo.ProtoReflect.Descriptor instead. func (*GrpcUnderlyingPatternInfo) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{51} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{53} } func (x *GrpcUnderlyingPatternInfo) GetPatternKind() GrpcUnderlyingPatternKind { @@ -3577,7 +3697,7 @@ type GrpcGraphEdge struct { func (x *GrpcGraphEdge) Reset() { *x = GrpcGraphEdge{} - mi := &file_pipelines_and_context_proto_msgTypes[52] + mi := &file_pipelines_and_context_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3589,7 +3709,7 @@ func (x *GrpcGraphEdge) String() string { func (*GrpcGraphEdge) ProtoMessage() {} func (x *GrpcGraphEdge) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[52] + mi := &file_pipelines_and_context_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3602,7 +3722,7 @@ func (x *GrpcGraphEdge) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGraphEdge.ProtoReflect.Descriptor instead. func (*GrpcGraphEdge) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{52} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{54} } func (x *GrpcGraphEdge) GetId() uint64 { @@ -3661,7 +3781,7 @@ type GrpcGraphEdgeAdditionalData struct { func (x *GrpcGraphEdgeAdditionalData) Reset() { *x = GrpcGraphEdgeAdditionalData{} - mi := &file_pipelines_and_context_proto_msgTypes[53] + mi := &file_pipelines_and_context_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3673,7 +3793,7 @@ func (x *GrpcGraphEdgeAdditionalData) String() string { func (*GrpcGraphEdgeAdditionalData) ProtoMessage() {} func (x *GrpcGraphEdgeAdditionalData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[53] + mi := &file_pipelines_and_context_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3686,7 +3806,7 @@ func (x *GrpcGraphEdgeAdditionalData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGraphEdgeAdditionalData.ProtoReflect.Descriptor instead. func (*GrpcGraphEdgeAdditionalData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{53} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{55} } func (x *GrpcGraphEdgeAdditionalData) GetData() isGrpcGraphEdgeAdditionalData_Data { @@ -3754,7 +3874,7 @@ type GrpcEdgeExecutionInfo struct { func (x *GrpcEdgeExecutionInfo) Reset() { *x = GrpcEdgeExecutionInfo{} - mi := &file_pipelines_and_context_proto_msgTypes[54] + mi := &file_pipelines_and_context_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3766,7 +3886,7 @@ func (x *GrpcEdgeExecutionInfo) String() string { func (*GrpcEdgeExecutionInfo) ProtoMessage() {} func (x *GrpcEdgeExecutionInfo) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[54] + mi := &file_pipelines_and_context_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3779,7 +3899,7 @@ func (x *GrpcEdgeExecutionInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcEdgeExecutionInfo.ProtoReflect.Descriptor instead. func (*GrpcEdgeExecutionInfo) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{54} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{56} } func (x *GrpcEdgeExecutionInfo) GetTraceId() uint64 { @@ -3798,7 +3918,7 @@ type GrpcBytes struct { func (x *GrpcBytes) Reset() { *x = GrpcBytes{} - mi := &file_pipelines_and_context_proto_msgTypes[55] + mi := &file_pipelines_and_context_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3810,7 +3930,7 @@ func (x *GrpcBytes) String() string { func (*GrpcBytes) ProtoMessage() {} func (x *GrpcBytes) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[55] + mi := &file_pipelines_and_context_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3823,7 +3943,7 @@ func (x *GrpcBytes) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcBytes.ProtoReflect.Descriptor instead. func (*GrpcBytes) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{55} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{57} } func (x *GrpcBytes) GetBytes() []byte { @@ -3842,7 +3962,7 @@ type GrpcLogTimelineDiagram struct { func (x *GrpcLogTimelineDiagram) Reset() { *x = GrpcLogTimelineDiagram{} - mi := &file_pipelines_and_context_proto_msgTypes[56] + mi := &file_pipelines_and_context_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3854,7 +3974,7 @@ func (x *GrpcLogTimelineDiagram) String() string { func (*GrpcLogTimelineDiagram) ProtoMessage() {} func (x *GrpcLogTimelineDiagram) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[56] + mi := &file_pipelines_and_context_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3867,7 +3987,7 @@ func (x *GrpcLogTimelineDiagram) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcLogTimelineDiagram.ProtoReflect.Descriptor instead. func (*GrpcLogTimelineDiagram) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{56} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{58} } func (x *GrpcLogTimelineDiagram) GetTraces() []*GrpcTraceTimelineDiagram { @@ -3887,7 +4007,7 @@ type GrpcTimelineTraceEventsGroup struct { func (x *GrpcTimelineTraceEventsGroup) Reset() { *x = GrpcTimelineTraceEventsGroup{} - mi := &file_pipelines_and_context_proto_msgTypes[57] + mi := &file_pipelines_and_context_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3899,7 +4019,7 @@ func (x *GrpcTimelineTraceEventsGroup) String() string { func (*GrpcTimelineTraceEventsGroup) ProtoMessage() {} func (x *GrpcTimelineTraceEventsGroup) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[57] + mi := &file_pipelines_and_context_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3912,7 +4032,7 @@ func (x *GrpcTimelineTraceEventsGroup) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcTimelineTraceEventsGroup.ProtoReflect.Descriptor instead. func (*GrpcTimelineTraceEventsGroup) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{57} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{59} } func (x *GrpcTimelineTraceEventsGroup) GetStartPoint() *GrpcLogPoint { @@ -3939,7 +4059,7 @@ type GrpcTraceTimelineDiagram struct { func (x *GrpcTraceTimelineDiagram) Reset() { *x = GrpcTraceTimelineDiagram{} - mi := &file_pipelines_and_context_proto_msgTypes[58] + mi := &file_pipelines_and_context_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3951,7 +4071,7 @@ func (x *GrpcTraceTimelineDiagram) String() string { func (*GrpcTraceTimelineDiagram) ProtoMessage() {} func (x *GrpcTraceTimelineDiagram) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[58] + mi := &file_pipelines_and_context_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3964,7 +4084,7 @@ func (x *GrpcTraceTimelineDiagram) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcTraceTimelineDiagram.ProtoReflect.Descriptor instead. func (*GrpcTraceTimelineDiagram) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{58} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{60} } func (x *GrpcTraceTimelineDiagram) GetThreads() []*GrpcThread { @@ -3990,7 +4110,7 @@ type GrpcThread struct { func (x *GrpcThread) Reset() { *x = GrpcThread{} - mi := &file_pipelines_and_context_proto_msgTypes[59] + mi := &file_pipelines_and_context_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4002,7 +4122,7 @@ func (x *GrpcThread) String() string { func (*GrpcThread) ProtoMessage() {} func (x *GrpcThread) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[59] + mi := &file_pipelines_and_context_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4015,7 +4135,7 @@ func (x *GrpcThread) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcThread.ProtoReflect.Descriptor instead. func (*GrpcThread) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{59} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{61} } func (x *GrpcThread) GetEvents() []*GrpcThreadEvent { @@ -4035,7 +4155,7 @@ type GrpcThreadEvent struct { func (x *GrpcThreadEvent) Reset() { *x = GrpcThreadEvent{} - mi := &file_pipelines_and_context_proto_msgTypes[60] + mi := &file_pipelines_and_context_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4047,7 +4167,7 @@ func (x *GrpcThreadEvent) String() string { func (*GrpcThreadEvent) ProtoMessage() {} func (x *GrpcThreadEvent) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[60] + mi := &file_pipelines_and_context_proto_msgTypes[62] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4060,7 +4180,7 @@ func (x *GrpcThreadEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcThreadEvent.ProtoReflect.Descriptor instead. func (*GrpcThreadEvent) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{60} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{62} } func (x *GrpcThreadEvent) GetName() string { @@ -4255,14 +4375,20 @@ const file_pipelines_and_context_proto_rawDesc = "" + "\x0ehistogram_data\x18\r \x03(\v2\x1f.ficus.GrpcGeneralHistogramDataR\rhistogramData\x12L\n" + "\x13simple_counter_data\x18\x0e \x03(\v2\x1c.ficus.GrpcSimpleCounterDataR\x11simpleCounterData\x12[\n" + "\x19activities_durations_data\x18\x0f \x03(\v2\x1f.ficus.GrpcActivityDurationDataR\x17activitiesDurationsData\x120\n" + - "\tocel_data\x18\x10 \x03(\v2\x13.ficus.GrpcOcelDataR\bocelData\"\xc0\x01\n" + + "\tocel_data\x18\x10 \x03(\v2\x13.ficus.GrpcOcelDataR\bocelData\"\x84\x03\n" + "\fGrpcOcelData\x12\x1f\n" + "\vobject_type\x18\x01 \x01(\tR\n" + "objectType\x12\x1b\n" + "\tobject_id\x18\x02 \x01(\tR\bobjectId\x124\n" + - "\bAllocate\x18\x03 \x01(\v2\x16.google.protobuf.EmptyH\x00R\bAllocate\x122\n" + - "\aConsume\x18\x04 \x01(\v2\x16.google.protobuf.EmptyH\x00R\aConsumeB\b\n" + - "\x06action\"\x9a\x01\n" + + "\ballocate\x18\x03 \x01(\v2\x16.google.protobuf.EmptyH\x00R\ballocate\x122\n" + + "\aconsume\x18\x04 \x01(\v2\x16.google.protobuf.EmptyH\x00R\aconsume\x12]\n" + + "\x18merged_object_allocation\x18\x05 \x01(\v2!.ficus.GrpcMergedObjectAllocationH\x00R\x16mergedObjectAllocation\x12c\n" + + "\x1aproduce_object_consumption\x18\x06 \x01(\v2#.ficus.GrpcProduceObjectConsumptionH\x00R\x18produceObjectConsumptionB\b\n" + + "\x06action\"N\n" + + "\x1aGrpcMergedObjectAllocation\x120\n" + + "\x14consumed_objects_ids\x18\x01 \x03(\tR\x12consumedObjectsIds\"P\n" + + "\x1cGrpcProduceObjectConsumption\x120\n" + + "\x14produced_objects_ids\x18\x02 \x03(\tR\x12producedObjectsIds\"\x9a\x01\n" + "\x18GrpcActivityDurationData\x125\n" + "\x04base\x18\x01 \x01(\v2!.ficus.GrpcGenericEnhancementBaseR\x04base\x12\x1a\n" + "\bduration\x18\x02 \x01(\x04R\bduration\x12+\n" + @@ -4368,7 +4494,7 @@ func file_pipelines_and_context_proto_rawDescGZIP() []byte { } var file_pipelines_and_context_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_pipelines_and_context_proto_msgTypes = make([]protoimpl.MessageInfo, 61) +var file_pipelines_and_context_proto_msgTypes = make([]protoimpl.MessageInfo, 63) var file_pipelines_and_context_proto_goTypes = []any{ (GrpcGraphKind)(0), // 0: ficus.GrpcGraphKind (GrpcDurationKind)(0), // 1: ficus.GrpcDurationKind @@ -4415,35 +4541,37 @@ var file_pipelines_and_context_proto_goTypes = []any{ (*GrpcNodeCorrespondingTraceData)(nil), // 42: ficus.GrpcNodeCorrespondingTraceData (*GrpcSoftwareData)(nil), // 43: ficus.GrpcSoftwareData (*GrpcOcelData)(nil), // 44: ficus.GrpcOcelData - (*GrpcActivityDurationData)(nil), // 45: ficus.GrpcActivityDurationData - (*GrpcGenericEnhancementBase)(nil), // 46: ficus.GrpcGenericEnhancementBase - (*GrpcGeneralHistogramData)(nil), // 47: ficus.GrpcGeneralHistogramData - (*GrpcSimpleCounterData)(nil), // 48: ficus.GrpcSimpleCounterData - (*GrpcMethodInliningInfo)(nil), // 49: ficus.GrpcMethodInliningInfo - (*GrpcMethodNameParts)(nil), // 50: ficus.GrpcMethodNameParts - (*GrpcHistogramEntry)(nil), // 51: ficus.GrpcHistogramEntry - (*GrpcTimelineDiagramFragment)(nil), // 52: ficus.GrpcTimelineDiagramFragment - (*GrpcAllocationInfo)(nil), // 53: ficus.GrpcAllocationInfo - (*GrpcUnderlyingPatternInfo)(nil), // 54: ficus.GrpcUnderlyingPatternInfo - (*GrpcGraphEdge)(nil), // 55: ficus.GrpcGraphEdge - (*GrpcGraphEdgeAdditionalData)(nil), // 56: ficus.GrpcGraphEdgeAdditionalData - (*GrpcEdgeExecutionInfo)(nil), // 57: ficus.GrpcEdgeExecutionInfo - (*GrpcBytes)(nil), // 58: ficus.GrpcBytes - (*GrpcLogTimelineDiagram)(nil), // 59: ficus.GrpcLogTimelineDiagram - (*GrpcTimelineTraceEventsGroup)(nil), // 60: ficus.GrpcTimelineTraceEventsGroup - (*GrpcTraceTimelineDiagram)(nil), // 61: ficus.GrpcTraceTimelineDiagram - (*GrpcThread)(nil), // 62: ficus.GrpcThread - (*GrpcThreadEvent)(nil), // 63: ficus.GrpcThreadEvent - (*GrpcPetriNet)(nil), // 64: ficus.GrpcPetriNet - (*GrpcAnnotation)(nil), // 65: ficus.GrpcAnnotation - (*GrpcDataset)(nil), // 66: ficus.GrpcDataset - (*GrpcLabeledDataset)(nil), // 67: ficus.GrpcLabeledDataset - (*GrpcSimpleEventLog)(nil), // 68: ficus.GrpcSimpleEventLog - (*GrpcHashesEventLog)(nil), // 69: ficus.GrpcHashesEventLog - (*GrpcNamesEventLog)(nil), // 70: ficus.GrpcNamesEventLog - (*GrpcColor)(nil), // 71: ficus.GrpcColor - (*GrpcGuid)(nil), // 72: ficus.GrpcGuid - (*emptypb.Empty)(nil), // 73: google.protobuf.Empty + (*GrpcMergedObjectAllocation)(nil), // 45: ficus.GrpcMergedObjectAllocation + (*GrpcProduceObjectConsumption)(nil), // 46: ficus.GrpcProduceObjectConsumption + (*GrpcActivityDurationData)(nil), // 47: ficus.GrpcActivityDurationData + (*GrpcGenericEnhancementBase)(nil), // 48: ficus.GrpcGenericEnhancementBase + (*GrpcGeneralHistogramData)(nil), // 49: ficus.GrpcGeneralHistogramData + (*GrpcSimpleCounterData)(nil), // 50: ficus.GrpcSimpleCounterData + (*GrpcMethodInliningInfo)(nil), // 51: ficus.GrpcMethodInliningInfo + (*GrpcMethodNameParts)(nil), // 52: ficus.GrpcMethodNameParts + (*GrpcHistogramEntry)(nil), // 53: ficus.GrpcHistogramEntry + (*GrpcTimelineDiagramFragment)(nil), // 54: ficus.GrpcTimelineDiagramFragment + (*GrpcAllocationInfo)(nil), // 55: ficus.GrpcAllocationInfo + (*GrpcUnderlyingPatternInfo)(nil), // 56: ficus.GrpcUnderlyingPatternInfo + (*GrpcGraphEdge)(nil), // 57: ficus.GrpcGraphEdge + (*GrpcGraphEdgeAdditionalData)(nil), // 58: ficus.GrpcGraphEdgeAdditionalData + (*GrpcEdgeExecutionInfo)(nil), // 59: ficus.GrpcEdgeExecutionInfo + (*GrpcBytes)(nil), // 60: ficus.GrpcBytes + (*GrpcLogTimelineDiagram)(nil), // 61: ficus.GrpcLogTimelineDiagram + (*GrpcTimelineTraceEventsGroup)(nil), // 62: ficus.GrpcTimelineTraceEventsGroup + (*GrpcTraceTimelineDiagram)(nil), // 63: ficus.GrpcTraceTimelineDiagram + (*GrpcThread)(nil), // 64: ficus.GrpcThread + (*GrpcThreadEvent)(nil), // 65: ficus.GrpcThreadEvent + (*GrpcPetriNet)(nil), // 66: ficus.GrpcPetriNet + (*GrpcAnnotation)(nil), // 67: ficus.GrpcAnnotation + (*GrpcDataset)(nil), // 68: ficus.GrpcDataset + (*GrpcLabeledDataset)(nil), // 69: ficus.GrpcLabeledDataset + (*GrpcSimpleEventLog)(nil), // 70: ficus.GrpcSimpleEventLog + (*GrpcHashesEventLog)(nil), // 71: ficus.GrpcHashesEventLog + (*GrpcNamesEventLog)(nil), // 72: ficus.GrpcNamesEventLog + (*GrpcColor)(nil), // 73: ficus.GrpcColor + (*GrpcGuid)(nil), // 74: ficus.GrpcGuid + (*emptypb.Empty)(nil), // 75: google.protobuf.Empty } var file_pipelines_and_context_proto_depIdxs = []int32{ 5, // 0: ficus.GrpcContextValueWithKeyName.value:type_name -> ficus.GrpcContextValue @@ -4457,21 +4585,21 @@ var file_pipelines_and_context_proto_depIdxs = []int32{ 26, // 8: ficus.GrpcContextValue.event_log_info:type_name -> ficus.GrpcEventLogInfo 27, // 9: ficus.GrpcContextValue.strings:type_name -> ficus.GrpcStrings 28, // 10: ficus.GrpcContextValue.pipeline:type_name -> ficus.GrpcPipeline - 64, // 11: ficus.GrpcContextValue.petriNet:type_name -> ficus.GrpcPetriNet + 66, // 11: ficus.GrpcContextValue.petriNet:type_name -> ficus.GrpcPetriNet 36, // 12: ficus.GrpcContextValue.graph:type_name -> ficus.GrpcGraph - 65, // 13: ficus.GrpcContextValue.annotation:type_name -> ficus.GrpcAnnotation - 66, // 14: ficus.GrpcContextValue.dataset:type_name -> ficus.GrpcDataset - 67, // 15: ficus.GrpcContextValue.labeled_dataset:type_name -> ficus.GrpcLabeledDataset - 58, // 16: ficus.GrpcContextValue.bytes:type_name -> ficus.GrpcBytes - 59, // 17: ficus.GrpcContextValue.logTimelineDiagram:type_name -> ficus.GrpcLogTimelineDiagram + 67, // 13: ficus.GrpcContextValue.annotation:type_name -> ficus.GrpcAnnotation + 68, // 14: ficus.GrpcContextValue.dataset:type_name -> ficus.GrpcDataset + 69, // 15: ficus.GrpcContextValue.labeled_dataset:type_name -> ficus.GrpcLabeledDataset + 60, // 16: ficus.GrpcContextValue.bytes:type_name -> ficus.GrpcBytes + 61, // 17: ficus.GrpcContextValue.logTimelineDiagram:type_name -> ficus.GrpcLogTimelineDiagram 6, // 18: ficus.GrpcContextValue.float_array:type_name -> ficus.GrpcFloatArray 7, // 19: ficus.GrpcContextValue.int_array:type_name -> ficus.GrpcIntArray 8, // 20: ficus.GrpcContextValue.uint_array:type_name -> ficus.GrpcUintArray - 68, // 21: ficus.GrpcContextValue.event_log:type_name -> ficus.GrpcSimpleEventLog + 70, // 21: ficus.GrpcContextValue.event_log:type_name -> ficus.GrpcSimpleEventLog 3, // 22: ficus.GrpcContextKeyValue.key:type_name -> ficus.GrpcContextKey 5, // 23: ficus.GrpcContextKeyValue.value:type_name -> ficus.GrpcContextValue - 69, // 24: ficus.GrpcHashesEventLogContextValue.log:type_name -> ficus.GrpcHashesEventLog - 70, // 25: ficus.GrpcNamesEventLogContextValue.log:type_name -> ficus.GrpcNamesEventLog + 71, // 24: ficus.GrpcHashesEventLogContextValue.log:type_name -> ficus.GrpcHashesEventLog + 72, // 25: ficus.GrpcNamesEventLogContextValue.log:type_name -> ficus.GrpcNamesEventLog 14, // 26: ficus.GrpcEventLogTraceSubArraysContextValue.traces_sub_arrays:type_name -> ficus.GrpcTraceSubArrays 13, // 27: ficus.GrpcTraceSubArrays.sub_arrays:type_name -> ficus.GrpcTraceSubArray 13, // 28: ficus.GrpcSubArrayWithTraceIndex.sub_array:type_name -> ficus.GrpcTraceSubArray @@ -4483,7 +4611,7 @@ var file_pipelines_and_context_proto_depIdxs = []int32{ 21, // 34: ficus.GrpcColorsLogAdjustment.axis_after_trace:type_name -> ficus.GrpcColorsLogXAxisAfterTraceAdjustment 20, // 35: ficus.GrpcColorsLogRectangleAdjustment.up_left_point:type_name -> ficus.GrpcLogPoint 20, // 36: ficus.GrpcColorsLogRectangleAdjustment.down_right_point:type_name -> ficus.GrpcLogPoint - 71, // 37: ficus.GrpcColorsEventLogMapping.color:type_name -> ficus.GrpcColor + 73, // 37: ficus.GrpcColorsEventLogMapping.color:type_name -> ficus.GrpcColor 24, // 38: ficus.GrpcColorsTrace.event_colors:type_name -> ficus.GrpcColoredRectangle 29, // 39: ficus.GrpcPipeline.parts:type_name -> ficus.GrpcPipelinePartBase 30, // 40: ficus.GrpcPipelinePartBase.defaultPart:type_name -> ficus.GrpcPipelinePart @@ -4495,56 +4623,58 @@ var file_pipelines_and_context_proto_depIdxs = []int32{ 29, // 46: ficus.GrpcParallelPipelinePart.pipelineParts:type_name -> ficus.GrpcPipelinePartBase 32, // 47: ficus.GrpcParallelPipelineParts.pipeline:type_name -> ficus.GrpcParallelPipelinePart 3, // 48: ficus.GrpcSimpleContextRequestPipelinePart.key:type_name -> ficus.GrpcContextKey - 72, // 49: ficus.GrpcSimpleContextRequestPipelinePart.frontendPartUuid:type_name -> ficus.GrpcGuid + 74, // 49: ficus.GrpcSimpleContextRequestPipelinePart.frontendPartUuid:type_name -> ficus.GrpcGuid 3, // 50: ficus.GrpcComplexContextRequestPipelinePart.keys:type_name -> ficus.GrpcContextKey 30, // 51: ficus.GrpcComplexContextRequestPipelinePart.beforePipelinePart:type_name -> ficus.GrpcPipelinePart - 72, // 52: ficus.GrpcComplexContextRequestPipelinePart.frontendPartUuid:type_name -> ficus.GrpcGuid + 74, // 52: ficus.GrpcComplexContextRequestPipelinePart.frontendPartUuid:type_name -> ficus.GrpcGuid 37, // 53: ficus.GrpcGraph.nodes:type_name -> ficus.GrpcGraphNode - 55, // 54: ficus.GrpcGraph.edges:type_name -> ficus.GrpcGraphEdge + 57, // 54: ficus.GrpcGraph.edges:type_name -> ficus.GrpcGraphEdge 0, // 55: ficus.GrpcGraph.kind:type_name -> ficus.GrpcGraphKind 38, // 56: ficus.GrpcGraphNode.additional_data:type_name -> ficus.GrpcNodeAdditionalData 36, // 57: ficus.GrpcGraphNode.inner_graph:type_name -> ficus.GrpcGraph - 73, // 58: ficus.GrpcNodeAdditionalData.none:type_name -> google.protobuf.Empty + 75, // 58: ficus.GrpcNodeAdditionalData.none:type_name -> google.protobuf.Empty 43, // 59: ficus.GrpcNodeAdditionalData.software_data:type_name -> ficus.GrpcSoftwareData - 54, // 60: ficus.GrpcNodeAdditionalData.pattern_info:type_name -> ficus.GrpcUnderlyingPatternInfo + 56, // 60: ficus.GrpcNodeAdditionalData.pattern_info:type_name -> ficus.GrpcUnderlyingPatternInfo 42, // 61: ficus.GrpcNodeAdditionalData.trace_data:type_name -> ficus.GrpcNodeCorrespondingTraceData 40, // 62: ficus.GrpcNodeAdditionalData.time_data:type_name -> ficus.GrpcActivityStartEndData 39, // 63: ficus.GrpcNodeAdditionalData.multithreaded_fragment:type_name -> ficus.GrpcMultithreadedFragment 41, // 64: ficus.GrpcNodeAdditionalData.original_event_coordinates:type_name -> ficus.GrpcEventCoordinates - 68, // 65: ficus.GrpcMultithreadedFragment.multithreaded_log:type_name -> ficus.GrpcSimpleEventLog - 51, // 66: ficus.GrpcSoftwareData.histogram:type_name -> ficus.GrpcHistogramEntry - 52, // 67: ficus.GrpcSoftwareData.timeline_diagram_fragment:type_name -> ficus.GrpcTimelineDiagramFragment - 47, // 68: ficus.GrpcSoftwareData.histogram_data:type_name -> ficus.GrpcGeneralHistogramData - 48, // 69: ficus.GrpcSoftwareData.simple_counter_data:type_name -> ficus.GrpcSimpleCounterData - 45, // 70: ficus.GrpcSoftwareData.activities_durations_data:type_name -> ficus.GrpcActivityDurationData + 70, // 65: ficus.GrpcMultithreadedFragment.multithreaded_log:type_name -> ficus.GrpcSimpleEventLog + 53, // 66: ficus.GrpcSoftwareData.histogram:type_name -> ficus.GrpcHistogramEntry + 54, // 67: ficus.GrpcSoftwareData.timeline_diagram_fragment:type_name -> ficus.GrpcTimelineDiagramFragment + 49, // 68: ficus.GrpcSoftwareData.histogram_data:type_name -> ficus.GrpcGeneralHistogramData + 50, // 69: ficus.GrpcSoftwareData.simple_counter_data:type_name -> ficus.GrpcSimpleCounterData + 47, // 70: ficus.GrpcSoftwareData.activities_durations_data:type_name -> ficus.GrpcActivityDurationData 44, // 71: ficus.GrpcSoftwareData.ocel_data:type_name -> ficus.GrpcOcelData - 73, // 72: ficus.GrpcOcelData.Allocate:type_name -> google.protobuf.Empty - 73, // 73: ficus.GrpcOcelData.Consume:type_name -> google.protobuf.Empty - 46, // 74: ficus.GrpcActivityDurationData.base:type_name -> ficus.GrpcGenericEnhancementBase - 1, // 75: ficus.GrpcActivityDurationData.kind:type_name -> ficus.GrpcDurationKind - 46, // 76: ficus.GrpcGeneralHistogramData.base:type_name -> ficus.GrpcGenericEnhancementBase - 51, // 77: ficus.GrpcGeneralHistogramData.entries:type_name -> ficus.GrpcHistogramEntry - 46, // 78: ficus.GrpcSimpleCounterData.base:type_name -> ficus.GrpcGenericEnhancementBase - 50, // 79: ficus.GrpcMethodInliningInfo.inlinee_info:type_name -> ficus.GrpcMethodNameParts - 50, // 80: ficus.GrpcMethodInliningInfo.inliner_info:type_name -> ficus.GrpcMethodNameParts - 62, // 81: ficus.GrpcTimelineDiagramFragment.threads:type_name -> ficus.GrpcThread - 2, // 82: ficus.GrpcUnderlyingPatternInfo.pattern_kind:type_name -> ficus.GrpcUnderlyingPatternKind - 36, // 83: ficus.GrpcUnderlyingPatternInfo.graph:type_name -> ficus.GrpcGraph - 56, // 84: ficus.GrpcGraphEdge.additional_data:type_name -> ficus.GrpcGraphEdgeAdditionalData - 43, // 85: ficus.GrpcGraphEdgeAdditionalData.software_data:type_name -> ficus.GrpcSoftwareData - 57, // 86: ficus.GrpcGraphEdgeAdditionalData.execution_info:type_name -> ficus.GrpcEdgeExecutionInfo - 40, // 87: ficus.GrpcGraphEdgeAdditionalData.time_data:type_name -> ficus.GrpcActivityStartEndData - 61, // 88: ficus.GrpcLogTimelineDiagram.traces:type_name -> ficus.GrpcTraceTimelineDiagram - 20, // 89: ficus.GrpcTimelineTraceEventsGroup.start_point:type_name -> ficus.GrpcLogPoint - 20, // 90: ficus.GrpcTimelineTraceEventsGroup.end_point:type_name -> ficus.GrpcLogPoint - 62, // 91: ficus.GrpcTraceTimelineDiagram.threads:type_name -> ficus.GrpcThread - 60, // 92: ficus.GrpcTraceTimelineDiagram.events_groups:type_name -> ficus.GrpcTimelineTraceEventsGroup - 63, // 93: ficus.GrpcThread.events:type_name -> ficus.GrpcThreadEvent - 94, // [94:94] is the sub-list for method output_type - 94, // [94:94] is the sub-list for method input_type - 94, // [94:94] is the sub-list for extension type_name - 94, // [94:94] is the sub-list for extension extendee - 0, // [0:94] is the sub-list for field type_name + 75, // 72: ficus.GrpcOcelData.allocate:type_name -> google.protobuf.Empty + 75, // 73: ficus.GrpcOcelData.consume:type_name -> google.protobuf.Empty + 45, // 74: ficus.GrpcOcelData.merged_object_allocation:type_name -> ficus.GrpcMergedObjectAllocation + 46, // 75: ficus.GrpcOcelData.produce_object_consumption:type_name -> ficus.GrpcProduceObjectConsumption + 48, // 76: ficus.GrpcActivityDurationData.base:type_name -> ficus.GrpcGenericEnhancementBase + 1, // 77: ficus.GrpcActivityDurationData.kind:type_name -> ficus.GrpcDurationKind + 48, // 78: ficus.GrpcGeneralHistogramData.base:type_name -> ficus.GrpcGenericEnhancementBase + 53, // 79: ficus.GrpcGeneralHistogramData.entries:type_name -> ficus.GrpcHistogramEntry + 48, // 80: ficus.GrpcSimpleCounterData.base:type_name -> ficus.GrpcGenericEnhancementBase + 52, // 81: ficus.GrpcMethodInliningInfo.inlinee_info:type_name -> ficus.GrpcMethodNameParts + 52, // 82: ficus.GrpcMethodInliningInfo.inliner_info:type_name -> ficus.GrpcMethodNameParts + 64, // 83: ficus.GrpcTimelineDiagramFragment.threads:type_name -> ficus.GrpcThread + 2, // 84: ficus.GrpcUnderlyingPatternInfo.pattern_kind:type_name -> ficus.GrpcUnderlyingPatternKind + 36, // 85: ficus.GrpcUnderlyingPatternInfo.graph:type_name -> ficus.GrpcGraph + 58, // 86: ficus.GrpcGraphEdge.additional_data:type_name -> ficus.GrpcGraphEdgeAdditionalData + 43, // 87: ficus.GrpcGraphEdgeAdditionalData.software_data:type_name -> ficus.GrpcSoftwareData + 59, // 88: ficus.GrpcGraphEdgeAdditionalData.execution_info:type_name -> ficus.GrpcEdgeExecutionInfo + 40, // 89: ficus.GrpcGraphEdgeAdditionalData.time_data:type_name -> ficus.GrpcActivityStartEndData + 63, // 90: ficus.GrpcLogTimelineDiagram.traces:type_name -> ficus.GrpcTraceTimelineDiagram + 20, // 91: ficus.GrpcTimelineTraceEventsGroup.start_point:type_name -> ficus.GrpcLogPoint + 20, // 92: ficus.GrpcTimelineTraceEventsGroup.end_point:type_name -> ficus.GrpcLogPoint + 64, // 93: ficus.GrpcTraceTimelineDiagram.threads:type_name -> ficus.GrpcThread + 62, // 94: ficus.GrpcTraceTimelineDiagram.events_groups:type_name -> ficus.GrpcTimelineTraceEventsGroup + 65, // 95: ficus.GrpcThread.events:type_name -> ficus.GrpcThreadEvent + 96, // [96:96] is the sub-list for method output_type + 96, // [96:96] is the sub-list for method input_type + 96, // [96:96] is the sub-list for extension type_name + 96, // [96:96] is the sub-list for extension extendee + 0, // [0:96] is the sub-list for field type_name } func init() { file_pipelines_and_context_proto_init() } @@ -4603,9 +4733,11 @@ func file_pipelines_and_context_proto_init() { file_pipelines_and_context_proto_msgTypes[41].OneofWrappers = []any{ (*GrpcOcelData_Allocate)(nil), (*GrpcOcelData_Consume)(nil), + (*GrpcOcelData_MergedObjectAllocation)(nil), + (*GrpcOcelData_ProduceObjectConsumption)(nil), } - file_pipelines_and_context_proto_msgTypes[43].OneofWrappers = []any{} - file_pipelines_and_context_proto_msgTypes[53].OneofWrappers = []any{ + file_pipelines_and_context_proto_msgTypes[45].OneofWrappers = []any{} + file_pipelines_and_context_proto_msgTypes[55].OneofWrappers = []any{ (*GrpcGraphEdgeAdditionalData_SoftwareData)(nil), (*GrpcGraphEdgeAdditionalData_ExecutionInfo)(nil), (*GrpcGraphEdgeAdditionalData_TimeData)(nil), @@ -4616,7 +4748,7 @@ func file_pipelines_and_context_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_pipelines_and_context_proto_rawDesc), len(file_pipelines_and_context_proto_rawDesc)), NumEnums: 3, - NumMessages: 61, + NumMessages: 63, NumExtensions: 0, NumServices: 0, }, diff --git a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py index 1aa9216bc..d847c6988 100644 --- a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py +++ b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py @@ -34,7 +34,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bpipelines_and_context.proto\x12\x05\x66icus\x1a\x0fpm_models.proto\x1a\nutil.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x1e\n\x0eGrpcContextKey\x12\x0c\n\x04name\x18\x01 \x01(\t\"W\n\x1bGrpcContextValueWithKeyName\x12\x10\n\x08key_name\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"\x8b\t\n\x10GrpcContextValue\x12\x10\n\x06string\x18\x01 \x01(\tH\x00\x12;\n\nhashes_log\x18\x02 \x01(\x0b\x32%.ficus.GrpcHashesEventLogContextValueH\x00\x12\x39\n\tnames_log\x18\x03 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12\x10\n\x06uint32\x18\x04 \x01(\rH\x00\x12J\n\x11traces_sub_arrays\x18\x05 \x01(\x0b\x32-.ficus.GrpcEventLogTraceSubArraysContextValueH\x00\x12P\n\x16trace_index_sub_arrays\x18\x06 \x01(\x0b\x32..ficus.GrpcSubArraysWithTraceIndexContextValueH\x00\x12\x0e\n\x04\x62ool\x18\x07 \x01(\x08H\x00\x12=\n\rxes_event_log\x18\x08 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12/\n\ncolors_log\x18\t \x01(\x0b\x32\x19.ficus.GrpcColorsEventLogH\x00\x12\x1f\n\x04\x65num\x18\n \x01(\x0b\x32\x0f.ficus.GrpcEnumH\x00\x12\x31\n\x0e\x65vent_log_info\x18\x0b \x01(\x0b\x32\x17.ficus.GrpcEventLogInfoH\x00\x12%\n\x07strings\x18\x0c \x01(\x0b\x32\x12.ficus.GrpcStringsH\x00\x12\'\n\x08pipeline\x18\r \x01(\x0b\x32\x13.ficus.GrpcPipelineH\x00\x12\'\n\x08petriNet\x18\x0e \x01(\x0b\x32\x13.ficus.GrpcPetriNetH\x00\x12!\n\x05graph\x18\x0f \x01(\x0b\x32\x10.ficus.GrpcGraphH\x00\x12\x0f\n\x05\x66loat\x18\x10 \x01(\x02H\x00\x12+\n\nannotation\x18\x11 \x01(\x0b\x32\x15.ficus.GrpcAnnotationH\x00\x12%\n\x07\x64\x61taset\x18\x12 \x01(\x0b\x32\x12.ficus.GrpcDatasetH\x00\x12\x34\n\x0flabeled_dataset\x18\x13 \x01(\x0b\x32\x19.ficus.GrpcLabeledDatasetH\x00\x12!\n\x05\x62ytes\x18\x14 \x01(\x0b\x32\x10.ficus.GrpcBytesH\x00\x12;\n\x12logTimelineDiagram\x18\x15 \x01(\x0b\x32\x1d.ficus.GrpcLogTimelineDiagramH\x00\x12,\n\x0b\x66loat_array\x18\x16 \x01(\x0b\x32\x15.ficus.GrpcFloatArrayH\x00\x12(\n\tint_array\x18\x17 \x01(\x0b\x32\x13.ficus.GrpcIntArrayH\x00\x12*\n\nuint_array\x18\x18 \x01(\x0b\x32\x14.ficus.GrpcUintArrayH\x00\x12\x0e\n\x04json\x18\x19 \x01(\tH\x00\x12.\n\tevent_log\x18\x1a \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLogH\x00\x42\x0e\n\x0c\x63ontextValue\"\x1f\n\x0eGrpcFloatArray\x12\r\n\x05items\x18\x01 \x03(\x01\"\x1d\n\x0cGrpcIntArray\x12\r\n\x05items\x18\x01 \x03(\x03\"\x1e\n\rGrpcUintArray\x12\r\n\x05items\x18\x01 \x03(\x04\"a\n\x13GrpcContextKeyValue\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"H\n\x1eGrpcHashesEventLogContextValue\x12&\n\x03log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcHashesEventLog\"F\n\x1dGrpcNamesEventLogContextValue\x12%\n\x03log\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcNamesEventLog\"^\n&GrpcEventLogTraceSubArraysContextValue\x12\x34\n\x11traces_sub_arrays\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcTraceSubArrays\"/\n\x11GrpcTraceSubArray\x12\r\n\x05start\x18\x01 \x01(\r\x12\x0b\n\x03\x65nd\x18\x02 \x01(\r\"B\n\x12GrpcTraceSubArrays\x12,\n\nsub_arrays\x18\x01 \x03(\x0b\x32\x18.ficus.GrpcTraceSubArray\"^\n\x1aGrpcSubArrayWithTraceIndex\x12+\n\tsub_array\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcTraceSubArray\x12\x13\n\x0btrace_index\x18\x02 \x01(\r\"`\n\'GrpcSubArraysWithTraceIndexContextValue\x12\x35\n\nsub_arrays\x18\x01 \x03(\x0b\x32!.ficus.GrpcSubArrayWithTraceIndex\"\xa4\x01\n\x12GrpcColorsEventLog\x12\x31\n\x07mapping\x18\x01 \x03(\x0b\x32 .ficus.GrpcColorsEventLogMapping\x12&\n\x06traces\x18\x02 \x03(\x0b\x32\x16.ficus.GrpcColorsTrace\x12\x33\n\x0b\x61\x64justments\x18\x03 \x03(\x0b\x32\x1e.ficus.GrpcColorsLogAdjustment\"\xba\x01\n\x17GrpcColorsLogAdjustment\x12G\n\x14rectangle_adjustment\x18\x01 \x01(\x0b\x32\'.ficus.GrpcColorsLogRectangleAdjustmentH\x00\x12I\n\x10\x61xis_after_trace\x18\x02 \x01(\x0b\x32-.ficus.GrpcColorsLogXAxisAfterTraceAdjustmentH\x00\x42\x0b\n\tselection\"\xa9\x01\n GrpcColorsLogRectangleAdjustment\x12*\n\rup_left_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12-\n\x10\x64own_right_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12*\n\"extend_to_nearest_vertical_borders\x18\x03 \x01(\x08\"8\n\x0cGrpcLogPoint\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x02 \x01(\x04\"=\n&GrpcColorsLogXAxisAfterTraceAdjustment\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\"J\n\x19GrpcColorsEventLogMapping\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x05\x63olor\x18\x02 \x01(\x0b\x32\x10.ficus.GrpcColor\"\\\n\x0fGrpcColorsTrace\x12\x31\n\x0c\x65vent_colors\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcColoredRectangle\x12\x16\n\x0e\x63onstant_width\x18\x02 \x01(\x08\"L\n\x14GrpcColoredRectangle\x12\x13\n\x0b\x63olor_index\x18\x01 \x01(\r\x12\x0f\n\x07start_x\x18\x02 \x01(\x01\x12\x0e\n\x06length\x18\x03 \x01(\x01\"+\n\x08GrpcEnum\x12\x10\n\x08\x65numType\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"[\n\x10GrpcEventLogInfo\x12\x14\n\x0c\x65vents_count\x18\x01 \x01(\r\x12\x14\n\x0ctraces_count\x18\x02 \x01(\r\x12\x1b\n\x13\x65vent_classes_count\x18\x03 \x01(\r\"\x1e\n\x0bGrpcStrings\x12\x0f\n\x07strings\x18\x01 \x03(\t\":\n\x0cGrpcPipeline\x12*\n\x05parts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"\xab\x02\n\x14GrpcPipelinePartBase\x12.\n\x0b\x64\x65\x66\x61ultPart\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcPipelinePartH\x00\x12\x37\n\x0cparallelPart\x18\x02 \x01(\x0b\x32\x1f.ficus.GrpcParallelPipelinePartH\x00\x12O\n\x18simpleContextRequestPart\x18\x03 \x01(\x0b\x32+.ficus.GrpcSimpleContextRequestPipelinePartH\x00\x12Q\n\x19\x63omplexContextRequestPart\x18\x04 \x01(\x0b\x32,.ficus.GrpcComplexContextRequestPipelinePartH\x00\x42\x06\n\x04part\"]\n\x10GrpcPipelinePart\x12\x0c\n\x04name\x18\x01 \x01(\t\x12;\n\rconfiguration\x18\x02 \x01(\x0b\x32$.ficus.GrpcPipelinePartConfiguration\"\\\n\x1dGrpcPipelinePartConfiguration\x12;\n\x17\x63onfigurationParameters\x18\x01 \x03(\x0b\x32\x1a.ficus.GrpcContextKeyValue\"N\n\x18GrpcParallelPipelinePart\x12\x32\n\rpipelineParts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"N\n\x19GrpcParallelPipelineParts\x12\x31\n\x08pipeline\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcParallelPipelinePart\"\x97\x01\n$GrpcSimpleContextRequestPipelinePart\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12)\n\x10\x66rontendPartUuid\x18\x02 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x03 \x01(\t\"\xce\x01\n%GrpcComplexContextRequestPipelinePart\x12#\n\x04keys\x18\x01 \x03(\x0b\x32\x15.ficus.GrpcContextKey\x12\x33\n\x12\x62\x65\x66orePipelinePart\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcPipelinePart\x12)\n\x10\x66rontendPartUuid\x18\x03 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x04 \x01(\t\"y\n\tGrpcGraph\x12#\n\x05nodes\x18\x01 \x03(\x0b\x32\x14.ficus.GrpcGraphNode\x12#\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x14.ficus.GrpcGraphEdge\x12\"\n\x04kind\x18\x03 \x01(\x0e\x32\x14.ficus.GrpcGraphKind\"\x88\x01\n\rGrpcGraphNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\x12\x36\n\x0f\x61\x64\x64itional_data\x18\x03 \x03(\x0b\x32\x1d.ficus.GrpcNodeAdditionalData\x12%\n\x0binner_graph\x18\x04 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\xac\x03\n\x16GrpcNodeAdditionalData\x12&\n\x04none\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x30\n\rsoftware_data\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x38\n\x0cpattern_info\x18\x03 \x01(\x0b\x32 .ficus.GrpcUnderlyingPatternInfoH\x00\x12;\n\ntrace_data\x18\x04 \x01(\x0b\x32%.ficus.GrpcNodeCorrespondingTraceDataH\x00\x12\x34\n\ttime_data\x18\x05 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x12\x42\n\x16multithreaded_fragment\x18\x07 \x01(\x0b\x32 .ficus.GrpcMultithreadedFragmentH\x00\x12?\n\x1aoriginal_event_coordinates\x18\x06 \x01(\x0b\x32\x1b.ficus.GrpcEventCoordinatesB\x06\n\x04\x64\x61ta\"Q\n\x19GrpcMultithreadedFragment\x12\x34\n\x11multithreaded_log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLog\"@\n\x18GrpcActivityStartEndData\x12\x12\n\nstart_time\x18\x01 \x01(\x03\x12\x10\n\x08\x65nd_time\x18\x02 \x01(\x03\"=\n\x14GrpcEventCoordinates\x12\x10\n\x08trace_id\x18\x02 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x03 \x01(\x04\"B\n\x1eGrpcNodeCorrespondingTraceData\x12 \n\x18\x62\x65longs_to_root_sequence\x18\x01 \x01(\x08\"\xe7\x02\n\x10GrpcSoftwareData\x12,\n\thistogram\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\x12\x45\n\x19timeline_diagram_fragment\x18\x02 \x01(\x0b\x32\".ficus.GrpcTimelineDiagramFragment\x12\x37\n\x0ehistogram_data\x18\r \x03(\x0b\x32\x1f.ficus.GrpcGeneralHistogramData\x12\x39\n\x13simple_counter_data\x18\x0e \x03(\x0b\x32\x1c.ficus.GrpcSimpleCounterData\x12\x42\n\x19\x61\x63tivities_durations_data\x18\x0f \x03(\x0b\x32\x1f.ficus.GrpcActivityDurationData\x12&\n\tocel_data\x18\x10 \x03(\x0b\x32\x13.ficus.GrpcOcelData\"\x97\x01\n\x0cGrpcOcelData\x12\x13\n\x0bobject_type\x18\x01 \x01(\t\x12\x11\n\tobject_id\x18\x02 \x01(\t\x12*\n\x08\x41llocate\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12)\n\x07\x43onsume\x18\x04 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x42\x08\n\x06\x61\x63tion\"\x84\x01\n\x18GrpcActivityDurationData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12%\n\x04kind\x18\x03 \x01(\x0e\x32\x17.ficus.GrpcDurationKind\"W\n\x1aGrpcGenericEnhancementBase\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05units\x18\x02 \x01(\t\x12\x12\n\x05group\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_group\"w\n\x18GrpcGeneralHistogramData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12*\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\"W\n\x15GrpcSimpleCounterData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"|\n\x16GrpcMethodInliningInfo\x12\x30\n\x0cinlinee_info\x18\x01 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\x12\x30\n\x0cinliner_info\x18\x02 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\"I\n\x13GrpcMethodNameParts\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\t\"1\n\x12GrpcHistogramEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"A\n\x1bGrpcTimelineDiagramFragment\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\"a\n\x12GrpcAllocationInfo\x12\x11\n\ttype_name\x18\x01 \x01(\t\x12\x1f\n\x17\x61llocated_objects_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x61llocated_bytes\x18\x03 \x01(\x04\"\x8b\x01\n\x19GrpcUnderlyingPatternInfo\x12\x36\n\x0cpattern_kind\x18\x01 \x01(\x0e\x32 .ficus.GrpcUnderlyingPatternKind\x12\x15\n\rbase_sequence\x18\x02 \x03(\t\x12\x1f\n\x05graph\x18\x03 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\x9a\x01\n\rGrpcGraphEdge\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tfrom_node\x18\x02 \x01(\x04\x12\x0f\n\x07to_node\x18\x03 \x01(\x04\x12\x0e\n\x06weight\x18\x04 \x01(\x01\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\t\x12;\n\x0f\x61\x64\x64itional_data\x18\x06 \x03(\x0b\x32\".ficus.GrpcGraphEdgeAdditionalData\"\xc5\x01\n\x1bGrpcGraphEdgeAdditionalData\x12\x30\n\rsoftware_data\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x36\n\x0e\x65xecution_info\x18\x02 \x01(\x0b\x32\x1c.ficus.GrpcEdgeExecutionInfoH\x00\x12\x34\n\ttime_data\x18\x03 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x42\x06\n\x04\x64\x61ta\"(\n\x15GrpcEdgeExecutionInfo\x12\x0f\n\x07traceId\x18\x01 \x01(\x04\"\x1a\n\tGrpcBytes\x12\r\n\x05\x62ytes\x18\x01 \x01(\x0c\"I\n\x16GrpcLogTimelineDiagram\x12/\n\x06traces\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcTraceTimelineDiagram\"p\n\x1cGrpcTimelineTraceEventsGroup\x12(\n\x0bstart_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12&\n\tend_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\"z\n\x18GrpcTraceTimelineDiagram\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\x12:\n\revents_groups\x18\x02 \x03(\x0b\x32#.ficus.GrpcTimelineTraceEventsGroup\"4\n\nGrpcThread\x12&\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x16.ficus.GrpcThreadEvent\".\n\x0fGrpcThreadEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05stamp\x18\x02 \x01(\x03*.\n\rGrpcGraphKind\x12\x08\n\x04None\x10\x00\x12\x07\n\x03\x44\x41G\x10\x01\x12\n\n\x06\x44\x61gLCS\x10\x02*u\n\x10GrpcDurationKind\x12\x0f\n\x0bUnspecified\x10\x00\x12\t\n\x05Nanos\x10\x01\x12\n\n\x06Micros\x10\x02\x12\n\n\x06Millis\x10\x03\x12\x0b\n\x07Seconds\x10\x04\x12\x0b\n\x07Minutes\x10\x05\x12\t\n\x05Hours\x10\x06\x12\x08\n\x04\x44\x61ys\x10\x07*\xb1\x01\n\x19GrpcUnderlyingPatternKind\x12\x0e\n\nStrictLoop\x10\x00\x12\x18\n\x14PrimitiveTandemArray\x10\x01\x12\x16\n\x12MaximalTandemArray\x10\x02\x12\x11\n\rMaximalRepeat\x10\x03\x12\x16\n\x12SuperMaximalRepeat\x10\x04\x12\x1a\n\x16NearSuperMaximalRepeat\x10\x05\x12\x0b\n\x07Unknown\x10\x06\x42\x0fZ\r./;grpcmodelsb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bpipelines_and_context.proto\x12\x05\x66icus\x1a\x0fpm_models.proto\x1a\nutil.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x1e\n\x0eGrpcContextKey\x12\x0c\n\x04name\x18\x01 \x01(\t\"W\n\x1bGrpcContextValueWithKeyName\x12\x10\n\x08key_name\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"\x8b\t\n\x10GrpcContextValue\x12\x10\n\x06string\x18\x01 \x01(\tH\x00\x12;\n\nhashes_log\x18\x02 \x01(\x0b\x32%.ficus.GrpcHashesEventLogContextValueH\x00\x12\x39\n\tnames_log\x18\x03 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12\x10\n\x06uint32\x18\x04 \x01(\rH\x00\x12J\n\x11traces_sub_arrays\x18\x05 \x01(\x0b\x32-.ficus.GrpcEventLogTraceSubArraysContextValueH\x00\x12P\n\x16trace_index_sub_arrays\x18\x06 \x01(\x0b\x32..ficus.GrpcSubArraysWithTraceIndexContextValueH\x00\x12\x0e\n\x04\x62ool\x18\x07 \x01(\x08H\x00\x12=\n\rxes_event_log\x18\x08 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12/\n\ncolors_log\x18\t \x01(\x0b\x32\x19.ficus.GrpcColorsEventLogH\x00\x12\x1f\n\x04\x65num\x18\n \x01(\x0b\x32\x0f.ficus.GrpcEnumH\x00\x12\x31\n\x0e\x65vent_log_info\x18\x0b \x01(\x0b\x32\x17.ficus.GrpcEventLogInfoH\x00\x12%\n\x07strings\x18\x0c \x01(\x0b\x32\x12.ficus.GrpcStringsH\x00\x12\'\n\x08pipeline\x18\r \x01(\x0b\x32\x13.ficus.GrpcPipelineH\x00\x12\'\n\x08petriNet\x18\x0e \x01(\x0b\x32\x13.ficus.GrpcPetriNetH\x00\x12!\n\x05graph\x18\x0f \x01(\x0b\x32\x10.ficus.GrpcGraphH\x00\x12\x0f\n\x05\x66loat\x18\x10 \x01(\x02H\x00\x12+\n\nannotation\x18\x11 \x01(\x0b\x32\x15.ficus.GrpcAnnotationH\x00\x12%\n\x07\x64\x61taset\x18\x12 \x01(\x0b\x32\x12.ficus.GrpcDatasetH\x00\x12\x34\n\x0flabeled_dataset\x18\x13 \x01(\x0b\x32\x19.ficus.GrpcLabeledDatasetH\x00\x12!\n\x05\x62ytes\x18\x14 \x01(\x0b\x32\x10.ficus.GrpcBytesH\x00\x12;\n\x12logTimelineDiagram\x18\x15 \x01(\x0b\x32\x1d.ficus.GrpcLogTimelineDiagramH\x00\x12,\n\x0b\x66loat_array\x18\x16 \x01(\x0b\x32\x15.ficus.GrpcFloatArrayH\x00\x12(\n\tint_array\x18\x17 \x01(\x0b\x32\x13.ficus.GrpcIntArrayH\x00\x12*\n\nuint_array\x18\x18 \x01(\x0b\x32\x14.ficus.GrpcUintArrayH\x00\x12\x0e\n\x04json\x18\x19 \x01(\tH\x00\x12.\n\tevent_log\x18\x1a \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLogH\x00\x42\x0e\n\x0c\x63ontextValue\"\x1f\n\x0eGrpcFloatArray\x12\r\n\x05items\x18\x01 \x03(\x01\"\x1d\n\x0cGrpcIntArray\x12\r\n\x05items\x18\x01 \x03(\x03\"\x1e\n\rGrpcUintArray\x12\r\n\x05items\x18\x01 \x03(\x04\"a\n\x13GrpcContextKeyValue\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"H\n\x1eGrpcHashesEventLogContextValue\x12&\n\x03log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcHashesEventLog\"F\n\x1dGrpcNamesEventLogContextValue\x12%\n\x03log\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcNamesEventLog\"^\n&GrpcEventLogTraceSubArraysContextValue\x12\x34\n\x11traces_sub_arrays\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcTraceSubArrays\"/\n\x11GrpcTraceSubArray\x12\r\n\x05start\x18\x01 \x01(\r\x12\x0b\n\x03\x65nd\x18\x02 \x01(\r\"B\n\x12GrpcTraceSubArrays\x12,\n\nsub_arrays\x18\x01 \x03(\x0b\x32\x18.ficus.GrpcTraceSubArray\"^\n\x1aGrpcSubArrayWithTraceIndex\x12+\n\tsub_array\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcTraceSubArray\x12\x13\n\x0btrace_index\x18\x02 \x01(\r\"`\n\'GrpcSubArraysWithTraceIndexContextValue\x12\x35\n\nsub_arrays\x18\x01 \x03(\x0b\x32!.ficus.GrpcSubArrayWithTraceIndex\"\xa4\x01\n\x12GrpcColorsEventLog\x12\x31\n\x07mapping\x18\x01 \x03(\x0b\x32 .ficus.GrpcColorsEventLogMapping\x12&\n\x06traces\x18\x02 \x03(\x0b\x32\x16.ficus.GrpcColorsTrace\x12\x33\n\x0b\x61\x64justments\x18\x03 \x03(\x0b\x32\x1e.ficus.GrpcColorsLogAdjustment\"\xba\x01\n\x17GrpcColorsLogAdjustment\x12G\n\x14rectangle_adjustment\x18\x01 \x01(\x0b\x32\'.ficus.GrpcColorsLogRectangleAdjustmentH\x00\x12I\n\x10\x61xis_after_trace\x18\x02 \x01(\x0b\x32-.ficus.GrpcColorsLogXAxisAfterTraceAdjustmentH\x00\x42\x0b\n\tselection\"\xa9\x01\n GrpcColorsLogRectangleAdjustment\x12*\n\rup_left_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12-\n\x10\x64own_right_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12*\n\"extend_to_nearest_vertical_borders\x18\x03 \x01(\x08\"8\n\x0cGrpcLogPoint\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x02 \x01(\x04\"=\n&GrpcColorsLogXAxisAfterTraceAdjustment\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\"J\n\x19GrpcColorsEventLogMapping\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x05\x63olor\x18\x02 \x01(\x0b\x32\x10.ficus.GrpcColor\"\\\n\x0fGrpcColorsTrace\x12\x31\n\x0c\x65vent_colors\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcColoredRectangle\x12\x16\n\x0e\x63onstant_width\x18\x02 \x01(\x08\"L\n\x14GrpcColoredRectangle\x12\x13\n\x0b\x63olor_index\x18\x01 \x01(\r\x12\x0f\n\x07start_x\x18\x02 \x01(\x01\x12\x0e\n\x06length\x18\x03 \x01(\x01\"+\n\x08GrpcEnum\x12\x10\n\x08\x65numType\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"[\n\x10GrpcEventLogInfo\x12\x14\n\x0c\x65vents_count\x18\x01 \x01(\r\x12\x14\n\x0ctraces_count\x18\x02 \x01(\r\x12\x1b\n\x13\x65vent_classes_count\x18\x03 \x01(\r\"\x1e\n\x0bGrpcStrings\x12\x0f\n\x07strings\x18\x01 \x03(\t\":\n\x0cGrpcPipeline\x12*\n\x05parts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"\xab\x02\n\x14GrpcPipelinePartBase\x12.\n\x0b\x64\x65\x66\x61ultPart\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcPipelinePartH\x00\x12\x37\n\x0cparallelPart\x18\x02 \x01(\x0b\x32\x1f.ficus.GrpcParallelPipelinePartH\x00\x12O\n\x18simpleContextRequestPart\x18\x03 \x01(\x0b\x32+.ficus.GrpcSimpleContextRequestPipelinePartH\x00\x12Q\n\x19\x63omplexContextRequestPart\x18\x04 \x01(\x0b\x32,.ficus.GrpcComplexContextRequestPipelinePartH\x00\x42\x06\n\x04part\"]\n\x10GrpcPipelinePart\x12\x0c\n\x04name\x18\x01 \x01(\t\x12;\n\rconfiguration\x18\x02 \x01(\x0b\x32$.ficus.GrpcPipelinePartConfiguration\"\\\n\x1dGrpcPipelinePartConfiguration\x12;\n\x17\x63onfigurationParameters\x18\x01 \x03(\x0b\x32\x1a.ficus.GrpcContextKeyValue\"N\n\x18GrpcParallelPipelinePart\x12\x32\n\rpipelineParts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"N\n\x19GrpcParallelPipelineParts\x12\x31\n\x08pipeline\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcParallelPipelinePart\"\x97\x01\n$GrpcSimpleContextRequestPipelinePart\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12)\n\x10\x66rontendPartUuid\x18\x02 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x03 \x01(\t\"\xce\x01\n%GrpcComplexContextRequestPipelinePart\x12#\n\x04keys\x18\x01 \x03(\x0b\x32\x15.ficus.GrpcContextKey\x12\x33\n\x12\x62\x65\x66orePipelinePart\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcPipelinePart\x12)\n\x10\x66rontendPartUuid\x18\x03 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x04 \x01(\t\"y\n\tGrpcGraph\x12#\n\x05nodes\x18\x01 \x03(\x0b\x32\x14.ficus.GrpcGraphNode\x12#\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x14.ficus.GrpcGraphEdge\x12\"\n\x04kind\x18\x03 \x01(\x0e\x32\x14.ficus.GrpcGraphKind\"\x88\x01\n\rGrpcGraphNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\x12\x36\n\x0f\x61\x64\x64itional_data\x18\x03 \x03(\x0b\x32\x1d.ficus.GrpcNodeAdditionalData\x12%\n\x0binner_graph\x18\x04 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\xac\x03\n\x16GrpcNodeAdditionalData\x12&\n\x04none\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x30\n\rsoftware_data\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x38\n\x0cpattern_info\x18\x03 \x01(\x0b\x32 .ficus.GrpcUnderlyingPatternInfoH\x00\x12;\n\ntrace_data\x18\x04 \x01(\x0b\x32%.ficus.GrpcNodeCorrespondingTraceDataH\x00\x12\x34\n\ttime_data\x18\x05 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x12\x42\n\x16multithreaded_fragment\x18\x07 \x01(\x0b\x32 .ficus.GrpcMultithreadedFragmentH\x00\x12?\n\x1aoriginal_event_coordinates\x18\x06 \x01(\x0b\x32\x1b.ficus.GrpcEventCoordinatesB\x06\n\x04\x64\x61ta\"Q\n\x19GrpcMultithreadedFragment\x12\x34\n\x11multithreaded_log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLog\"@\n\x18GrpcActivityStartEndData\x12\x12\n\nstart_time\x18\x01 \x01(\x03\x12\x10\n\x08\x65nd_time\x18\x02 \x01(\x03\"=\n\x14GrpcEventCoordinates\x12\x10\n\x08trace_id\x18\x02 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x03 \x01(\x04\"B\n\x1eGrpcNodeCorrespondingTraceData\x12 \n\x18\x62\x65longs_to_root_sequence\x18\x01 \x01(\x08\"\xe7\x02\n\x10GrpcSoftwareData\x12,\n\thistogram\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\x12\x45\n\x19timeline_diagram_fragment\x18\x02 \x01(\x0b\x32\".ficus.GrpcTimelineDiagramFragment\x12\x37\n\x0ehistogram_data\x18\r \x03(\x0b\x32\x1f.ficus.GrpcGeneralHistogramData\x12\x39\n\x13simple_counter_data\x18\x0e \x03(\x0b\x32\x1c.ficus.GrpcSimpleCounterData\x12\x42\n\x19\x61\x63tivities_durations_data\x18\x0f \x03(\x0b\x32\x1f.ficus.GrpcActivityDurationData\x12&\n\tocel_data\x18\x10 \x03(\x0b\x32\x13.ficus.GrpcOcelData\"\xa9\x02\n\x0cGrpcOcelData\x12\x13\n\x0bobject_type\x18\x01 \x01(\t\x12\x11\n\tobject_id\x18\x02 \x01(\t\x12*\n\x08\x61llocate\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12)\n\x07\x63onsume\x18\x04 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x45\n\x18merged_object_allocation\x18\x05 \x01(\x0b\x32!.ficus.GrpcMergedObjectAllocationH\x00\x12I\n\x1aproduce_object_consumption\x18\x06 \x01(\x0b\x32#.ficus.GrpcProduceObjectConsumptionH\x00\x42\x08\n\x06\x61\x63tion\":\n\x1aGrpcMergedObjectAllocation\x12\x1c\n\x14\x63onsumed_objects_ids\x18\x01 \x03(\t\"<\n\x1cGrpcProduceObjectConsumption\x12\x1c\n\x14produced_objects_ids\x18\x02 \x03(\t\"\x84\x01\n\x18GrpcActivityDurationData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12%\n\x04kind\x18\x03 \x01(\x0e\x32\x17.ficus.GrpcDurationKind\"W\n\x1aGrpcGenericEnhancementBase\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05units\x18\x02 \x01(\t\x12\x12\n\x05group\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_group\"w\n\x18GrpcGeneralHistogramData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12*\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\"W\n\x15GrpcSimpleCounterData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"|\n\x16GrpcMethodInliningInfo\x12\x30\n\x0cinlinee_info\x18\x01 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\x12\x30\n\x0cinliner_info\x18\x02 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\"I\n\x13GrpcMethodNameParts\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\t\"1\n\x12GrpcHistogramEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"A\n\x1bGrpcTimelineDiagramFragment\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\"a\n\x12GrpcAllocationInfo\x12\x11\n\ttype_name\x18\x01 \x01(\t\x12\x1f\n\x17\x61llocated_objects_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x61llocated_bytes\x18\x03 \x01(\x04\"\x8b\x01\n\x19GrpcUnderlyingPatternInfo\x12\x36\n\x0cpattern_kind\x18\x01 \x01(\x0e\x32 .ficus.GrpcUnderlyingPatternKind\x12\x15\n\rbase_sequence\x18\x02 \x03(\t\x12\x1f\n\x05graph\x18\x03 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\x9a\x01\n\rGrpcGraphEdge\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tfrom_node\x18\x02 \x01(\x04\x12\x0f\n\x07to_node\x18\x03 \x01(\x04\x12\x0e\n\x06weight\x18\x04 \x01(\x01\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\t\x12;\n\x0f\x61\x64\x64itional_data\x18\x06 \x03(\x0b\x32\".ficus.GrpcGraphEdgeAdditionalData\"\xc5\x01\n\x1bGrpcGraphEdgeAdditionalData\x12\x30\n\rsoftware_data\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x36\n\x0e\x65xecution_info\x18\x02 \x01(\x0b\x32\x1c.ficus.GrpcEdgeExecutionInfoH\x00\x12\x34\n\ttime_data\x18\x03 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x42\x06\n\x04\x64\x61ta\"(\n\x15GrpcEdgeExecutionInfo\x12\x0f\n\x07traceId\x18\x01 \x01(\x04\"\x1a\n\tGrpcBytes\x12\r\n\x05\x62ytes\x18\x01 \x01(\x0c\"I\n\x16GrpcLogTimelineDiagram\x12/\n\x06traces\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcTraceTimelineDiagram\"p\n\x1cGrpcTimelineTraceEventsGroup\x12(\n\x0bstart_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12&\n\tend_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\"z\n\x18GrpcTraceTimelineDiagram\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\x12:\n\revents_groups\x18\x02 \x03(\x0b\x32#.ficus.GrpcTimelineTraceEventsGroup\"4\n\nGrpcThread\x12&\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x16.ficus.GrpcThreadEvent\".\n\x0fGrpcThreadEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05stamp\x18\x02 \x01(\x03*.\n\rGrpcGraphKind\x12\x08\n\x04None\x10\x00\x12\x07\n\x03\x44\x41G\x10\x01\x12\n\n\x06\x44\x61gLCS\x10\x02*u\n\x10GrpcDurationKind\x12\x0f\n\x0bUnspecified\x10\x00\x12\t\n\x05Nanos\x10\x01\x12\n\n\x06Micros\x10\x02\x12\n\n\x06Millis\x10\x03\x12\x0b\n\x07Seconds\x10\x04\x12\x0b\n\x07Minutes\x10\x05\x12\t\n\x05Hours\x10\x06\x12\x08\n\x04\x44\x61ys\x10\x07*\xb1\x01\n\x19GrpcUnderlyingPatternKind\x12\x0e\n\nStrictLoop\x10\x00\x12\x18\n\x14PrimitiveTandemArray\x10\x01\x12\x16\n\x12MaximalTandemArray\x10\x02\x12\x11\n\rMaximalRepeat\x10\x03\x12\x16\n\x12SuperMaximalRepeat\x10\x04\x12\x1a\n\x16NearSuperMaximalRepeat\x10\x05\x12\x0b\n\x07Unknown\x10\x06\x42\x0fZ\r./;grpcmodelsb\x06proto3') @@ -50,17 +50,17 @@ DESCRIPTOR._serialized_options = b'Z\r./;grpcmodels' - _globals['_GRPCGRAPHKIND']._serialized_start=7597 + _globals['_GRPCGRAPHKIND']._serialized_start=7865 - _globals['_GRPCGRAPHKIND']._serialized_end=7643 + _globals['_GRPCGRAPHKIND']._serialized_end=7911 - _globals['_GRPCDURATIONKIND']._serialized_start=7645 + _globals['_GRPCDURATIONKIND']._serialized_start=7913 - _globals['_GRPCDURATIONKIND']._serialized_end=7762 + _globals['_GRPCDURATIONKIND']._serialized_end=8030 - _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_start=7765 + _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_start=8033 - _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_end=7942 + _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_end=8210 _globals['_GRPCCONTEXTKEY']._serialized_start=96 @@ -228,82 +228,90 @@ _globals['_GRPCOCELDATA']._serialized_start=5608 - _globals['_GRPCOCELDATA']._serialized_end=5759 + _globals['_GRPCOCELDATA']._serialized_end=5905 - _globals['_GRPCACTIVITYDURATIONDATA']._serialized_start=5762 + _globals['_GRPCMERGEDOBJECTALLOCATION']._serialized_start=5907 - _globals['_GRPCACTIVITYDURATIONDATA']._serialized_end=5894 + _globals['_GRPCMERGEDOBJECTALLOCATION']._serialized_end=5965 - _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_start=5896 + _globals['_GRPCPRODUCEOBJECTCONSUMPTION']._serialized_start=5967 - _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_end=5983 + _globals['_GRPCPRODUCEOBJECTCONSUMPTION']._serialized_end=6027 - _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_start=5985 + _globals['_GRPCACTIVITYDURATIONDATA']._serialized_start=6030 - _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_end=6104 + _globals['_GRPCACTIVITYDURATIONDATA']._serialized_end=6162 - _globals['_GRPCSIMPLECOUNTERDATA']._serialized_start=6106 + _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_start=6164 - _globals['_GRPCSIMPLECOUNTERDATA']._serialized_end=6193 + _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_end=6251 - _globals['_GRPCMETHODINLININGINFO']._serialized_start=6195 + _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_start=6253 - _globals['_GRPCMETHODINLININGINFO']._serialized_end=6319 + _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_end=6372 - _globals['_GRPCMETHODNAMEPARTS']._serialized_start=6321 + _globals['_GRPCSIMPLECOUNTERDATA']._serialized_start=6374 - _globals['_GRPCMETHODNAMEPARTS']._serialized_end=6394 + _globals['_GRPCSIMPLECOUNTERDATA']._serialized_end=6461 - _globals['_GRPCHISTOGRAMENTRY']._serialized_start=6396 + _globals['_GRPCMETHODINLININGINFO']._serialized_start=6463 - _globals['_GRPCHISTOGRAMENTRY']._serialized_end=6445 + _globals['_GRPCMETHODINLININGINFO']._serialized_end=6587 - _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_start=6447 + _globals['_GRPCMETHODNAMEPARTS']._serialized_start=6589 - _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_end=6512 + _globals['_GRPCMETHODNAMEPARTS']._serialized_end=6662 - _globals['_GRPCALLOCATIONINFO']._serialized_start=6514 + _globals['_GRPCHISTOGRAMENTRY']._serialized_start=6664 - _globals['_GRPCALLOCATIONINFO']._serialized_end=6611 + _globals['_GRPCHISTOGRAMENTRY']._serialized_end=6713 - _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_start=6614 + _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_start=6715 - _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_end=6753 + _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_end=6780 - _globals['_GRPCGRAPHEDGE']._serialized_start=6756 + _globals['_GRPCALLOCATIONINFO']._serialized_start=6782 - _globals['_GRPCGRAPHEDGE']._serialized_end=6910 + _globals['_GRPCALLOCATIONINFO']._serialized_end=6879 - _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_start=6913 + _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_start=6882 - _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_end=7110 + _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_end=7021 - _globals['_GRPCEDGEEXECUTIONINFO']._serialized_start=7112 + _globals['_GRPCGRAPHEDGE']._serialized_start=7024 - _globals['_GRPCEDGEEXECUTIONINFO']._serialized_end=7152 + _globals['_GRPCGRAPHEDGE']._serialized_end=7178 - _globals['_GRPCBYTES']._serialized_start=7154 + _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_start=7181 - _globals['_GRPCBYTES']._serialized_end=7180 + _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_end=7378 - _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_start=7182 + _globals['_GRPCEDGEEXECUTIONINFO']._serialized_start=7380 - _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_end=7255 + _globals['_GRPCEDGEEXECUTIONINFO']._serialized_end=7420 - _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_start=7257 + _globals['_GRPCBYTES']._serialized_start=7422 - _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_end=7369 + _globals['_GRPCBYTES']._serialized_end=7448 - _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_start=7371 + _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_start=7450 - _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_end=7493 + _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_end=7523 - _globals['_GRPCTHREAD']._serialized_start=7495 + _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_start=7525 - _globals['_GRPCTHREAD']._serialized_end=7547 + _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_end=7637 - _globals['_GRPCTHREADEVENT']._serialized_start=7549 + _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_start=7639 - _globals['_GRPCTHREADEVENT']._serialized_end=7595 + _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_end=7761 + + _globals['_GRPCTHREAD']._serialized_start=7763 + + _globals['_GRPCTHREAD']._serialized_end=7815 + + _globals['_GRPCTHREADEVENT']._serialized_start=7817 + + _globals['_GRPCTHREADEVENT']._serialized_end=7863 # @@protoc_insertion_point(module_scope) diff --git a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi index 8b1ceada5..1a6d70285 100644 --- a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi +++ b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi @@ -439,16 +439,32 @@ class GrpcSoftwareData(_message.Message): def __init__(self, histogram: _Optional[_Iterable[_Union[GrpcHistogramEntry, _Mapping]]] = ..., timeline_diagram_fragment: _Optional[_Union[GrpcTimelineDiagramFragment, _Mapping]] = ..., histogram_data: _Optional[_Iterable[_Union[GrpcGeneralHistogramData, _Mapping]]] = ..., simple_counter_data: _Optional[_Iterable[_Union[GrpcSimpleCounterData, _Mapping]]] = ..., activities_durations_data: _Optional[_Iterable[_Union[GrpcActivityDurationData, _Mapping]]] = ..., ocel_data: _Optional[_Iterable[_Union[GrpcOcelData, _Mapping]]] = ...) -> None: ... class GrpcOcelData(_message.Message): - __slots__ = ["object_type", "object_id", "Allocate", "Consume"] + __slots__ = ["object_type", "object_id", "allocate", "consume", "merged_object_allocation", "produce_object_consumption"] OBJECT_TYPE_FIELD_NUMBER: _ClassVar[int] OBJECT_ID_FIELD_NUMBER: _ClassVar[int] ALLOCATE_FIELD_NUMBER: _ClassVar[int] CONSUME_FIELD_NUMBER: _ClassVar[int] + MERGED_OBJECT_ALLOCATION_FIELD_NUMBER: _ClassVar[int] + PRODUCE_OBJECT_CONSUMPTION_FIELD_NUMBER: _ClassVar[int] object_type: str object_id: str - Allocate: _empty_pb2.Empty - Consume: _empty_pb2.Empty - def __init__(self, object_type: _Optional[str] = ..., object_id: _Optional[str] = ..., Allocate: _Optional[_Union[_empty_pb2.Empty, _Mapping]] = ..., Consume: _Optional[_Union[_empty_pb2.Empty, _Mapping]] = ...) -> None: ... + allocate: _empty_pb2.Empty + consume: _empty_pb2.Empty + merged_object_allocation: GrpcMergedObjectAllocation + produce_object_consumption: GrpcProduceObjectConsumption + def __init__(self, object_type: _Optional[str] = ..., object_id: _Optional[str] = ..., allocate: _Optional[_Union[_empty_pb2.Empty, _Mapping]] = ..., consume: _Optional[_Union[_empty_pb2.Empty, _Mapping]] = ..., merged_object_allocation: _Optional[_Union[GrpcMergedObjectAllocation, _Mapping]] = ..., produce_object_consumption: _Optional[_Union[GrpcProduceObjectConsumption, _Mapping]] = ...) -> None: ... + +class GrpcMergedObjectAllocation(_message.Message): + __slots__ = ["consumed_objects_ids"] + CONSUMED_OBJECTS_IDS_FIELD_NUMBER: _ClassVar[int] + consumed_objects_ids: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, consumed_objects_ids: _Optional[_Iterable[str]] = ...) -> None: ... + +class GrpcProduceObjectConsumption(_message.Message): + __slots__ = ["produced_objects_ids"] + PRODUCED_OBJECTS_IDS_FIELD_NUMBER: _ClassVar[int] + produced_objects_ids: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, produced_objects_ids: _Optional[_Iterable[str]] = ...) -> None: ... class GrpcActivityDurationData(_message.Message): __slots__ = ["base", "duration", "kind"] From 9afc94dce399ccc324efecf8c26f7f596670045b Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Wed, 8 Oct 2025 19:57:25 +0300 Subject: [PATCH 094/189] WIP --- .../software_data/extraction_config.rs | 4 ++- .../timeline/software_data/extractors/ocel.rs | 33 +++++++++++++++++-- .../timeline/software_data/models.rs | 4 ++- Ficus/src/rust/ficus/src/grpc/converters.rs | 12 ++++++- .../tests/software_data/extractors_tests.rs | 1 + 5 files changed, 48 insertions(+), 6 deletions(-) diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs index b01c75f89..7004c24b7 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs @@ -70,7 +70,9 @@ pub struct OcelDataExtractionConfig { #[getset(get = "pub")] object_id_attr: NameCreationStrategy, #[getset(get = "pub")] - object_action_type_attr: Option + object_action_type_attr: Option, + #[getset(get = "pub")] + related_object_ids_attr: Option, } #[derive(Clone, Debug, Getters, Serialize, Deserialize, new)] diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs index f37ba4836..b92d43ccb 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs @@ -1,10 +1,11 @@ -use crate::event_log::core::event::event::Event; +use crate::event_log::core::event::event::{Event, EventPayloadValue}; use crate::event_log::xes::xes_event::XesEventImpl; use crate::features::discovery::timeline::software_data::extraction_config::SoftwareDataExtractionConfig; use crate::features::discovery::timeline::software_data::extractors::core::{EventGroupSoftwareDataExtractor, SoftwareDataExtractionError}; use crate::features::discovery::timeline::software_data::models::{OcelData, OcelObjectAction, SoftwareData}; use derive_new::new; use std::cell::RefCell; +use std::collections::HashMap; use std::rc::Rc; use fancy_regex::Regex; use log::{debug}; @@ -33,7 +34,8 @@ impl<'a> EventGroupSoftwareDataExtractor for OcelDataExtractor<'a> { let object_id = ocel_config.info().object_id_attr().create(&event.borrow()); let action = if let Some(action_attr) = ocel_config.info().object_action_type_attr().as_ref() { - if let Some(ocel_action) = Self::parse_ocel_object_action(&event.borrow(), action_attr) { + let related_objs_ids = ocel_config.info().related_object_ids_attr().as_ref(); + if let Some(ocel_action) = Self::parse_ocel_object_action(&event.borrow(), action_attr, related_objs_ids) { ocel_action } else { get_fallback_ocel_object_action() @@ -58,12 +60,24 @@ fn get_fallback_ocel_object_action() -> OcelObjectAction { } impl<'a> OcelDataExtractor<'a> { - fn parse_ocel_object_action(event: &XesEventImpl, action_attr: &str) -> Option { + fn parse_ocel_object_action( + event: &XesEventImpl, + action_attr: &String, + related_objects_ids_attr: Option<&String>, + ) -> Option { if let Some(map) = event.payload_map().as_ref() { if let Some(action_value) = map.get(action_attr).as_ref() { match action_value.to_string_repr().as_str() { "Allocate" => return Some(OcelObjectAction::Allocate), "Consume" => return Some(OcelObjectAction::Consume), + "AllocateMerged" => return match Self::parse_related_objects_ids(map, related_objects_ids_attr) { + None => Some(OcelObjectAction::Allocate), + Some(ids) => Some(OcelObjectAction::AllocateMerged(ids)) + }, + "ConsumeWithProduce" => return match Self::parse_related_objects_ids(map, related_objects_ids_attr) { + None => Some(OcelObjectAction::Consume), + Some(ids) => Some(OcelObjectAction::ConsumeWithProduce(ids)) + }, _ => {} } } @@ -71,4 +85,17 @@ impl<'a> OcelDataExtractor<'a> { None } + + fn parse_related_objects_ids( + payload: &HashMap, + related_objects_ids_attr: Option<&String>, + ) -> Option> { + if let Some(related_objects_ids_attr) = related_objects_ids_attr { + if let Some(objects_ids) = payload.get(related_objects_ids_attr) { + return Some(objects_ids.to_string_repr().as_str().split(' ').map(|s| s.to_string()).collect()) + } + } + + None + } } \ No newline at end of file diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs index c4d80b4ac..f8ef2ab21 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs @@ -49,7 +49,9 @@ impl SoftwareData { #[derive(Clone, Debug, Serialize, Deserialize, EnumDisplay)] pub enum OcelObjectAction { Allocate, - Consume + Consume, + AllocateMerged(Vec), + ConsumeWithProduce(Vec) } #[derive(Clone, Debug, Getters, new, Serialize, Deserialize)] diff --git a/Ficus/src/rust/ficus/src/grpc/converters.rs b/Ficus/src/rust/ficus/src/grpc/converters.rs index 871a757e9..b26996e66 100644 --- a/Ficus/src/rust/ficus/src/grpc/converters.rs +++ b/Ficus/src/rust/ficus/src/grpc/converters.rs @@ -27,7 +27,7 @@ use crate::features::discovery::timeline::software_data::models::{ActivityDurati use crate::ficus_proto::grpc_annotation::Annotation::{CountAnnotation, FrequencyAnnotation, TimeAnnotation}; use crate::ficus_proto::grpc_context_value::ContextValue::Annotation; use crate::ficus_proto::grpc_node_additional_data::Data; -use crate::ficus_proto::{grpc_event_attribute, grpc_graph_edge_additional_data, grpc_ocel_data, GrpcActivityDurationData, GrpcActivityStartEndData, GrpcAllocationInfo, GrpcAnnotation, GrpcBytes, GrpcColorsEventLogMapping, GrpcCountAnnotation, GrpcDataset, GrpcDurationKind, GrpcEdgeExecutionInfo, GrpcEntityCountAnnotation, GrpcEntityFrequencyAnnotation, GrpcEntityTimeAnnotation, GrpcEvent, GrpcEventAttribute, GrpcEventCoordinates, GrpcFrequenciesAnnotation, GrpcGeneralHistogramData, GrpcGenericEnhancementBase, GrpcGraph, GrpcGraphEdge, GrpcGraphEdgeAdditionalData, GrpcGraphKind, GrpcGraphNode, GrpcGuid, GrpcHistogramEntry, GrpcLabeledDataset, GrpcLogPoint, GrpcLogTimelineDiagram, GrpcMatrix, GrpcMatrixRow, GrpcMethodInliningInfo, GrpcMethodNameParts, GrpcMultithreadedFragment, GrpcNodeAdditionalData, GrpcNodeCorrespondingTraceData, GrpcOcelData, GrpcPetriNet, GrpcPetriNetArc, GrpcPetriNetMarking, GrpcPetriNetPlace, GrpcPetriNetSinglePlaceMarking, GrpcPetriNetTransition, GrpcSimpleCounterData, GrpcSimpleEventLog, GrpcSimpleTrace, GrpcSoftwareData, GrpcThread, GrpcThreadEvent, GrpcTimePerformanceAnnotation, GrpcTimeSpan, GrpcTimelineDiagramFragment, GrpcTimelineTraceEventsGroup, GrpcTraceTimelineDiagram, GrpcUnderlyingPatternInfo, GrpcUnderlyingPatternKind}; +use crate::ficus_proto::{grpc_event_attribute, grpc_graph_edge_additional_data, grpc_ocel_data, GrpcActivityDurationData, GrpcActivityStartEndData, GrpcAllocationInfo, GrpcAnnotation, GrpcBytes, GrpcColorsEventLogMapping, GrpcCountAnnotation, GrpcDataset, GrpcDurationKind, GrpcEdgeExecutionInfo, GrpcEntityCountAnnotation, GrpcEntityFrequencyAnnotation, GrpcEntityTimeAnnotation, GrpcEvent, GrpcEventAttribute, GrpcEventCoordinates, GrpcFrequenciesAnnotation, GrpcGeneralHistogramData, GrpcGenericEnhancementBase, GrpcGraph, GrpcGraphEdge, GrpcGraphEdgeAdditionalData, GrpcGraphKind, GrpcGraphNode, GrpcGuid, GrpcHistogramEntry, GrpcLabeledDataset, GrpcLogPoint, GrpcLogTimelineDiagram, GrpcMatrix, GrpcMatrixRow, GrpcMergedObjectAllocation, GrpcMethodInliningInfo, GrpcMethodNameParts, GrpcMultithreadedFragment, GrpcNodeAdditionalData, GrpcNodeCorrespondingTraceData, GrpcOcelData, GrpcPetriNet, GrpcPetriNetArc, GrpcPetriNetMarking, GrpcPetriNetPlace, GrpcPetriNetSinglePlaceMarking, GrpcPetriNetTransition, GrpcProduceObjectConsumption, GrpcSimpleCounterData, GrpcSimpleEventLog, GrpcSimpleTrace, GrpcSoftwareData, GrpcThread, GrpcThreadEvent, GrpcTimePerformanceAnnotation, GrpcTimeSpan, GrpcTimelineDiagramFragment, GrpcTimelineTraceEventsGroup, GrpcTraceTimelineDiagram, GrpcUnderlyingPatternInfo, GrpcUnderlyingPatternKind}; use crate::grpc::pipeline_executor::ServicePipelineExecutionContext; use crate::pipelines::activities_parts::{ActivitiesLogsSourceDto, UndefActivityHandlingStrategyDto}; use crate::pipelines::keys::context_keys::{BYTES_KEY, COLORS_EVENT_LOG_KEY, EVENT_LOG_INFO_KEY, EVENT_LOG_KEY, GRAPH_KEY, GRAPH_TIME_ANNOTATION_KEY, HASHES_EVENT_LOG_KEY, LABELED_LOG_TRACES_DATASET_KEY, LABELED_TRACES_ACTIVITIES_DATASET_KEY, LOG_THREADS_DIAGRAM_KEY, LOG_TRACES_DATASET_KEY, NAMES_EVENT_LOG_KEY, PATH_KEY, PATTERNS_KEY, PETRI_NET_COUNT_ANNOTATION_KEY, PETRI_NET_FREQUENCY_ANNOTATION_KEY, PETRI_NET_KEY, PETRI_NET_TRACE_FREQUENCY_ANNOTATION_KEY, REPEAT_SETS_KEY, SOFTWARE_DATA_EXTRACTION_CONFIG_KEY, TRACES_ACTIVITIES_DATASET_KEY}; @@ -897,6 +897,16 @@ fn convert_to_grpc_ocel_data(data: &OcelData) -> GrpcOcelData { action: Some(match data.action() { OcelObjectAction::Allocate => grpc_ocel_data::Action::Allocate(()), OcelObjectAction::Consume => grpc_ocel_data::Action::Consume(()), + OcelObjectAction::AllocateMerged(ids) => grpc_ocel_data::Action::MergedObjectAllocation( + GrpcMergedObjectAllocation { + consumed_objects_ids: ids.clone() + } + ), + OcelObjectAction::ConsumeWithProduce(ids) => grpc_ocel_data::Action::ProduceObjectConsumption( + GrpcProduceObjectConsumption { + produced_objects_ids: ids.clone() + } + ), }), } } diff --git a/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs b/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs index fedb3a31c..26cf5e34d 100644 --- a/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs +++ b/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs @@ -436,6 +436,7 @@ pub fn test_ocel_data_extraction() { NameCreationStrategy::SingleAttribute(SingleAttribute::new("object_type".to_string(), "???".to_string())), NameCreationStrategy::SingleAttribute(SingleAttribute::new("object_id".to_string(), "???".to_string())), Some("ocel_action".to_string()), + None ), )) ); From 455653295dd9301cca3dc0e695b92f6ce942843c Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Thu, 9 Oct 2025 09:37:33 +0300 Subject: [PATCH 095/189] Add tests for AllocateMerged and ConsumeWithProduce --- .../timeline/software_data/extractors/ocel.rs | 12 ++- .../tests/software_data/extractors_tests.rs | 92 ++++++++++++++++++- 2 files changed, 101 insertions(+), 3 deletions(-) diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs index b92d43ccb..d194a5d73 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs @@ -92,7 +92,17 @@ impl<'a> OcelDataExtractor<'a> { ) -> Option> { if let Some(related_objects_ids_attr) = related_objects_ids_attr { if let Some(objects_ids) = payload.get(related_objects_ids_attr) { - return Some(objects_ids.to_string_repr().as_str().split(' ').map(|s| s.to_string()).collect()) + let parsed_ids: Vec = objects_ids.to_string_repr() + .trim() + .split(' ') + .filter_map(|s| if s.len() > 0 { Some(s.to_string()) } else { None }) + .collect(); + + if parsed_ids.len() == 0 { + return None + } + + return Some(parsed_ids) } } diff --git a/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs b/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs index 26cf5e34d..a7e269764 100644 --- a/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs +++ b/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs @@ -348,7 +348,7 @@ fn test_activities_duration_2() { #[test] pub fn test_ocel_data_extraction() { execute_test_with_software_data( - r#"{"ocel_data":[{"object_type":"type1","object_id":"id_1","action":"Allocate"},{"object_type":"type1","object_id":"id_2","action":"Consume"},{"object_type":"type1","object_id":"id_3","action":"Allocate"}]}"#, + r#"{"ocel_data":[{"object_type":"type1","object_id":"id_1","action":"Allocate"},{"object_type":"type1","object_id":"id_2","action":"Consume"},{"object_type":"type1","object_id":"id_3","action":"Allocate"},{"object_type":"type1","object_id":"id_2","action":{"ConsumeWithProduce":["1","2","3","4","5"]}},{"object_type":"type1","object_id":"id_2","action":{"AllocateMerged":["1","2","3","4","5"]}},{"object_type":"type1","object_id":"id_2","action":"Allocate"},{"object_type":"type1","object_id":"id_2","action":"Consume"},{"object_type":"type1","object_id":"id_2","action":"Consume"},{"object_type":"type1","object_id":"id_2","action":"Allocate"}]}"#, || { let events = [ create_event_with_attributes( @@ -406,6 +406,94 @@ pub fn test_ocel_data_extraction() { ("ocel_action".to_string(), EventPayloadValue::String(Rc::new(Box::new("Consume".to_string())))), ], ), + create_event_with_attributes( + "ocel_event".to_string(), + vec![ + ( + "object_type".to_string(), + EventPayloadValue::String(Rc::new(Box::new("type1".to_string()))), + ), + ( + "object_id".to_string(), + EventPayloadValue::String(Rc::new(Box::new("id_2".to_string()))), + ), + ("ocel_action".to_string(), EventPayloadValue::String(Rc::new(Box::new("ConsumeWithProduce".to_string())))), + ("ocel_related_objects".to_string(), EventPayloadValue::String(Rc::new(Box::new("1 2 3 4 5".to_string())))), + ], + ), + create_event_with_attributes( + "ocel_event".to_string(), + vec![ + ( + "object_type".to_string(), + EventPayloadValue::String(Rc::new(Box::new("type1".to_string()))), + ), + ( + "object_id".to_string(), + EventPayloadValue::String(Rc::new(Box::new("id_2".to_string()))), + ), + ("ocel_action".to_string(), EventPayloadValue::String(Rc::new(Box::new("AllocateMerged".to_string())))), + ("ocel_related_objects".to_string(), EventPayloadValue::String(Rc::new(Box::new("1 2 3 4 5".to_string())))), + ], + ), + create_event_with_attributes( + "ocel_event".to_string(), + vec![ + ( + "object_type".to_string(), + EventPayloadValue::String(Rc::new(Box::new("type1".to_string()))), + ), + ( + "object_id".to_string(), + EventPayloadValue::String(Rc::new(Box::new("id_2".to_string()))), + ), + ("ocel_action".to_string(), EventPayloadValue::String(Rc::new(Box::new("AllocateMerged".to_string())))), + ], + ), + create_event_with_attributes( + "ocel_event".to_string(), + vec![ + ( + "object_type".to_string(), + EventPayloadValue::String(Rc::new(Box::new("type1".to_string()))), + ), + ( + "object_id".to_string(), + EventPayloadValue::String(Rc::new(Box::new("id_2".to_string()))), + ), + ("ocel_action".to_string(), EventPayloadValue::String(Rc::new(Box::new("ConsumeWithProduce".to_string())))), + ], + ), + create_event_with_attributes( + "ocel_event".to_string(), + vec![ + ( + "object_type".to_string(), + EventPayloadValue::String(Rc::new(Box::new("type1".to_string()))), + ), + ( + "object_id".to_string(), + EventPayloadValue::String(Rc::new(Box::new("id_2".to_string()))), + ), + ("ocel_action".to_string(), EventPayloadValue::String(Rc::new(Box::new("ConsumeWithProduce".to_string())))), + ("ocel_related_objects".to_string(), EventPayloadValue::String(Rc::new(Box::new(" ".to_string())))), + ], + ), + create_event_with_attributes( + "ocel_event".to_string(), + vec![ + ( + "object_type".to_string(), + EventPayloadValue::String(Rc::new(Box::new("type1".to_string()))), + ), + ( + "object_id".to_string(), + EventPayloadValue::String(Rc::new(Box::new("id_2".to_string()))), + ), + ("ocel_action".to_string(), EventPayloadValue::String(Rc::new(Box::new("AllocateMerged".to_string())))), + ("ocel_related_objects".to_string(), EventPayloadValue::String(Rc::new(Box::new(" ".to_string())))), + ], + ), create_event_with_attributes( "hst_event".to_string(), vec![ @@ -436,7 +524,7 @@ pub fn test_ocel_data_extraction() { NameCreationStrategy::SingleAttribute(SingleAttribute::new("object_type".to_string(), "???".to_string())), NameCreationStrategy::SingleAttribute(SingleAttribute::new("object_id".to_string(), "???".to_string())), Some("ocel_action".to_string()), - None + Some("ocel_related_objects".to_string()) ), )) ); From 5c8841b77ed98c04be2097c50b60991a5b0e77ca Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Thu, 9 Oct 2025 09:53:14 +0300 Subject: [PATCH 096/189] Skip objects without object id --- .../software_data/extraction_config.rs | 2 +- .../timeline/software_data/extractors/ocel.rs | 22 +++++++++++++++++-- .../tests/software_data/extractors_tests.rs | 13 ++++++++++- 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs index 7004c24b7..23eb0b67e 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs @@ -68,7 +68,7 @@ pub struct OcelDataExtractionConfig { #[getset(get = "pub")] object_type_attr: NameCreationStrategy, #[getset(get = "pub")] - object_id_attr: NameCreationStrategy, + object_id_attr: String, #[getset(get = "pub")] object_action_type_attr: Option, #[getset(get = "pub")] diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs index d194a5d73..97c9a9629 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs @@ -8,7 +8,8 @@ use std::cell::RefCell; use std::collections::HashMap; use std::rc::Rc; use fancy_regex::Regex; -use log::{debug}; +use log::{debug, warn}; +use crate::utils::references::HeapedOrOwned; #[derive(Debug, Clone, new)] pub struct OcelDataExtractor<'a> { @@ -31,7 +32,14 @@ impl<'a> EventGroupSoftwareDataExtractor for OcelDataExtractor<'a> { } let object_type = ocel_config.info().object_type_attr().create(&event.borrow()); - let object_id = ocel_config.info().object_id_attr().create(&event.borrow()); + + let object_id = match Self::parse_object_id(&event.borrow(), ocel_config.info().object_id_attr().as_str()) { + None => { + debug!("Object does not have an object id, skipping it"); + continue; + } + Some(id) => id.to_string() + }; let action = if let Some(action_attr) = ocel_config.info().object_action_type_attr().as_ref() { let related_objs_ids = ocel_config.info().related_object_ids_attr().as_ref(); @@ -60,6 +68,16 @@ fn get_fallback_ocel_object_action() -> OcelObjectAction { } impl<'a> OcelDataExtractor<'a> { + fn parse_object_id(event: &XesEventImpl, object_id_attr: &str) -> Option> { + if let Some(map) = event.payload_map().as_ref() { + if let Some(object_id) = map.get(object_id_attr).as_ref() { + return Some(object_id.to_string_repr()) + } + } + + None + } + fn parse_ocel_object_action( event: &XesEventImpl, action_attr: &String, diff --git a/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs b/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs index a7e269764..9459ead4f 100644 --- a/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs +++ b/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs @@ -494,6 +494,17 @@ pub fn test_ocel_data_extraction() { ("ocel_related_objects".to_string(), EventPayloadValue::String(Rc::new(Box::new(" ".to_string())))), ], ), + create_event_with_attributes( + "ocel_event".to_string(), + vec![ + ( + "object_type".to_string(), + EventPayloadValue::String(Rc::new(Box::new("type1".to_string()))), + ), + ("ocel_action".to_string(), EventPayloadValue::String(Rc::new(Box::new("AllocateMerged".to_string())))), + ("ocel_related_objects".to_string(), EventPayloadValue::String(Rc::new(Box::new(" ".to_string())))), + ], + ), create_event_with_attributes( "hst_event".to_string(), vec![ @@ -522,7 +533,7 @@ pub fn test_ocel_data_extraction() { "ocel_event".to_string(), OcelDataExtractionConfig::new( NameCreationStrategy::SingleAttribute(SingleAttribute::new("object_type".to_string(), "???".to_string())), - NameCreationStrategy::SingleAttribute(SingleAttribute::new("object_id".to_string(), "???".to_string())), + "object_id".to_string(), Some("ocel_action".to_string()), Some("ocel_related_objects".to_string()) ), From e93222923c08788bbecd038774e556d274799ed8 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Thu, 9 Oct 2025 11:09:59 +0300 Subject: [PATCH 097/189] Add OCEL annotation to models --- Ficus/protos/pipelines_and_context.proto | 20 + .../Npm/src/protos/backend_service.ts | 4 + .../Npm/src/protos/context_values_service.ts | 4 + .../Npm/src/protos/ficus/GrpcContextValue.ts | 7 +- .../Npm/src/protos/front_contract.ts | 4 + .../Npm/src/protos/kafka_service.ts | 4 + .../Npm/src/protos/pipelines_and_context.ts | 4 + .../go/grpcmodels/pipelines_and_context.pb.go | 966 +++++++++++------- .../models/pipelines_and_context_pb2.py | 272 ++--- .../models/pipelines_and_context_pb2.pyi | 36 +- Ficus/src/rust/ficus/src/grpc/converters.rs | 3 +- 11 files changed, 829 insertions(+), 495 deletions(-) diff --git a/Ficus/protos/pipelines_and_context.proto b/Ficus/protos/pipelines_and_context.proto index b9c913910..f4d1dfe98 100644 --- a/Ficus/protos/pipelines_and_context.proto +++ b/Ficus/protos/pipelines_and_context.proto @@ -45,9 +45,29 @@ message GrpcContextValue { GrpcUintArray uint_array = 24; string json = 25; GrpcSimpleEventLog event_log = 26; + GrpcOcelModelAnnotation ocel_annotation = 27; } } +message GrpcOcelModelAnnotation { + repeated GrpcModelElementOcelAnnotation annotations = 1; +} + +message GrpcModelElementOcelAnnotation { + uint64 element_id = 1; + GrpcOcelState initial_state = 2; + GrpcOcelState final_state = 3; +} + +message GrpcOcelState { + repeated GrpcOcelObjectTypeState type_states = 1; +} + +message GrpcOcelObjectTypeState { + string type = 1; + repeated string object_ids = 2; +} + message GrpcFloatArray { repeated double items = 1; } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/backend_service.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/backend_service.ts index bd8fe5649..785b95c87 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/backend_service.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/backend_service.ts @@ -70,6 +70,7 @@ export interface ProtoGrpcType { GrpcMergedObjectAllocation: MessageTypeDefinition GrpcMethodInliningInfo: MessageTypeDefinition GrpcMethodNameParts: MessageTypeDefinition + GrpcModelElementOcelAnnotation: MessageTypeDefinition GrpcMultithreadedFragment: MessageTypeDefinition GrpcNamesEventLog: MessageTypeDefinition GrpcNamesEventLogContextValue: MessageTypeDefinition @@ -77,6 +78,9 @@ export interface ProtoGrpcType { GrpcNodeAdditionalData: MessageTypeDefinition GrpcNodeCorrespondingTraceData: MessageTypeDefinition GrpcOcelData: MessageTypeDefinition + GrpcOcelModelAnnotation: MessageTypeDefinition + GrpcOcelObjectTypeState: MessageTypeDefinition + GrpcOcelState: MessageTypeDefinition GrpcParallelPipelinePart: MessageTypeDefinition GrpcParallelPipelineParts: MessageTypeDefinition GrpcPetriNet: MessageTypeDefinition diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/context_values_service.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/context_values_service.ts index 04821d86c..2d81a3d81 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/context_values_service.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/context_values_service.ts @@ -67,6 +67,7 @@ export interface ProtoGrpcType { GrpcMergedObjectAllocation: MessageTypeDefinition GrpcMethodInliningInfo: MessageTypeDefinition GrpcMethodNameParts: MessageTypeDefinition + GrpcModelElementOcelAnnotation: MessageTypeDefinition GrpcMultithreadedFragment: MessageTypeDefinition GrpcNamesEventLog: MessageTypeDefinition GrpcNamesEventLogContextValue: MessageTypeDefinition @@ -74,6 +75,9 @@ export interface ProtoGrpcType { GrpcNodeAdditionalData: MessageTypeDefinition GrpcNodeCorrespondingTraceData: MessageTypeDefinition GrpcOcelData: MessageTypeDefinition + GrpcOcelModelAnnotation: MessageTypeDefinition + GrpcOcelObjectTypeState: MessageTypeDefinition + GrpcOcelState: MessageTypeDefinition GrpcParallelPipelinePart: MessageTypeDefinition GrpcParallelPipelineParts: MessageTypeDefinition GrpcPetriNet: MessageTypeDefinition diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcContextValue.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcContextValue.ts index 167041bb8..fb8cedc88 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcContextValue.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcContextValue.ts @@ -20,6 +20,7 @@ import type { GrpcFloatArray_DONTUSE as _ficus_GrpcFloatArray_DONTUSE, GrpcFloat import type { GrpcIntArray_DONTUSE as _ficus_GrpcIntArray_DONTUSE, GrpcIntArray as _ficus_GrpcIntArray } from '../ficus/GrpcIntArray'; import type { GrpcUintArray_DONTUSE as _ficus_GrpcUintArray_DONTUSE, GrpcUintArray as _ficus_GrpcUintArray } from '../ficus/GrpcUintArray'; import type { GrpcSimpleEventLog_DONTUSE as _ficus_GrpcSimpleEventLog_DONTUSE, GrpcSimpleEventLog as _ficus_GrpcSimpleEventLog } from '../ficus/GrpcSimpleEventLog'; +import type { GrpcOcelModelAnnotation_DONTUSE as _ficus_GrpcOcelModelAnnotation_DONTUSE, GrpcOcelModelAnnotation as _ficus_GrpcOcelModelAnnotation } from '../ficus/GrpcOcelModelAnnotation'; export interface GrpcContextValue_DONTUSE { 'string'?: (string); @@ -48,7 +49,8 @@ export interface GrpcContextValue_DONTUSE { 'uintArray'?: (_ficus_GrpcUintArray_DONTUSE | null); 'json'?: (string); 'eventLog'?: (_ficus_GrpcSimpleEventLog_DONTUSE | null); - 'contextValue'?: "string"|"hashesLog"|"namesLog"|"uint32"|"tracesSubArrays"|"traceIndexSubArrays"|"bool"|"xesEventLog"|"colorsLog"|"enum"|"eventLogInfo"|"strings"|"pipeline"|"petriNet"|"graph"|"float"|"annotation"|"dataset"|"labeledDataset"|"bytes"|"logTimelineDiagram"|"floatArray"|"intArray"|"uintArray"|"json"|"eventLog"; + 'ocelAnnotation'?: (_ficus_GrpcOcelModelAnnotation_DONTUSE | null); + 'contextValue'?: "string"|"hashesLog"|"namesLog"|"uint32"|"tracesSubArrays"|"traceIndexSubArrays"|"bool"|"xesEventLog"|"colorsLog"|"enum"|"eventLogInfo"|"strings"|"pipeline"|"petriNet"|"graph"|"float"|"annotation"|"dataset"|"labeledDataset"|"bytes"|"logTimelineDiagram"|"floatArray"|"intArray"|"uintArray"|"json"|"eventLog"|"ocelAnnotation"; } export interface GrpcContextValue { @@ -78,5 +80,6 @@ export interface GrpcContextValue { 'uintArray'?: (_ficus_GrpcUintArray | null); 'json'?: (string); 'eventLog'?: (_ficus_GrpcSimpleEventLog | null); - 'contextValue': "string"|"hashesLog"|"namesLog"|"uint32"|"tracesSubArrays"|"traceIndexSubArrays"|"bool"|"xesEventLog"|"colorsLog"|"enum"|"eventLogInfo"|"strings"|"pipeline"|"petriNet"|"graph"|"float"|"annotation"|"dataset"|"labeledDataset"|"bytes"|"logTimelineDiagram"|"floatArray"|"intArray"|"uintArray"|"json"|"eventLog"; + 'ocelAnnotation'?: (_ficus_GrpcOcelModelAnnotation | null); + 'contextValue': "string"|"hashesLog"|"namesLog"|"uint32"|"tracesSubArrays"|"traceIndexSubArrays"|"bool"|"xesEventLog"|"colorsLog"|"enum"|"eventLogInfo"|"strings"|"pipeline"|"petriNet"|"graph"|"float"|"annotation"|"dataset"|"labeledDataset"|"bytes"|"logTimelineDiagram"|"floatArray"|"intArray"|"uintArray"|"json"|"eventLog"|"ocelAnnotation"; } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/front_contract.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/front_contract.ts index 075462245..5d1b67da4 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/front_contract.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/front_contract.ts @@ -69,6 +69,7 @@ export interface ProtoGrpcType { GrpcMergedObjectAllocation: MessageTypeDefinition GrpcMethodInliningInfo: MessageTypeDefinition GrpcMethodNameParts: MessageTypeDefinition + GrpcModelElementOcelAnnotation: MessageTypeDefinition GrpcMultithreadedFragment: MessageTypeDefinition GrpcNamesEventLog: MessageTypeDefinition GrpcNamesEventLogContextValue: MessageTypeDefinition @@ -76,6 +77,9 @@ export interface ProtoGrpcType { GrpcNodeAdditionalData: MessageTypeDefinition GrpcNodeCorrespondingTraceData: MessageTypeDefinition GrpcOcelData: MessageTypeDefinition + GrpcOcelModelAnnotation: MessageTypeDefinition + GrpcOcelObjectTypeState: MessageTypeDefinition + GrpcOcelState: MessageTypeDefinition GrpcParallelPipelinePart: MessageTypeDefinition GrpcParallelPipelineParts: MessageTypeDefinition GrpcPetriNet: MessageTypeDefinition diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/kafka_service.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/kafka_service.ts index e9e4f460b..f168cbccc 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/kafka_service.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/kafka_service.ts @@ -84,6 +84,7 @@ export interface ProtoGrpcType { GrpcMergedObjectAllocation: MessageTypeDefinition GrpcMethodInliningInfo: MessageTypeDefinition GrpcMethodNameParts: MessageTypeDefinition + GrpcModelElementOcelAnnotation: MessageTypeDefinition GrpcMultithreadedFragment: MessageTypeDefinition GrpcNamesEventLog: MessageTypeDefinition GrpcNamesEventLogContextValue: MessageTypeDefinition @@ -91,6 +92,9 @@ export interface ProtoGrpcType { GrpcNodeAdditionalData: MessageTypeDefinition GrpcNodeCorrespondingTraceData: MessageTypeDefinition GrpcOcelData: MessageTypeDefinition + GrpcOcelModelAnnotation: MessageTypeDefinition + GrpcOcelObjectTypeState: MessageTypeDefinition + GrpcOcelState: MessageTypeDefinition GrpcParallelPipelinePart: MessageTypeDefinition GrpcParallelPipelineParts: MessageTypeDefinition GrpcPetriNet: MessageTypeDefinition diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/pipelines_and_context.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/pipelines_and_context.ts index 8a9bcd246..f19acecdb 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/pipelines_and_context.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/pipelines_and_context.ts @@ -63,6 +63,7 @@ export interface ProtoGrpcType { GrpcMergedObjectAllocation: MessageTypeDefinition GrpcMethodInliningInfo: MessageTypeDefinition GrpcMethodNameParts: MessageTypeDefinition + GrpcModelElementOcelAnnotation: MessageTypeDefinition GrpcMultithreadedFragment: MessageTypeDefinition GrpcNamesEventLog: MessageTypeDefinition GrpcNamesEventLogContextValue: MessageTypeDefinition @@ -70,6 +71,9 @@ export interface ProtoGrpcType { GrpcNodeAdditionalData: MessageTypeDefinition GrpcNodeCorrespondingTraceData: MessageTypeDefinition GrpcOcelData: MessageTypeDefinition + GrpcOcelModelAnnotation: MessageTypeDefinition + GrpcOcelObjectTypeState: MessageTypeDefinition + GrpcOcelState: MessageTypeDefinition GrpcParallelPipelinePart: MessageTypeDefinition GrpcParallelPipelineParts: MessageTypeDefinition GrpcPetriNet: MessageTypeDefinition diff --git a/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go b/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go index 633c19f3a..9331becde 100644 --- a/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go +++ b/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go @@ -322,6 +322,7 @@ type GrpcContextValue struct { // *GrpcContextValue_UintArray // *GrpcContextValue_Json // *GrpcContextValue_EventLog + // *GrpcContextValue_OcelAnnotation ContextValue isGrpcContextValue_ContextValue `protobuf_oneof:"contextValue"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -598,6 +599,15 @@ func (x *GrpcContextValue) GetEventLog() *GrpcSimpleEventLog { return nil } +func (x *GrpcContextValue) GetOcelAnnotation() *GrpcOcelModelAnnotation { + if x != nil { + if x, ok := x.ContextValue.(*GrpcContextValue_OcelAnnotation); ok { + return x.OcelAnnotation + } + } + return nil +} + type isGrpcContextValue_ContextValue interface { isGrpcContextValue_ContextValue() } @@ -706,6 +716,10 @@ type GrpcContextValue_EventLog struct { EventLog *GrpcSimpleEventLog `protobuf:"bytes,26,opt,name=event_log,json=eventLog,proto3,oneof"` } +type GrpcContextValue_OcelAnnotation struct { + OcelAnnotation *GrpcOcelModelAnnotation `protobuf:"bytes,27,opt,name=ocel_annotation,json=ocelAnnotation,proto3,oneof"` +} + func (*GrpcContextValue_String_) isGrpcContextValue_ContextValue() {} func (*GrpcContextValue_HashesLog) isGrpcContextValue_ContextValue() {} @@ -758,6 +772,208 @@ func (*GrpcContextValue_Json) isGrpcContextValue_ContextValue() {} func (*GrpcContextValue_EventLog) isGrpcContextValue_ContextValue() {} +func (*GrpcContextValue_OcelAnnotation) isGrpcContextValue_ContextValue() {} + +type GrpcOcelModelAnnotation struct { + state protoimpl.MessageState `protogen:"open.v1"` + Annotations []*GrpcModelElementOcelAnnotation `protobuf:"bytes,1,rep,name=annotations,proto3" json:"annotations,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrpcOcelModelAnnotation) Reset() { + *x = GrpcOcelModelAnnotation{} + mi := &file_pipelines_and_context_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrpcOcelModelAnnotation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrpcOcelModelAnnotation) ProtoMessage() {} + +func (x *GrpcOcelModelAnnotation) ProtoReflect() protoreflect.Message { + mi := &file_pipelines_and_context_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrpcOcelModelAnnotation.ProtoReflect.Descriptor instead. +func (*GrpcOcelModelAnnotation) Descriptor() ([]byte, []int) { + return file_pipelines_and_context_proto_rawDescGZIP(), []int{3} +} + +func (x *GrpcOcelModelAnnotation) GetAnnotations() []*GrpcModelElementOcelAnnotation { + if x != nil { + return x.Annotations + } + return nil +} + +type GrpcModelElementOcelAnnotation struct { + state protoimpl.MessageState `protogen:"open.v1"` + ElementId uint64 `protobuf:"varint,1,opt,name=element_id,json=elementId,proto3" json:"element_id,omitempty"` + InitialState *GrpcOcelState `protobuf:"bytes,2,opt,name=initial_state,json=initialState,proto3" json:"initial_state,omitempty"` + FinalState *GrpcOcelState `protobuf:"bytes,3,opt,name=final_state,json=finalState,proto3" json:"final_state,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrpcModelElementOcelAnnotation) Reset() { + *x = GrpcModelElementOcelAnnotation{} + mi := &file_pipelines_and_context_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrpcModelElementOcelAnnotation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrpcModelElementOcelAnnotation) ProtoMessage() {} + +func (x *GrpcModelElementOcelAnnotation) ProtoReflect() protoreflect.Message { + mi := &file_pipelines_and_context_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrpcModelElementOcelAnnotation.ProtoReflect.Descriptor instead. +func (*GrpcModelElementOcelAnnotation) Descriptor() ([]byte, []int) { + return file_pipelines_and_context_proto_rawDescGZIP(), []int{4} +} + +func (x *GrpcModelElementOcelAnnotation) GetElementId() uint64 { + if x != nil { + return x.ElementId + } + return 0 +} + +func (x *GrpcModelElementOcelAnnotation) GetInitialState() *GrpcOcelState { + if x != nil { + return x.InitialState + } + return nil +} + +func (x *GrpcModelElementOcelAnnotation) GetFinalState() *GrpcOcelState { + if x != nil { + return x.FinalState + } + return nil +} + +type GrpcOcelState struct { + state protoimpl.MessageState `protogen:"open.v1"` + TypeStates []*GrpcOcelObjectTypeState `protobuf:"bytes,1,rep,name=type_states,json=typeStates,proto3" json:"type_states,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrpcOcelState) Reset() { + *x = GrpcOcelState{} + mi := &file_pipelines_and_context_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrpcOcelState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrpcOcelState) ProtoMessage() {} + +func (x *GrpcOcelState) ProtoReflect() protoreflect.Message { + mi := &file_pipelines_and_context_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrpcOcelState.ProtoReflect.Descriptor instead. +func (*GrpcOcelState) Descriptor() ([]byte, []int) { + return file_pipelines_and_context_proto_rawDescGZIP(), []int{5} +} + +func (x *GrpcOcelState) GetTypeStates() []*GrpcOcelObjectTypeState { + if x != nil { + return x.TypeStates + } + return nil +} + +type GrpcOcelObjectTypeState struct { + state protoimpl.MessageState `protogen:"open.v1"` + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + ObjectIds []string `protobuf:"bytes,2,rep,name=object_ids,json=objectIds,proto3" json:"object_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrpcOcelObjectTypeState) Reset() { + *x = GrpcOcelObjectTypeState{} + mi := &file_pipelines_and_context_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrpcOcelObjectTypeState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrpcOcelObjectTypeState) ProtoMessage() {} + +func (x *GrpcOcelObjectTypeState) ProtoReflect() protoreflect.Message { + mi := &file_pipelines_and_context_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrpcOcelObjectTypeState.ProtoReflect.Descriptor instead. +func (*GrpcOcelObjectTypeState) Descriptor() ([]byte, []int) { + return file_pipelines_and_context_proto_rawDescGZIP(), []int{6} +} + +func (x *GrpcOcelObjectTypeState) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *GrpcOcelObjectTypeState) GetObjectIds() []string { + if x != nil { + return x.ObjectIds + } + return nil +} + type GrpcFloatArray struct { state protoimpl.MessageState `protogen:"open.v1"` Items []float64 `protobuf:"fixed64,1,rep,packed,name=items,proto3" json:"items,omitempty"` @@ -767,7 +983,7 @@ type GrpcFloatArray struct { func (x *GrpcFloatArray) Reset() { *x = GrpcFloatArray{} - mi := &file_pipelines_and_context_proto_msgTypes[3] + mi := &file_pipelines_and_context_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -779,7 +995,7 @@ func (x *GrpcFloatArray) String() string { func (*GrpcFloatArray) ProtoMessage() {} func (x *GrpcFloatArray) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[3] + mi := &file_pipelines_and_context_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -792,7 +1008,7 @@ func (x *GrpcFloatArray) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcFloatArray.ProtoReflect.Descriptor instead. func (*GrpcFloatArray) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{3} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{7} } func (x *GrpcFloatArray) GetItems() []float64 { @@ -811,7 +1027,7 @@ type GrpcIntArray struct { func (x *GrpcIntArray) Reset() { *x = GrpcIntArray{} - mi := &file_pipelines_and_context_proto_msgTypes[4] + mi := &file_pipelines_and_context_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -823,7 +1039,7 @@ func (x *GrpcIntArray) String() string { func (*GrpcIntArray) ProtoMessage() {} func (x *GrpcIntArray) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[4] + mi := &file_pipelines_and_context_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -836,7 +1052,7 @@ func (x *GrpcIntArray) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcIntArray.ProtoReflect.Descriptor instead. func (*GrpcIntArray) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{4} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{8} } func (x *GrpcIntArray) GetItems() []int64 { @@ -855,7 +1071,7 @@ type GrpcUintArray struct { func (x *GrpcUintArray) Reset() { *x = GrpcUintArray{} - mi := &file_pipelines_and_context_proto_msgTypes[5] + mi := &file_pipelines_and_context_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -867,7 +1083,7 @@ func (x *GrpcUintArray) String() string { func (*GrpcUintArray) ProtoMessage() {} func (x *GrpcUintArray) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[5] + mi := &file_pipelines_and_context_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -880,7 +1096,7 @@ func (x *GrpcUintArray) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcUintArray.ProtoReflect.Descriptor instead. func (*GrpcUintArray) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{5} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{9} } func (x *GrpcUintArray) GetItems() []uint64 { @@ -900,7 +1116,7 @@ type GrpcContextKeyValue struct { func (x *GrpcContextKeyValue) Reset() { *x = GrpcContextKeyValue{} - mi := &file_pipelines_and_context_proto_msgTypes[6] + mi := &file_pipelines_and_context_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -912,7 +1128,7 @@ func (x *GrpcContextKeyValue) String() string { func (*GrpcContextKeyValue) ProtoMessage() {} func (x *GrpcContextKeyValue) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[6] + mi := &file_pipelines_and_context_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -925,7 +1141,7 @@ func (x *GrpcContextKeyValue) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcContextKeyValue.ProtoReflect.Descriptor instead. func (*GrpcContextKeyValue) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{6} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{10} } func (x *GrpcContextKeyValue) GetKey() *GrpcContextKey { @@ -951,7 +1167,7 @@ type GrpcHashesEventLogContextValue struct { func (x *GrpcHashesEventLogContextValue) Reset() { *x = GrpcHashesEventLogContextValue{} - mi := &file_pipelines_and_context_proto_msgTypes[7] + mi := &file_pipelines_and_context_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -963,7 +1179,7 @@ func (x *GrpcHashesEventLogContextValue) String() string { func (*GrpcHashesEventLogContextValue) ProtoMessage() {} func (x *GrpcHashesEventLogContextValue) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[7] + mi := &file_pipelines_and_context_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -976,7 +1192,7 @@ func (x *GrpcHashesEventLogContextValue) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcHashesEventLogContextValue.ProtoReflect.Descriptor instead. func (*GrpcHashesEventLogContextValue) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{7} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{11} } func (x *GrpcHashesEventLogContextValue) GetLog() *GrpcHashesEventLog { @@ -995,7 +1211,7 @@ type GrpcNamesEventLogContextValue struct { func (x *GrpcNamesEventLogContextValue) Reset() { *x = GrpcNamesEventLogContextValue{} - mi := &file_pipelines_and_context_proto_msgTypes[8] + mi := &file_pipelines_and_context_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1007,7 +1223,7 @@ func (x *GrpcNamesEventLogContextValue) String() string { func (*GrpcNamesEventLogContextValue) ProtoMessage() {} func (x *GrpcNamesEventLogContextValue) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[8] + mi := &file_pipelines_and_context_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1020,7 +1236,7 @@ func (x *GrpcNamesEventLogContextValue) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcNamesEventLogContextValue.ProtoReflect.Descriptor instead. func (*GrpcNamesEventLogContextValue) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{8} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{12} } func (x *GrpcNamesEventLogContextValue) GetLog() *GrpcNamesEventLog { @@ -1039,7 +1255,7 @@ type GrpcEventLogTraceSubArraysContextValue struct { func (x *GrpcEventLogTraceSubArraysContextValue) Reset() { *x = GrpcEventLogTraceSubArraysContextValue{} - mi := &file_pipelines_and_context_proto_msgTypes[9] + mi := &file_pipelines_and_context_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1051,7 +1267,7 @@ func (x *GrpcEventLogTraceSubArraysContextValue) String() string { func (*GrpcEventLogTraceSubArraysContextValue) ProtoMessage() {} func (x *GrpcEventLogTraceSubArraysContextValue) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[9] + mi := &file_pipelines_and_context_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1064,7 +1280,7 @@ func (x *GrpcEventLogTraceSubArraysContextValue) ProtoReflect() protoreflect.Mes // Deprecated: Use GrpcEventLogTraceSubArraysContextValue.ProtoReflect.Descriptor instead. func (*GrpcEventLogTraceSubArraysContextValue) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{9} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{13} } func (x *GrpcEventLogTraceSubArraysContextValue) GetTracesSubArrays() []*GrpcTraceSubArrays { @@ -1084,7 +1300,7 @@ type GrpcTraceSubArray struct { func (x *GrpcTraceSubArray) Reset() { *x = GrpcTraceSubArray{} - mi := &file_pipelines_and_context_proto_msgTypes[10] + mi := &file_pipelines_and_context_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1096,7 +1312,7 @@ func (x *GrpcTraceSubArray) String() string { func (*GrpcTraceSubArray) ProtoMessage() {} func (x *GrpcTraceSubArray) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[10] + mi := &file_pipelines_and_context_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1109,7 +1325,7 @@ func (x *GrpcTraceSubArray) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcTraceSubArray.ProtoReflect.Descriptor instead. func (*GrpcTraceSubArray) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{10} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{14} } func (x *GrpcTraceSubArray) GetStart() uint32 { @@ -1135,7 +1351,7 @@ type GrpcTraceSubArrays struct { func (x *GrpcTraceSubArrays) Reset() { *x = GrpcTraceSubArrays{} - mi := &file_pipelines_and_context_proto_msgTypes[11] + mi := &file_pipelines_and_context_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1147,7 +1363,7 @@ func (x *GrpcTraceSubArrays) String() string { func (*GrpcTraceSubArrays) ProtoMessage() {} func (x *GrpcTraceSubArrays) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[11] + mi := &file_pipelines_and_context_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1160,7 +1376,7 @@ func (x *GrpcTraceSubArrays) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcTraceSubArrays.ProtoReflect.Descriptor instead. func (*GrpcTraceSubArrays) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{11} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{15} } func (x *GrpcTraceSubArrays) GetSubArrays() []*GrpcTraceSubArray { @@ -1180,7 +1396,7 @@ type GrpcSubArrayWithTraceIndex struct { func (x *GrpcSubArrayWithTraceIndex) Reset() { *x = GrpcSubArrayWithTraceIndex{} - mi := &file_pipelines_and_context_proto_msgTypes[12] + mi := &file_pipelines_and_context_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1192,7 +1408,7 @@ func (x *GrpcSubArrayWithTraceIndex) String() string { func (*GrpcSubArrayWithTraceIndex) ProtoMessage() {} func (x *GrpcSubArrayWithTraceIndex) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[12] + mi := &file_pipelines_and_context_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1205,7 +1421,7 @@ func (x *GrpcSubArrayWithTraceIndex) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcSubArrayWithTraceIndex.ProtoReflect.Descriptor instead. func (*GrpcSubArrayWithTraceIndex) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{12} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{16} } func (x *GrpcSubArrayWithTraceIndex) GetSubArray() *GrpcTraceSubArray { @@ -1231,7 +1447,7 @@ type GrpcSubArraysWithTraceIndexContextValue struct { func (x *GrpcSubArraysWithTraceIndexContextValue) Reset() { *x = GrpcSubArraysWithTraceIndexContextValue{} - mi := &file_pipelines_and_context_proto_msgTypes[13] + mi := &file_pipelines_and_context_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1243,7 +1459,7 @@ func (x *GrpcSubArraysWithTraceIndexContextValue) String() string { func (*GrpcSubArraysWithTraceIndexContextValue) ProtoMessage() {} func (x *GrpcSubArraysWithTraceIndexContextValue) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[13] + mi := &file_pipelines_and_context_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1256,7 +1472,7 @@ func (x *GrpcSubArraysWithTraceIndexContextValue) ProtoReflect() protoreflect.Me // Deprecated: Use GrpcSubArraysWithTraceIndexContextValue.ProtoReflect.Descriptor instead. func (*GrpcSubArraysWithTraceIndexContextValue) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{13} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{17} } func (x *GrpcSubArraysWithTraceIndexContextValue) GetSubArrays() []*GrpcSubArrayWithTraceIndex { @@ -1277,7 +1493,7 @@ type GrpcColorsEventLog struct { func (x *GrpcColorsEventLog) Reset() { *x = GrpcColorsEventLog{} - mi := &file_pipelines_and_context_proto_msgTypes[14] + mi := &file_pipelines_and_context_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1289,7 +1505,7 @@ func (x *GrpcColorsEventLog) String() string { func (*GrpcColorsEventLog) ProtoMessage() {} func (x *GrpcColorsEventLog) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[14] + mi := &file_pipelines_and_context_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1302,7 +1518,7 @@ func (x *GrpcColorsEventLog) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcColorsEventLog.ProtoReflect.Descriptor instead. func (*GrpcColorsEventLog) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{14} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{18} } func (x *GrpcColorsEventLog) GetMapping() []*GrpcColorsEventLogMapping { @@ -1339,7 +1555,7 @@ type GrpcColorsLogAdjustment struct { func (x *GrpcColorsLogAdjustment) Reset() { *x = GrpcColorsLogAdjustment{} - mi := &file_pipelines_and_context_proto_msgTypes[15] + mi := &file_pipelines_and_context_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1351,7 +1567,7 @@ func (x *GrpcColorsLogAdjustment) String() string { func (*GrpcColorsLogAdjustment) ProtoMessage() {} func (x *GrpcColorsLogAdjustment) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[15] + mi := &file_pipelines_and_context_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1364,7 +1580,7 @@ func (x *GrpcColorsLogAdjustment) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcColorsLogAdjustment.ProtoReflect.Descriptor instead. func (*GrpcColorsLogAdjustment) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{15} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{19} } func (x *GrpcColorsLogAdjustment) GetSelection() isGrpcColorsLogAdjustment_Selection { @@ -1419,7 +1635,7 @@ type GrpcColorsLogRectangleAdjustment struct { func (x *GrpcColorsLogRectangleAdjustment) Reset() { *x = GrpcColorsLogRectangleAdjustment{} - mi := &file_pipelines_and_context_proto_msgTypes[16] + mi := &file_pipelines_and_context_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1431,7 +1647,7 @@ func (x *GrpcColorsLogRectangleAdjustment) String() string { func (*GrpcColorsLogRectangleAdjustment) ProtoMessage() {} func (x *GrpcColorsLogRectangleAdjustment) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[16] + mi := &file_pipelines_and_context_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1444,7 +1660,7 @@ func (x *GrpcColorsLogRectangleAdjustment) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcColorsLogRectangleAdjustment.ProtoReflect.Descriptor instead. func (*GrpcColorsLogRectangleAdjustment) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{16} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{20} } func (x *GrpcColorsLogRectangleAdjustment) GetUpLeftPoint() *GrpcLogPoint { @@ -1478,7 +1694,7 @@ type GrpcLogPoint struct { func (x *GrpcLogPoint) Reset() { *x = GrpcLogPoint{} - mi := &file_pipelines_and_context_proto_msgTypes[17] + mi := &file_pipelines_and_context_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1490,7 +1706,7 @@ func (x *GrpcLogPoint) String() string { func (*GrpcLogPoint) ProtoMessage() {} func (x *GrpcLogPoint) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[17] + mi := &file_pipelines_and_context_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1503,7 +1719,7 @@ func (x *GrpcLogPoint) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcLogPoint.ProtoReflect.Descriptor instead. func (*GrpcLogPoint) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{17} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{21} } func (x *GrpcLogPoint) GetTraceIndex() uint64 { @@ -1529,7 +1745,7 @@ type GrpcColorsLogXAxisAfterTraceAdjustment struct { func (x *GrpcColorsLogXAxisAfterTraceAdjustment) Reset() { *x = GrpcColorsLogXAxisAfterTraceAdjustment{} - mi := &file_pipelines_and_context_proto_msgTypes[18] + mi := &file_pipelines_and_context_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1541,7 +1757,7 @@ func (x *GrpcColorsLogXAxisAfterTraceAdjustment) String() string { func (*GrpcColorsLogXAxisAfterTraceAdjustment) ProtoMessage() {} func (x *GrpcColorsLogXAxisAfterTraceAdjustment) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[18] + mi := &file_pipelines_and_context_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1554,7 +1770,7 @@ func (x *GrpcColorsLogXAxisAfterTraceAdjustment) ProtoReflect() protoreflect.Mes // Deprecated: Use GrpcColorsLogXAxisAfterTraceAdjustment.ProtoReflect.Descriptor instead. func (*GrpcColorsLogXAxisAfterTraceAdjustment) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{18} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{22} } func (x *GrpcColorsLogXAxisAfterTraceAdjustment) GetTraceIndex() uint64 { @@ -1574,7 +1790,7 @@ type GrpcColorsEventLogMapping struct { func (x *GrpcColorsEventLogMapping) Reset() { *x = GrpcColorsEventLogMapping{} - mi := &file_pipelines_and_context_proto_msgTypes[19] + mi := &file_pipelines_and_context_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1586,7 +1802,7 @@ func (x *GrpcColorsEventLogMapping) String() string { func (*GrpcColorsEventLogMapping) ProtoMessage() {} func (x *GrpcColorsEventLogMapping) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[19] + mi := &file_pipelines_and_context_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1599,7 +1815,7 @@ func (x *GrpcColorsEventLogMapping) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcColorsEventLogMapping.ProtoReflect.Descriptor instead. func (*GrpcColorsEventLogMapping) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{19} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{23} } func (x *GrpcColorsEventLogMapping) GetName() string { @@ -1626,7 +1842,7 @@ type GrpcColorsTrace struct { func (x *GrpcColorsTrace) Reset() { *x = GrpcColorsTrace{} - mi := &file_pipelines_and_context_proto_msgTypes[20] + mi := &file_pipelines_and_context_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1638,7 +1854,7 @@ func (x *GrpcColorsTrace) String() string { func (*GrpcColorsTrace) ProtoMessage() {} func (x *GrpcColorsTrace) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[20] + mi := &file_pipelines_and_context_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1651,7 +1867,7 @@ func (x *GrpcColorsTrace) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcColorsTrace.ProtoReflect.Descriptor instead. func (*GrpcColorsTrace) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{20} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{24} } func (x *GrpcColorsTrace) GetEventColors() []*GrpcColoredRectangle { @@ -1679,7 +1895,7 @@ type GrpcColoredRectangle struct { func (x *GrpcColoredRectangle) Reset() { *x = GrpcColoredRectangle{} - mi := &file_pipelines_and_context_proto_msgTypes[21] + mi := &file_pipelines_and_context_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1691,7 +1907,7 @@ func (x *GrpcColoredRectangle) String() string { func (*GrpcColoredRectangle) ProtoMessage() {} func (x *GrpcColoredRectangle) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[21] + mi := &file_pipelines_and_context_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1704,7 +1920,7 @@ func (x *GrpcColoredRectangle) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcColoredRectangle.ProtoReflect.Descriptor instead. func (*GrpcColoredRectangle) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{21} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{25} } func (x *GrpcColoredRectangle) GetColorIndex() uint32 { @@ -1738,7 +1954,7 @@ type GrpcEnum struct { func (x *GrpcEnum) Reset() { *x = GrpcEnum{} - mi := &file_pipelines_and_context_proto_msgTypes[22] + mi := &file_pipelines_and_context_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1750,7 +1966,7 @@ func (x *GrpcEnum) String() string { func (*GrpcEnum) ProtoMessage() {} func (x *GrpcEnum) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[22] + mi := &file_pipelines_and_context_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1763,7 +1979,7 @@ func (x *GrpcEnum) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcEnum.ProtoReflect.Descriptor instead. func (*GrpcEnum) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{22} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{26} } func (x *GrpcEnum) GetEnumType() string { @@ -1791,7 +2007,7 @@ type GrpcEventLogInfo struct { func (x *GrpcEventLogInfo) Reset() { *x = GrpcEventLogInfo{} - mi := &file_pipelines_and_context_proto_msgTypes[23] + mi := &file_pipelines_and_context_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1803,7 +2019,7 @@ func (x *GrpcEventLogInfo) String() string { func (*GrpcEventLogInfo) ProtoMessage() {} func (x *GrpcEventLogInfo) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[23] + mi := &file_pipelines_and_context_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1816,7 +2032,7 @@ func (x *GrpcEventLogInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcEventLogInfo.ProtoReflect.Descriptor instead. func (*GrpcEventLogInfo) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{23} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{27} } func (x *GrpcEventLogInfo) GetEventsCount() uint32 { @@ -1849,7 +2065,7 @@ type GrpcStrings struct { func (x *GrpcStrings) Reset() { *x = GrpcStrings{} - mi := &file_pipelines_and_context_proto_msgTypes[24] + mi := &file_pipelines_and_context_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1861,7 +2077,7 @@ func (x *GrpcStrings) String() string { func (*GrpcStrings) ProtoMessage() {} func (x *GrpcStrings) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[24] + mi := &file_pipelines_and_context_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1874,7 +2090,7 @@ func (x *GrpcStrings) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcStrings.ProtoReflect.Descriptor instead. func (*GrpcStrings) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{24} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{28} } func (x *GrpcStrings) GetStrings() []string { @@ -1893,7 +2109,7 @@ type GrpcPipeline struct { func (x *GrpcPipeline) Reset() { *x = GrpcPipeline{} - mi := &file_pipelines_and_context_proto_msgTypes[25] + mi := &file_pipelines_and_context_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1905,7 +2121,7 @@ func (x *GrpcPipeline) String() string { func (*GrpcPipeline) ProtoMessage() {} func (x *GrpcPipeline) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[25] + mi := &file_pipelines_and_context_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1918,7 +2134,7 @@ func (x *GrpcPipeline) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcPipeline.ProtoReflect.Descriptor instead. func (*GrpcPipeline) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{25} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{29} } func (x *GrpcPipeline) GetParts() []*GrpcPipelinePartBase { @@ -1943,7 +2159,7 @@ type GrpcPipelinePartBase struct { func (x *GrpcPipelinePartBase) Reset() { *x = GrpcPipelinePartBase{} - mi := &file_pipelines_and_context_proto_msgTypes[26] + mi := &file_pipelines_and_context_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1955,7 +2171,7 @@ func (x *GrpcPipelinePartBase) String() string { func (*GrpcPipelinePartBase) ProtoMessage() {} func (x *GrpcPipelinePartBase) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[26] + mi := &file_pipelines_and_context_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1968,7 +2184,7 @@ func (x *GrpcPipelinePartBase) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcPipelinePartBase.ProtoReflect.Descriptor instead. func (*GrpcPipelinePartBase) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{26} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{30} } func (x *GrpcPipelinePartBase) GetPart() isGrpcPipelinePartBase_Part { @@ -2052,7 +2268,7 @@ type GrpcPipelinePart struct { func (x *GrpcPipelinePart) Reset() { *x = GrpcPipelinePart{} - mi := &file_pipelines_and_context_proto_msgTypes[27] + mi := &file_pipelines_and_context_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2064,7 +2280,7 @@ func (x *GrpcPipelinePart) String() string { func (*GrpcPipelinePart) ProtoMessage() {} func (x *GrpcPipelinePart) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[27] + mi := &file_pipelines_and_context_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2077,7 +2293,7 @@ func (x *GrpcPipelinePart) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcPipelinePart.ProtoReflect.Descriptor instead. func (*GrpcPipelinePart) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{27} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{31} } func (x *GrpcPipelinePart) GetName() string { @@ -2103,7 +2319,7 @@ type GrpcPipelinePartConfiguration struct { func (x *GrpcPipelinePartConfiguration) Reset() { *x = GrpcPipelinePartConfiguration{} - mi := &file_pipelines_and_context_proto_msgTypes[28] + mi := &file_pipelines_and_context_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2115,7 +2331,7 @@ func (x *GrpcPipelinePartConfiguration) String() string { func (*GrpcPipelinePartConfiguration) ProtoMessage() {} func (x *GrpcPipelinePartConfiguration) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[28] + mi := &file_pipelines_and_context_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2128,7 +2344,7 @@ func (x *GrpcPipelinePartConfiguration) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcPipelinePartConfiguration.ProtoReflect.Descriptor instead. func (*GrpcPipelinePartConfiguration) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{28} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{32} } func (x *GrpcPipelinePartConfiguration) GetConfigurationParameters() []*GrpcContextKeyValue { @@ -2147,7 +2363,7 @@ type GrpcParallelPipelinePart struct { func (x *GrpcParallelPipelinePart) Reset() { *x = GrpcParallelPipelinePart{} - mi := &file_pipelines_and_context_proto_msgTypes[29] + mi := &file_pipelines_and_context_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2159,7 +2375,7 @@ func (x *GrpcParallelPipelinePart) String() string { func (*GrpcParallelPipelinePart) ProtoMessage() {} func (x *GrpcParallelPipelinePart) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[29] + mi := &file_pipelines_and_context_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2172,7 +2388,7 @@ func (x *GrpcParallelPipelinePart) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcParallelPipelinePart.ProtoReflect.Descriptor instead. func (*GrpcParallelPipelinePart) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{29} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{33} } func (x *GrpcParallelPipelinePart) GetPipelineParts() []*GrpcPipelinePartBase { @@ -2191,7 +2407,7 @@ type GrpcParallelPipelineParts struct { func (x *GrpcParallelPipelineParts) Reset() { *x = GrpcParallelPipelineParts{} - mi := &file_pipelines_and_context_proto_msgTypes[30] + mi := &file_pipelines_and_context_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2203,7 +2419,7 @@ func (x *GrpcParallelPipelineParts) String() string { func (*GrpcParallelPipelineParts) ProtoMessage() {} func (x *GrpcParallelPipelineParts) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[30] + mi := &file_pipelines_and_context_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2216,7 +2432,7 @@ func (x *GrpcParallelPipelineParts) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcParallelPipelineParts.ProtoReflect.Descriptor instead. func (*GrpcParallelPipelineParts) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{30} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{34} } func (x *GrpcParallelPipelineParts) GetPipeline() []*GrpcParallelPipelinePart { @@ -2237,7 +2453,7 @@ type GrpcSimpleContextRequestPipelinePart struct { func (x *GrpcSimpleContextRequestPipelinePart) Reset() { *x = GrpcSimpleContextRequestPipelinePart{} - mi := &file_pipelines_and_context_proto_msgTypes[31] + mi := &file_pipelines_and_context_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2249,7 +2465,7 @@ func (x *GrpcSimpleContextRequestPipelinePart) String() string { func (*GrpcSimpleContextRequestPipelinePart) ProtoMessage() {} func (x *GrpcSimpleContextRequestPipelinePart) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[31] + mi := &file_pipelines_and_context_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2262,7 +2478,7 @@ func (x *GrpcSimpleContextRequestPipelinePart) ProtoReflect() protoreflect.Messa // Deprecated: Use GrpcSimpleContextRequestPipelinePart.ProtoReflect.Descriptor instead. func (*GrpcSimpleContextRequestPipelinePart) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{31} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{35} } func (x *GrpcSimpleContextRequestPipelinePart) GetKey() *GrpcContextKey { @@ -2298,7 +2514,7 @@ type GrpcComplexContextRequestPipelinePart struct { func (x *GrpcComplexContextRequestPipelinePart) Reset() { *x = GrpcComplexContextRequestPipelinePart{} - mi := &file_pipelines_and_context_proto_msgTypes[32] + mi := &file_pipelines_and_context_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2310,7 +2526,7 @@ func (x *GrpcComplexContextRequestPipelinePart) String() string { func (*GrpcComplexContextRequestPipelinePart) ProtoMessage() {} func (x *GrpcComplexContextRequestPipelinePart) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[32] + mi := &file_pipelines_and_context_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2323,7 +2539,7 @@ func (x *GrpcComplexContextRequestPipelinePart) ProtoReflect() protoreflect.Mess // Deprecated: Use GrpcComplexContextRequestPipelinePart.ProtoReflect.Descriptor instead. func (*GrpcComplexContextRequestPipelinePart) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{32} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{36} } func (x *GrpcComplexContextRequestPipelinePart) GetKeys() []*GrpcContextKey { @@ -2365,7 +2581,7 @@ type GrpcGraph struct { func (x *GrpcGraph) Reset() { *x = GrpcGraph{} - mi := &file_pipelines_and_context_proto_msgTypes[33] + mi := &file_pipelines_and_context_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2377,7 +2593,7 @@ func (x *GrpcGraph) String() string { func (*GrpcGraph) ProtoMessage() {} func (x *GrpcGraph) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[33] + mi := &file_pipelines_and_context_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2390,7 +2606,7 @@ func (x *GrpcGraph) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGraph.ProtoReflect.Descriptor instead. func (*GrpcGraph) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{33} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{37} } func (x *GrpcGraph) GetNodes() []*GrpcGraphNode { @@ -2426,7 +2642,7 @@ type GrpcGraphNode struct { func (x *GrpcGraphNode) Reset() { *x = GrpcGraphNode{} - mi := &file_pipelines_and_context_proto_msgTypes[34] + mi := &file_pipelines_and_context_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2438,7 +2654,7 @@ func (x *GrpcGraphNode) String() string { func (*GrpcGraphNode) ProtoMessage() {} func (x *GrpcGraphNode) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[34] + mi := &file_pipelines_and_context_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2451,7 +2667,7 @@ func (x *GrpcGraphNode) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGraphNode.ProtoReflect.Descriptor instead. func (*GrpcGraphNode) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{34} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{38} } func (x *GrpcGraphNode) GetId() uint64 { @@ -2501,7 +2717,7 @@ type GrpcNodeAdditionalData struct { func (x *GrpcNodeAdditionalData) Reset() { *x = GrpcNodeAdditionalData{} - mi := &file_pipelines_and_context_proto_msgTypes[35] + mi := &file_pipelines_and_context_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2513,7 +2729,7 @@ func (x *GrpcNodeAdditionalData) String() string { func (*GrpcNodeAdditionalData) ProtoMessage() {} func (x *GrpcNodeAdditionalData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[35] + mi := &file_pipelines_and_context_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2526,7 +2742,7 @@ func (x *GrpcNodeAdditionalData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcNodeAdditionalData.ProtoReflect.Descriptor instead. func (*GrpcNodeAdditionalData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{35} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{39} } func (x *GrpcNodeAdditionalData) GetData() isGrpcNodeAdditionalData_Data { @@ -2646,7 +2862,7 @@ type GrpcMultithreadedFragment struct { func (x *GrpcMultithreadedFragment) Reset() { *x = GrpcMultithreadedFragment{} - mi := &file_pipelines_and_context_proto_msgTypes[36] + mi := &file_pipelines_and_context_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2658,7 +2874,7 @@ func (x *GrpcMultithreadedFragment) String() string { func (*GrpcMultithreadedFragment) ProtoMessage() {} func (x *GrpcMultithreadedFragment) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[36] + mi := &file_pipelines_and_context_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2671,7 +2887,7 @@ func (x *GrpcMultithreadedFragment) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcMultithreadedFragment.ProtoReflect.Descriptor instead. func (*GrpcMultithreadedFragment) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{36} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{40} } func (x *GrpcMultithreadedFragment) GetMultithreadedLog() *GrpcSimpleEventLog { @@ -2691,7 +2907,7 @@ type GrpcActivityStartEndData struct { func (x *GrpcActivityStartEndData) Reset() { *x = GrpcActivityStartEndData{} - mi := &file_pipelines_and_context_proto_msgTypes[37] + mi := &file_pipelines_and_context_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2703,7 +2919,7 @@ func (x *GrpcActivityStartEndData) String() string { func (*GrpcActivityStartEndData) ProtoMessage() {} func (x *GrpcActivityStartEndData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[37] + mi := &file_pipelines_and_context_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2716,7 +2932,7 @@ func (x *GrpcActivityStartEndData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcActivityStartEndData.ProtoReflect.Descriptor instead. func (*GrpcActivityStartEndData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{37} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{41} } func (x *GrpcActivityStartEndData) GetStartTime() int64 { @@ -2743,7 +2959,7 @@ type GrpcEventCoordinates struct { func (x *GrpcEventCoordinates) Reset() { *x = GrpcEventCoordinates{} - mi := &file_pipelines_and_context_proto_msgTypes[38] + mi := &file_pipelines_and_context_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2755,7 +2971,7 @@ func (x *GrpcEventCoordinates) String() string { func (*GrpcEventCoordinates) ProtoMessage() {} func (x *GrpcEventCoordinates) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[38] + mi := &file_pipelines_and_context_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2768,7 +2984,7 @@ func (x *GrpcEventCoordinates) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcEventCoordinates.ProtoReflect.Descriptor instead. func (*GrpcEventCoordinates) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{38} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{42} } func (x *GrpcEventCoordinates) GetTraceId() uint64 { @@ -2794,7 +3010,7 @@ type GrpcNodeCorrespondingTraceData struct { func (x *GrpcNodeCorrespondingTraceData) Reset() { *x = GrpcNodeCorrespondingTraceData{} - mi := &file_pipelines_and_context_proto_msgTypes[39] + mi := &file_pipelines_and_context_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2806,7 +3022,7 @@ func (x *GrpcNodeCorrespondingTraceData) String() string { func (*GrpcNodeCorrespondingTraceData) ProtoMessage() {} func (x *GrpcNodeCorrespondingTraceData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[39] + mi := &file_pipelines_and_context_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2819,7 +3035,7 @@ func (x *GrpcNodeCorrespondingTraceData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcNodeCorrespondingTraceData.ProtoReflect.Descriptor instead. func (*GrpcNodeCorrespondingTraceData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{39} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{43} } func (x *GrpcNodeCorrespondingTraceData) GetBelongsToRootSequence() bool { @@ -2843,7 +3059,7 @@ type GrpcSoftwareData struct { func (x *GrpcSoftwareData) Reset() { *x = GrpcSoftwareData{} - mi := &file_pipelines_and_context_proto_msgTypes[40] + mi := &file_pipelines_and_context_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2855,7 +3071,7 @@ func (x *GrpcSoftwareData) String() string { func (*GrpcSoftwareData) ProtoMessage() {} func (x *GrpcSoftwareData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[40] + mi := &file_pipelines_and_context_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2868,7 +3084,7 @@ func (x *GrpcSoftwareData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcSoftwareData.ProtoReflect.Descriptor instead. func (*GrpcSoftwareData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{40} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{44} } func (x *GrpcSoftwareData) GetHistogram() []*GrpcHistogramEntry { @@ -2930,7 +3146,7 @@ type GrpcOcelData struct { func (x *GrpcOcelData) Reset() { *x = GrpcOcelData{} - mi := &file_pipelines_and_context_proto_msgTypes[41] + mi := &file_pipelines_and_context_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2942,7 +3158,7 @@ func (x *GrpcOcelData) String() string { func (*GrpcOcelData) ProtoMessage() {} func (x *GrpcOcelData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[41] + mi := &file_pipelines_and_context_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2955,7 +3171,7 @@ func (x *GrpcOcelData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcOcelData.ProtoReflect.Descriptor instead. func (*GrpcOcelData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{41} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{45} } func (x *GrpcOcelData) GetObjectType() string { @@ -3052,7 +3268,7 @@ type GrpcMergedObjectAllocation struct { func (x *GrpcMergedObjectAllocation) Reset() { *x = GrpcMergedObjectAllocation{} - mi := &file_pipelines_and_context_proto_msgTypes[42] + mi := &file_pipelines_and_context_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3064,7 +3280,7 @@ func (x *GrpcMergedObjectAllocation) String() string { func (*GrpcMergedObjectAllocation) ProtoMessage() {} func (x *GrpcMergedObjectAllocation) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[42] + mi := &file_pipelines_and_context_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3077,7 +3293,7 @@ func (x *GrpcMergedObjectAllocation) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcMergedObjectAllocation.ProtoReflect.Descriptor instead. func (*GrpcMergedObjectAllocation) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{42} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{46} } func (x *GrpcMergedObjectAllocation) GetConsumedObjectsIds() []string { @@ -3096,7 +3312,7 @@ type GrpcProduceObjectConsumption struct { func (x *GrpcProduceObjectConsumption) Reset() { *x = GrpcProduceObjectConsumption{} - mi := &file_pipelines_and_context_proto_msgTypes[43] + mi := &file_pipelines_and_context_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3108,7 +3324,7 @@ func (x *GrpcProduceObjectConsumption) String() string { func (*GrpcProduceObjectConsumption) ProtoMessage() {} func (x *GrpcProduceObjectConsumption) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[43] + mi := &file_pipelines_and_context_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3121,7 +3337,7 @@ func (x *GrpcProduceObjectConsumption) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcProduceObjectConsumption.ProtoReflect.Descriptor instead. func (*GrpcProduceObjectConsumption) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{43} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{47} } func (x *GrpcProduceObjectConsumption) GetProducedObjectsIds() []string { @@ -3142,7 +3358,7 @@ type GrpcActivityDurationData struct { func (x *GrpcActivityDurationData) Reset() { *x = GrpcActivityDurationData{} - mi := &file_pipelines_and_context_proto_msgTypes[44] + mi := &file_pipelines_and_context_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3154,7 +3370,7 @@ func (x *GrpcActivityDurationData) String() string { func (*GrpcActivityDurationData) ProtoMessage() {} func (x *GrpcActivityDurationData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[44] + mi := &file_pipelines_and_context_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3167,7 +3383,7 @@ func (x *GrpcActivityDurationData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcActivityDurationData.ProtoReflect.Descriptor instead. func (*GrpcActivityDurationData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{44} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{48} } func (x *GrpcActivityDurationData) GetBase() *GrpcGenericEnhancementBase { @@ -3202,7 +3418,7 @@ type GrpcGenericEnhancementBase struct { func (x *GrpcGenericEnhancementBase) Reset() { *x = GrpcGenericEnhancementBase{} - mi := &file_pipelines_and_context_proto_msgTypes[45] + mi := &file_pipelines_and_context_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3214,7 +3430,7 @@ func (x *GrpcGenericEnhancementBase) String() string { func (*GrpcGenericEnhancementBase) ProtoMessage() {} func (x *GrpcGenericEnhancementBase) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[45] + mi := &file_pipelines_and_context_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3227,7 +3443,7 @@ func (x *GrpcGenericEnhancementBase) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGenericEnhancementBase.ProtoReflect.Descriptor instead. func (*GrpcGenericEnhancementBase) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{45} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{49} } func (x *GrpcGenericEnhancementBase) GetName() string { @@ -3261,7 +3477,7 @@ type GrpcGeneralHistogramData struct { func (x *GrpcGeneralHistogramData) Reset() { *x = GrpcGeneralHistogramData{} - mi := &file_pipelines_and_context_proto_msgTypes[46] + mi := &file_pipelines_and_context_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3273,7 +3489,7 @@ func (x *GrpcGeneralHistogramData) String() string { func (*GrpcGeneralHistogramData) ProtoMessage() {} func (x *GrpcGeneralHistogramData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[46] + mi := &file_pipelines_and_context_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3286,7 +3502,7 @@ func (x *GrpcGeneralHistogramData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGeneralHistogramData.ProtoReflect.Descriptor instead. func (*GrpcGeneralHistogramData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{46} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{50} } func (x *GrpcGeneralHistogramData) GetBase() *GrpcGenericEnhancementBase { @@ -3313,7 +3529,7 @@ type GrpcSimpleCounterData struct { func (x *GrpcSimpleCounterData) Reset() { *x = GrpcSimpleCounterData{} - mi := &file_pipelines_and_context_proto_msgTypes[47] + mi := &file_pipelines_and_context_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3325,7 +3541,7 @@ func (x *GrpcSimpleCounterData) String() string { func (*GrpcSimpleCounterData) ProtoMessage() {} func (x *GrpcSimpleCounterData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[47] + mi := &file_pipelines_and_context_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3338,7 +3554,7 @@ func (x *GrpcSimpleCounterData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcSimpleCounterData.ProtoReflect.Descriptor instead. func (*GrpcSimpleCounterData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{47} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{51} } func (x *GrpcSimpleCounterData) GetBase() *GrpcGenericEnhancementBase { @@ -3365,7 +3581,7 @@ type GrpcMethodInliningInfo struct { func (x *GrpcMethodInliningInfo) Reset() { *x = GrpcMethodInliningInfo{} - mi := &file_pipelines_and_context_proto_msgTypes[48] + mi := &file_pipelines_and_context_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3377,7 +3593,7 @@ func (x *GrpcMethodInliningInfo) String() string { func (*GrpcMethodInliningInfo) ProtoMessage() {} func (x *GrpcMethodInliningInfo) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[48] + mi := &file_pipelines_and_context_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3390,7 +3606,7 @@ func (x *GrpcMethodInliningInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcMethodInliningInfo.ProtoReflect.Descriptor instead. func (*GrpcMethodInliningInfo) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{48} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{52} } func (x *GrpcMethodInliningInfo) GetInlineeInfo() *GrpcMethodNameParts { @@ -3418,7 +3634,7 @@ type GrpcMethodNameParts struct { func (x *GrpcMethodNameParts) Reset() { *x = GrpcMethodNameParts{} - mi := &file_pipelines_and_context_proto_msgTypes[49] + mi := &file_pipelines_and_context_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3430,7 +3646,7 @@ func (x *GrpcMethodNameParts) String() string { func (*GrpcMethodNameParts) ProtoMessage() {} func (x *GrpcMethodNameParts) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[49] + mi := &file_pipelines_and_context_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3443,7 +3659,7 @@ func (x *GrpcMethodNameParts) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcMethodNameParts.ProtoReflect.Descriptor instead. func (*GrpcMethodNameParts) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{49} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{53} } func (x *GrpcMethodNameParts) GetName() string { @@ -3477,7 +3693,7 @@ type GrpcHistogramEntry struct { func (x *GrpcHistogramEntry) Reset() { *x = GrpcHistogramEntry{} - mi := &file_pipelines_and_context_proto_msgTypes[50] + mi := &file_pipelines_and_context_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3489,7 +3705,7 @@ func (x *GrpcHistogramEntry) String() string { func (*GrpcHistogramEntry) ProtoMessage() {} func (x *GrpcHistogramEntry) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[50] + mi := &file_pipelines_and_context_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3502,7 +3718,7 @@ func (x *GrpcHistogramEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcHistogramEntry.ProtoReflect.Descriptor instead. func (*GrpcHistogramEntry) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{50} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{54} } func (x *GrpcHistogramEntry) GetName() string { @@ -3528,7 +3744,7 @@ type GrpcTimelineDiagramFragment struct { func (x *GrpcTimelineDiagramFragment) Reset() { *x = GrpcTimelineDiagramFragment{} - mi := &file_pipelines_and_context_proto_msgTypes[51] + mi := &file_pipelines_and_context_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3540,7 +3756,7 @@ func (x *GrpcTimelineDiagramFragment) String() string { func (*GrpcTimelineDiagramFragment) ProtoMessage() {} func (x *GrpcTimelineDiagramFragment) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[51] + mi := &file_pipelines_and_context_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3553,7 +3769,7 @@ func (x *GrpcTimelineDiagramFragment) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcTimelineDiagramFragment.ProtoReflect.Descriptor instead. func (*GrpcTimelineDiagramFragment) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{51} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{55} } func (x *GrpcTimelineDiagramFragment) GetThreads() []*GrpcThread { @@ -3574,7 +3790,7 @@ type GrpcAllocationInfo struct { func (x *GrpcAllocationInfo) Reset() { *x = GrpcAllocationInfo{} - mi := &file_pipelines_and_context_proto_msgTypes[52] + mi := &file_pipelines_and_context_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3586,7 +3802,7 @@ func (x *GrpcAllocationInfo) String() string { func (*GrpcAllocationInfo) ProtoMessage() {} func (x *GrpcAllocationInfo) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[52] + mi := &file_pipelines_and_context_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3599,7 +3815,7 @@ func (x *GrpcAllocationInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcAllocationInfo.ProtoReflect.Descriptor instead. func (*GrpcAllocationInfo) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{52} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{56} } func (x *GrpcAllocationInfo) GetTypeName() string { @@ -3634,7 +3850,7 @@ type GrpcUnderlyingPatternInfo struct { func (x *GrpcUnderlyingPatternInfo) Reset() { *x = GrpcUnderlyingPatternInfo{} - mi := &file_pipelines_and_context_proto_msgTypes[53] + mi := &file_pipelines_and_context_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3646,7 +3862,7 @@ func (x *GrpcUnderlyingPatternInfo) String() string { func (*GrpcUnderlyingPatternInfo) ProtoMessage() {} func (x *GrpcUnderlyingPatternInfo) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[53] + mi := &file_pipelines_and_context_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3659,7 +3875,7 @@ func (x *GrpcUnderlyingPatternInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcUnderlyingPatternInfo.ProtoReflect.Descriptor instead. func (*GrpcUnderlyingPatternInfo) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{53} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{57} } func (x *GrpcUnderlyingPatternInfo) GetPatternKind() GrpcUnderlyingPatternKind { @@ -3697,7 +3913,7 @@ type GrpcGraphEdge struct { func (x *GrpcGraphEdge) Reset() { *x = GrpcGraphEdge{} - mi := &file_pipelines_and_context_proto_msgTypes[54] + mi := &file_pipelines_and_context_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3709,7 +3925,7 @@ func (x *GrpcGraphEdge) String() string { func (*GrpcGraphEdge) ProtoMessage() {} func (x *GrpcGraphEdge) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[54] + mi := &file_pipelines_and_context_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3722,7 +3938,7 @@ func (x *GrpcGraphEdge) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGraphEdge.ProtoReflect.Descriptor instead. func (*GrpcGraphEdge) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{54} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{58} } func (x *GrpcGraphEdge) GetId() uint64 { @@ -3781,7 +3997,7 @@ type GrpcGraphEdgeAdditionalData struct { func (x *GrpcGraphEdgeAdditionalData) Reset() { *x = GrpcGraphEdgeAdditionalData{} - mi := &file_pipelines_and_context_proto_msgTypes[55] + mi := &file_pipelines_and_context_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3793,7 +4009,7 @@ func (x *GrpcGraphEdgeAdditionalData) String() string { func (*GrpcGraphEdgeAdditionalData) ProtoMessage() {} func (x *GrpcGraphEdgeAdditionalData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[55] + mi := &file_pipelines_and_context_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3806,7 +4022,7 @@ func (x *GrpcGraphEdgeAdditionalData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGraphEdgeAdditionalData.ProtoReflect.Descriptor instead. func (*GrpcGraphEdgeAdditionalData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{55} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{59} } func (x *GrpcGraphEdgeAdditionalData) GetData() isGrpcGraphEdgeAdditionalData_Data { @@ -3874,7 +4090,7 @@ type GrpcEdgeExecutionInfo struct { func (x *GrpcEdgeExecutionInfo) Reset() { *x = GrpcEdgeExecutionInfo{} - mi := &file_pipelines_and_context_proto_msgTypes[56] + mi := &file_pipelines_and_context_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3886,7 +4102,7 @@ func (x *GrpcEdgeExecutionInfo) String() string { func (*GrpcEdgeExecutionInfo) ProtoMessage() {} func (x *GrpcEdgeExecutionInfo) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[56] + mi := &file_pipelines_and_context_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3899,7 +4115,7 @@ func (x *GrpcEdgeExecutionInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcEdgeExecutionInfo.ProtoReflect.Descriptor instead. func (*GrpcEdgeExecutionInfo) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{56} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{60} } func (x *GrpcEdgeExecutionInfo) GetTraceId() uint64 { @@ -3918,7 +4134,7 @@ type GrpcBytes struct { func (x *GrpcBytes) Reset() { *x = GrpcBytes{} - mi := &file_pipelines_and_context_proto_msgTypes[57] + mi := &file_pipelines_and_context_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3930,7 +4146,7 @@ func (x *GrpcBytes) String() string { func (*GrpcBytes) ProtoMessage() {} func (x *GrpcBytes) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[57] + mi := &file_pipelines_and_context_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3943,7 +4159,7 @@ func (x *GrpcBytes) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcBytes.ProtoReflect.Descriptor instead. func (*GrpcBytes) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{57} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{61} } func (x *GrpcBytes) GetBytes() []byte { @@ -3962,7 +4178,7 @@ type GrpcLogTimelineDiagram struct { func (x *GrpcLogTimelineDiagram) Reset() { *x = GrpcLogTimelineDiagram{} - mi := &file_pipelines_and_context_proto_msgTypes[58] + mi := &file_pipelines_and_context_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3974,7 +4190,7 @@ func (x *GrpcLogTimelineDiagram) String() string { func (*GrpcLogTimelineDiagram) ProtoMessage() {} func (x *GrpcLogTimelineDiagram) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[58] + mi := &file_pipelines_and_context_proto_msgTypes[62] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3987,7 +4203,7 @@ func (x *GrpcLogTimelineDiagram) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcLogTimelineDiagram.ProtoReflect.Descriptor instead. func (*GrpcLogTimelineDiagram) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{58} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{62} } func (x *GrpcLogTimelineDiagram) GetTraces() []*GrpcTraceTimelineDiagram { @@ -4007,7 +4223,7 @@ type GrpcTimelineTraceEventsGroup struct { func (x *GrpcTimelineTraceEventsGroup) Reset() { *x = GrpcTimelineTraceEventsGroup{} - mi := &file_pipelines_and_context_proto_msgTypes[59] + mi := &file_pipelines_and_context_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4019,7 +4235,7 @@ func (x *GrpcTimelineTraceEventsGroup) String() string { func (*GrpcTimelineTraceEventsGroup) ProtoMessage() {} func (x *GrpcTimelineTraceEventsGroup) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[59] + mi := &file_pipelines_and_context_proto_msgTypes[63] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4032,7 +4248,7 @@ func (x *GrpcTimelineTraceEventsGroup) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcTimelineTraceEventsGroup.ProtoReflect.Descriptor instead. func (*GrpcTimelineTraceEventsGroup) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{59} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{63} } func (x *GrpcTimelineTraceEventsGroup) GetStartPoint() *GrpcLogPoint { @@ -4059,7 +4275,7 @@ type GrpcTraceTimelineDiagram struct { func (x *GrpcTraceTimelineDiagram) Reset() { *x = GrpcTraceTimelineDiagram{} - mi := &file_pipelines_and_context_proto_msgTypes[60] + mi := &file_pipelines_and_context_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4071,7 +4287,7 @@ func (x *GrpcTraceTimelineDiagram) String() string { func (*GrpcTraceTimelineDiagram) ProtoMessage() {} func (x *GrpcTraceTimelineDiagram) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[60] + mi := &file_pipelines_and_context_proto_msgTypes[64] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4084,7 +4300,7 @@ func (x *GrpcTraceTimelineDiagram) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcTraceTimelineDiagram.ProtoReflect.Descriptor instead. func (*GrpcTraceTimelineDiagram) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{60} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{64} } func (x *GrpcTraceTimelineDiagram) GetThreads() []*GrpcThread { @@ -4110,7 +4326,7 @@ type GrpcThread struct { func (x *GrpcThread) Reset() { *x = GrpcThread{} - mi := &file_pipelines_and_context_proto_msgTypes[61] + mi := &file_pipelines_and_context_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4122,7 +4338,7 @@ func (x *GrpcThread) String() string { func (*GrpcThread) ProtoMessage() {} func (x *GrpcThread) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[61] + mi := &file_pipelines_and_context_proto_msgTypes[65] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4135,7 +4351,7 @@ func (x *GrpcThread) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcThread.ProtoReflect.Descriptor instead. func (*GrpcThread) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{61} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{65} } func (x *GrpcThread) GetEvents() []*GrpcThreadEvent { @@ -4155,7 +4371,7 @@ type GrpcThreadEvent struct { func (x *GrpcThreadEvent) Reset() { *x = GrpcThreadEvent{} - mi := &file_pipelines_and_context_proto_msgTypes[62] + mi := &file_pipelines_and_context_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4167,7 +4383,7 @@ func (x *GrpcThreadEvent) String() string { func (*GrpcThreadEvent) ProtoMessage() {} func (x *GrpcThreadEvent) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[62] + mi := &file_pipelines_and_context_proto_msgTypes[66] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4180,7 +4396,7 @@ func (x *GrpcThreadEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcThreadEvent.ProtoReflect.Descriptor instead. func (*GrpcThreadEvent) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{62} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{66} } func (x *GrpcThreadEvent) GetName() string { @@ -4207,7 +4423,7 @@ const file_pipelines_and_context_proto_rawDesc = "" + "\x04name\x18\x01 \x01(\tR\x04name\"g\n" + "\x1bGrpcContextValueWithKeyName\x12\x19\n" + "\bkey_name\x18\x01 \x01(\tR\akeyName\x12-\n" + - "\x05value\x18\x02 \x01(\v2\x17.ficus.GrpcContextValueR\x05value\"\xa4\v\n" + + "\x05value\x18\x02 \x01(\v2\x17.ficus.GrpcContextValueR\x05value\"\xef\v\n" + "\x10GrpcContextValue\x12\x18\n" + "\x06string\x18\x01 \x01(\tH\x00R\x06string\x12F\n" + "\n" + @@ -4241,8 +4457,24 @@ const file_pipelines_and_context_proto_rawDesc = "" + "\n" + "uint_array\x18\x18 \x01(\v2\x14.ficus.GrpcUintArrayH\x00R\tuintArray\x12\x14\n" + "\x04json\x18\x19 \x01(\tH\x00R\x04json\x128\n" + - "\tevent_log\x18\x1a \x01(\v2\x19.ficus.GrpcSimpleEventLogH\x00R\beventLogB\x0e\n" + - "\fcontextValue\"&\n" + + "\tevent_log\x18\x1a \x01(\v2\x19.ficus.GrpcSimpleEventLogH\x00R\beventLog\x12I\n" + + "\x0focel_annotation\x18\x1b \x01(\v2\x1e.ficus.GrpcOcelModelAnnotationH\x00R\x0eocelAnnotationB\x0e\n" + + "\fcontextValue\"b\n" + + "\x17GrpcOcelModelAnnotation\x12G\n" + + "\vannotations\x18\x01 \x03(\v2%.ficus.GrpcModelElementOcelAnnotationR\vannotations\"\xb1\x01\n" + + "\x1eGrpcModelElementOcelAnnotation\x12\x1d\n" + + "\n" + + "element_id\x18\x01 \x01(\x04R\telementId\x129\n" + + "\rinitial_state\x18\x02 \x01(\v2\x14.ficus.GrpcOcelStateR\finitialState\x125\n" + + "\vfinal_state\x18\x03 \x01(\v2\x14.ficus.GrpcOcelStateR\n" + + "finalState\"P\n" + + "\rGrpcOcelState\x12?\n" + + "\vtype_states\x18\x01 \x03(\v2\x1e.ficus.GrpcOcelObjectTypeStateR\n" + + "typeStates\"L\n" + + "\x17GrpcOcelObjectTypeState\x12\x12\n" + + "\x04type\x18\x01 \x01(\tR\x04type\x12\x1d\n" + + "\n" + + "object_ids\x18\x02 \x03(\tR\tobjectIds\"&\n" + "\x0eGrpcFloatArray\x12\x14\n" + "\x05items\x18\x01 \x03(\x01R\x05items\"$\n" + "\fGrpcIntArray\x12\x14\n" + @@ -4494,7 +4726,7 @@ func file_pipelines_and_context_proto_rawDescGZIP() []byte { } var file_pipelines_and_context_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_pipelines_and_context_proto_msgTypes = make([]protoimpl.MessageInfo, 63) +var file_pipelines_and_context_proto_msgTypes = make([]protoimpl.MessageInfo, 67) var file_pipelines_and_context_proto_goTypes = []any{ (GrpcGraphKind)(0), // 0: ficus.GrpcGraphKind (GrpcDurationKind)(0), // 1: ficus.GrpcDurationKind @@ -4502,179 +4734,188 @@ var file_pipelines_and_context_proto_goTypes = []any{ (*GrpcContextKey)(nil), // 3: ficus.GrpcContextKey (*GrpcContextValueWithKeyName)(nil), // 4: ficus.GrpcContextValueWithKeyName (*GrpcContextValue)(nil), // 5: ficus.GrpcContextValue - (*GrpcFloatArray)(nil), // 6: ficus.GrpcFloatArray - (*GrpcIntArray)(nil), // 7: ficus.GrpcIntArray - (*GrpcUintArray)(nil), // 8: ficus.GrpcUintArray - (*GrpcContextKeyValue)(nil), // 9: ficus.GrpcContextKeyValue - (*GrpcHashesEventLogContextValue)(nil), // 10: ficus.GrpcHashesEventLogContextValue - (*GrpcNamesEventLogContextValue)(nil), // 11: ficus.GrpcNamesEventLogContextValue - (*GrpcEventLogTraceSubArraysContextValue)(nil), // 12: ficus.GrpcEventLogTraceSubArraysContextValue - (*GrpcTraceSubArray)(nil), // 13: ficus.GrpcTraceSubArray - (*GrpcTraceSubArrays)(nil), // 14: ficus.GrpcTraceSubArrays - (*GrpcSubArrayWithTraceIndex)(nil), // 15: ficus.GrpcSubArrayWithTraceIndex - (*GrpcSubArraysWithTraceIndexContextValue)(nil), // 16: ficus.GrpcSubArraysWithTraceIndexContextValue - (*GrpcColorsEventLog)(nil), // 17: ficus.GrpcColorsEventLog - (*GrpcColorsLogAdjustment)(nil), // 18: ficus.GrpcColorsLogAdjustment - (*GrpcColorsLogRectangleAdjustment)(nil), // 19: ficus.GrpcColorsLogRectangleAdjustment - (*GrpcLogPoint)(nil), // 20: ficus.GrpcLogPoint - (*GrpcColorsLogXAxisAfterTraceAdjustment)(nil), // 21: ficus.GrpcColorsLogXAxisAfterTraceAdjustment - (*GrpcColorsEventLogMapping)(nil), // 22: ficus.GrpcColorsEventLogMapping - (*GrpcColorsTrace)(nil), // 23: ficus.GrpcColorsTrace - (*GrpcColoredRectangle)(nil), // 24: ficus.GrpcColoredRectangle - (*GrpcEnum)(nil), // 25: ficus.GrpcEnum - (*GrpcEventLogInfo)(nil), // 26: ficus.GrpcEventLogInfo - (*GrpcStrings)(nil), // 27: ficus.GrpcStrings - (*GrpcPipeline)(nil), // 28: ficus.GrpcPipeline - (*GrpcPipelinePartBase)(nil), // 29: ficus.GrpcPipelinePartBase - (*GrpcPipelinePart)(nil), // 30: ficus.GrpcPipelinePart - (*GrpcPipelinePartConfiguration)(nil), // 31: ficus.GrpcPipelinePartConfiguration - (*GrpcParallelPipelinePart)(nil), // 32: ficus.GrpcParallelPipelinePart - (*GrpcParallelPipelineParts)(nil), // 33: ficus.GrpcParallelPipelineParts - (*GrpcSimpleContextRequestPipelinePart)(nil), // 34: ficus.GrpcSimpleContextRequestPipelinePart - (*GrpcComplexContextRequestPipelinePart)(nil), // 35: ficus.GrpcComplexContextRequestPipelinePart - (*GrpcGraph)(nil), // 36: ficus.GrpcGraph - (*GrpcGraphNode)(nil), // 37: ficus.GrpcGraphNode - (*GrpcNodeAdditionalData)(nil), // 38: ficus.GrpcNodeAdditionalData - (*GrpcMultithreadedFragment)(nil), // 39: ficus.GrpcMultithreadedFragment - (*GrpcActivityStartEndData)(nil), // 40: ficus.GrpcActivityStartEndData - (*GrpcEventCoordinates)(nil), // 41: ficus.GrpcEventCoordinates - (*GrpcNodeCorrespondingTraceData)(nil), // 42: ficus.GrpcNodeCorrespondingTraceData - (*GrpcSoftwareData)(nil), // 43: ficus.GrpcSoftwareData - (*GrpcOcelData)(nil), // 44: ficus.GrpcOcelData - (*GrpcMergedObjectAllocation)(nil), // 45: ficus.GrpcMergedObjectAllocation - (*GrpcProduceObjectConsumption)(nil), // 46: ficus.GrpcProduceObjectConsumption - (*GrpcActivityDurationData)(nil), // 47: ficus.GrpcActivityDurationData - (*GrpcGenericEnhancementBase)(nil), // 48: ficus.GrpcGenericEnhancementBase - (*GrpcGeneralHistogramData)(nil), // 49: ficus.GrpcGeneralHistogramData - (*GrpcSimpleCounterData)(nil), // 50: ficus.GrpcSimpleCounterData - (*GrpcMethodInliningInfo)(nil), // 51: ficus.GrpcMethodInliningInfo - (*GrpcMethodNameParts)(nil), // 52: ficus.GrpcMethodNameParts - (*GrpcHistogramEntry)(nil), // 53: ficus.GrpcHistogramEntry - (*GrpcTimelineDiagramFragment)(nil), // 54: ficus.GrpcTimelineDiagramFragment - (*GrpcAllocationInfo)(nil), // 55: ficus.GrpcAllocationInfo - (*GrpcUnderlyingPatternInfo)(nil), // 56: ficus.GrpcUnderlyingPatternInfo - (*GrpcGraphEdge)(nil), // 57: ficus.GrpcGraphEdge - (*GrpcGraphEdgeAdditionalData)(nil), // 58: ficus.GrpcGraphEdgeAdditionalData - (*GrpcEdgeExecutionInfo)(nil), // 59: ficus.GrpcEdgeExecutionInfo - (*GrpcBytes)(nil), // 60: ficus.GrpcBytes - (*GrpcLogTimelineDiagram)(nil), // 61: ficus.GrpcLogTimelineDiagram - (*GrpcTimelineTraceEventsGroup)(nil), // 62: ficus.GrpcTimelineTraceEventsGroup - (*GrpcTraceTimelineDiagram)(nil), // 63: ficus.GrpcTraceTimelineDiagram - (*GrpcThread)(nil), // 64: ficus.GrpcThread - (*GrpcThreadEvent)(nil), // 65: ficus.GrpcThreadEvent - (*GrpcPetriNet)(nil), // 66: ficus.GrpcPetriNet - (*GrpcAnnotation)(nil), // 67: ficus.GrpcAnnotation - (*GrpcDataset)(nil), // 68: ficus.GrpcDataset - (*GrpcLabeledDataset)(nil), // 69: ficus.GrpcLabeledDataset - (*GrpcSimpleEventLog)(nil), // 70: ficus.GrpcSimpleEventLog - (*GrpcHashesEventLog)(nil), // 71: ficus.GrpcHashesEventLog - (*GrpcNamesEventLog)(nil), // 72: ficus.GrpcNamesEventLog - (*GrpcColor)(nil), // 73: ficus.GrpcColor - (*GrpcGuid)(nil), // 74: ficus.GrpcGuid - (*emptypb.Empty)(nil), // 75: google.protobuf.Empty + (*GrpcOcelModelAnnotation)(nil), // 6: ficus.GrpcOcelModelAnnotation + (*GrpcModelElementOcelAnnotation)(nil), // 7: ficus.GrpcModelElementOcelAnnotation + (*GrpcOcelState)(nil), // 8: ficus.GrpcOcelState + (*GrpcOcelObjectTypeState)(nil), // 9: ficus.GrpcOcelObjectTypeState + (*GrpcFloatArray)(nil), // 10: ficus.GrpcFloatArray + (*GrpcIntArray)(nil), // 11: ficus.GrpcIntArray + (*GrpcUintArray)(nil), // 12: ficus.GrpcUintArray + (*GrpcContextKeyValue)(nil), // 13: ficus.GrpcContextKeyValue + (*GrpcHashesEventLogContextValue)(nil), // 14: ficus.GrpcHashesEventLogContextValue + (*GrpcNamesEventLogContextValue)(nil), // 15: ficus.GrpcNamesEventLogContextValue + (*GrpcEventLogTraceSubArraysContextValue)(nil), // 16: ficus.GrpcEventLogTraceSubArraysContextValue + (*GrpcTraceSubArray)(nil), // 17: ficus.GrpcTraceSubArray + (*GrpcTraceSubArrays)(nil), // 18: ficus.GrpcTraceSubArrays + (*GrpcSubArrayWithTraceIndex)(nil), // 19: ficus.GrpcSubArrayWithTraceIndex + (*GrpcSubArraysWithTraceIndexContextValue)(nil), // 20: ficus.GrpcSubArraysWithTraceIndexContextValue + (*GrpcColorsEventLog)(nil), // 21: ficus.GrpcColorsEventLog + (*GrpcColorsLogAdjustment)(nil), // 22: ficus.GrpcColorsLogAdjustment + (*GrpcColorsLogRectangleAdjustment)(nil), // 23: ficus.GrpcColorsLogRectangleAdjustment + (*GrpcLogPoint)(nil), // 24: ficus.GrpcLogPoint + (*GrpcColorsLogXAxisAfterTraceAdjustment)(nil), // 25: ficus.GrpcColorsLogXAxisAfterTraceAdjustment + (*GrpcColorsEventLogMapping)(nil), // 26: ficus.GrpcColorsEventLogMapping + (*GrpcColorsTrace)(nil), // 27: ficus.GrpcColorsTrace + (*GrpcColoredRectangle)(nil), // 28: ficus.GrpcColoredRectangle + (*GrpcEnum)(nil), // 29: ficus.GrpcEnum + (*GrpcEventLogInfo)(nil), // 30: ficus.GrpcEventLogInfo + (*GrpcStrings)(nil), // 31: ficus.GrpcStrings + (*GrpcPipeline)(nil), // 32: ficus.GrpcPipeline + (*GrpcPipelinePartBase)(nil), // 33: ficus.GrpcPipelinePartBase + (*GrpcPipelinePart)(nil), // 34: ficus.GrpcPipelinePart + (*GrpcPipelinePartConfiguration)(nil), // 35: ficus.GrpcPipelinePartConfiguration + (*GrpcParallelPipelinePart)(nil), // 36: ficus.GrpcParallelPipelinePart + (*GrpcParallelPipelineParts)(nil), // 37: ficus.GrpcParallelPipelineParts + (*GrpcSimpleContextRequestPipelinePart)(nil), // 38: ficus.GrpcSimpleContextRequestPipelinePart + (*GrpcComplexContextRequestPipelinePart)(nil), // 39: ficus.GrpcComplexContextRequestPipelinePart + (*GrpcGraph)(nil), // 40: ficus.GrpcGraph + (*GrpcGraphNode)(nil), // 41: ficus.GrpcGraphNode + (*GrpcNodeAdditionalData)(nil), // 42: ficus.GrpcNodeAdditionalData + (*GrpcMultithreadedFragment)(nil), // 43: ficus.GrpcMultithreadedFragment + (*GrpcActivityStartEndData)(nil), // 44: ficus.GrpcActivityStartEndData + (*GrpcEventCoordinates)(nil), // 45: ficus.GrpcEventCoordinates + (*GrpcNodeCorrespondingTraceData)(nil), // 46: ficus.GrpcNodeCorrespondingTraceData + (*GrpcSoftwareData)(nil), // 47: ficus.GrpcSoftwareData + (*GrpcOcelData)(nil), // 48: ficus.GrpcOcelData + (*GrpcMergedObjectAllocation)(nil), // 49: ficus.GrpcMergedObjectAllocation + (*GrpcProduceObjectConsumption)(nil), // 50: ficus.GrpcProduceObjectConsumption + (*GrpcActivityDurationData)(nil), // 51: ficus.GrpcActivityDurationData + (*GrpcGenericEnhancementBase)(nil), // 52: ficus.GrpcGenericEnhancementBase + (*GrpcGeneralHistogramData)(nil), // 53: ficus.GrpcGeneralHistogramData + (*GrpcSimpleCounterData)(nil), // 54: ficus.GrpcSimpleCounterData + (*GrpcMethodInliningInfo)(nil), // 55: ficus.GrpcMethodInliningInfo + (*GrpcMethodNameParts)(nil), // 56: ficus.GrpcMethodNameParts + (*GrpcHistogramEntry)(nil), // 57: ficus.GrpcHistogramEntry + (*GrpcTimelineDiagramFragment)(nil), // 58: ficus.GrpcTimelineDiagramFragment + (*GrpcAllocationInfo)(nil), // 59: ficus.GrpcAllocationInfo + (*GrpcUnderlyingPatternInfo)(nil), // 60: ficus.GrpcUnderlyingPatternInfo + (*GrpcGraphEdge)(nil), // 61: ficus.GrpcGraphEdge + (*GrpcGraphEdgeAdditionalData)(nil), // 62: ficus.GrpcGraphEdgeAdditionalData + (*GrpcEdgeExecutionInfo)(nil), // 63: ficus.GrpcEdgeExecutionInfo + (*GrpcBytes)(nil), // 64: ficus.GrpcBytes + (*GrpcLogTimelineDiagram)(nil), // 65: ficus.GrpcLogTimelineDiagram + (*GrpcTimelineTraceEventsGroup)(nil), // 66: ficus.GrpcTimelineTraceEventsGroup + (*GrpcTraceTimelineDiagram)(nil), // 67: ficus.GrpcTraceTimelineDiagram + (*GrpcThread)(nil), // 68: ficus.GrpcThread + (*GrpcThreadEvent)(nil), // 69: ficus.GrpcThreadEvent + (*GrpcPetriNet)(nil), // 70: ficus.GrpcPetriNet + (*GrpcAnnotation)(nil), // 71: ficus.GrpcAnnotation + (*GrpcDataset)(nil), // 72: ficus.GrpcDataset + (*GrpcLabeledDataset)(nil), // 73: ficus.GrpcLabeledDataset + (*GrpcSimpleEventLog)(nil), // 74: ficus.GrpcSimpleEventLog + (*GrpcHashesEventLog)(nil), // 75: ficus.GrpcHashesEventLog + (*GrpcNamesEventLog)(nil), // 76: ficus.GrpcNamesEventLog + (*GrpcColor)(nil), // 77: ficus.GrpcColor + (*GrpcGuid)(nil), // 78: ficus.GrpcGuid + (*emptypb.Empty)(nil), // 79: google.protobuf.Empty } var file_pipelines_and_context_proto_depIdxs = []int32{ - 5, // 0: ficus.GrpcContextValueWithKeyName.value:type_name -> ficus.GrpcContextValue - 10, // 1: ficus.GrpcContextValue.hashes_log:type_name -> ficus.GrpcHashesEventLogContextValue - 11, // 2: ficus.GrpcContextValue.names_log:type_name -> ficus.GrpcNamesEventLogContextValue - 12, // 3: ficus.GrpcContextValue.traces_sub_arrays:type_name -> ficus.GrpcEventLogTraceSubArraysContextValue - 16, // 4: ficus.GrpcContextValue.trace_index_sub_arrays:type_name -> ficus.GrpcSubArraysWithTraceIndexContextValue - 11, // 5: ficus.GrpcContextValue.xes_event_log:type_name -> ficus.GrpcNamesEventLogContextValue - 17, // 6: ficus.GrpcContextValue.colors_log:type_name -> ficus.GrpcColorsEventLog - 25, // 7: ficus.GrpcContextValue.enum:type_name -> ficus.GrpcEnum - 26, // 8: ficus.GrpcContextValue.event_log_info:type_name -> ficus.GrpcEventLogInfo - 27, // 9: ficus.GrpcContextValue.strings:type_name -> ficus.GrpcStrings - 28, // 10: ficus.GrpcContextValue.pipeline:type_name -> ficus.GrpcPipeline - 66, // 11: ficus.GrpcContextValue.petriNet:type_name -> ficus.GrpcPetriNet - 36, // 12: ficus.GrpcContextValue.graph:type_name -> ficus.GrpcGraph - 67, // 13: ficus.GrpcContextValue.annotation:type_name -> ficus.GrpcAnnotation - 68, // 14: ficus.GrpcContextValue.dataset:type_name -> ficus.GrpcDataset - 69, // 15: ficus.GrpcContextValue.labeled_dataset:type_name -> ficus.GrpcLabeledDataset - 60, // 16: ficus.GrpcContextValue.bytes:type_name -> ficus.GrpcBytes - 61, // 17: ficus.GrpcContextValue.logTimelineDiagram:type_name -> ficus.GrpcLogTimelineDiagram - 6, // 18: ficus.GrpcContextValue.float_array:type_name -> ficus.GrpcFloatArray - 7, // 19: ficus.GrpcContextValue.int_array:type_name -> ficus.GrpcIntArray - 8, // 20: ficus.GrpcContextValue.uint_array:type_name -> ficus.GrpcUintArray - 70, // 21: ficus.GrpcContextValue.event_log:type_name -> ficus.GrpcSimpleEventLog - 3, // 22: ficus.GrpcContextKeyValue.key:type_name -> ficus.GrpcContextKey - 5, // 23: ficus.GrpcContextKeyValue.value:type_name -> ficus.GrpcContextValue - 71, // 24: ficus.GrpcHashesEventLogContextValue.log:type_name -> ficus.GrpcHashesEventLog - 72, // 25: ficus.GrpcNamesEventLogContextValue.log:type_name -> ficus.GrpcNamesEventLog - 14, // 26: ficus.GrpcEventLogTraceSubArraysContextValue.traces_sub_arrays:type_name -> ficus.GrpcTraceSubArrays - 13, // 27: ficus.GrpcTraceSubArrays.sub_arrays:type_name -> ficus.GrpcTraceSubArray - 13, // 28: ficus.GrpcSubArrayWithTraceIndex.sub_array:type_name -> ficus.GrpcTraceSubArray - 15, // 29: ficus.GrpcSubArraysWithTraceIndexContextValue.sub_arrays:type_name -> ficus.GrpcSubArrayWithTraceIndex - 22, // 30: ficus.GrpcColorsEventLog.mapping:type_name -> ficus.GrpcColorsEventLogMapping - 23, // 31: ficus.GrpcColorsEventLog.traces:type_name -> ficus.GrpcColorsTrace - 18, // 32: ficus.GrpcColorsEventLog.adjustments:type_name -> ficus.GrpcColorsLogAdjustment - 19, // 33: ficus.GrpcColorsLogAdjustment.rectangle_adjustment:type_name -> ficus.GrpcColorsLogRectangleAdjustment - 21, // 34: ficus.GrpcColorsLogAdjustment.axis_after_trace:type_name -> ficus.GrpcColorsLogXAxisAfterTraceAdjustment - 20, // 35: ficus.GrpcColorsLogRectangleAdjustment.up_left_point:type_name -> ficus.GrpcLogPoint - 20, // 36: ficus.GrpcColorsLogRectangleAdjustment.down_right_point:type_name -> ficus.GrpcLogPoint - 73, // 37: ficus.GrpcColorsEventLogMapping.color:type_name -> ficus.GrpcColor - 24, // 38: ficus.GrpcColorsTrace.event_colors:type_name -> ficus.GrpcColoredRectangle - 29, // 39: ficus.GrpcPipeline.parts:type_name -> ficus.GrpcPipelinePartBase - 30, // 40: ficus.GrpcPipelinePartBase.defaultPart:type_name -> ficus.GrpcPipelinePart - 32, // 41: ficus.GrpcPipelinePartBase.parallelPart:type_name -> ficus.GrpcParallelPipelinePart - 34, // 42: ficus.GrpcPipelinePartBase.simpleContextRequestPart:type_name -> ficus.GrpcSimpleContextRequestPipelinePart - 35, // 43: ficus.GrpcPipelinePartBase.complexContextRequestPart:type_name -> ficus.GrpcComplexContextRequestPipelinePart - 31, // 44: ficus.GrpcPipelinePart.configuration:type_name -> ficus.GrpcPipelinePartConfiguration - 9, // 45: ficus.GrpcPipelinePartConfiguration.configurationParameters:type_name -> ficus.GrpcContextKeyValue - 29, // 46: ficus.GrpcParallelPipelinePart.pipelineParts:type_name -> ficus.GrpcPipelinePartBase - 32, // 47: ficus.GrpcParallelPipelineParts.pipeline:type_name -> ficus.GrpcParallelPipelinePart - 3, // 48: ficus.GrpcSimpleContextRequestPipelinePart.key:type_name -> ficus.GrpcContextKey - 74, // 49: ficus.GrpcSimpleContextRequestPipelinePart.frontendPartUuid:type_name -> ficus.GrpcGuid - 3, // 50: ficus.GrpcComplexContextRequestPipelinePart.keys:type_name -> ficus.GrpcContextKey - 30, // 51: ficus.GrpcComplexContextRequestPipelinePart.beforePipelinePart:type_name -> ficus.GrpcPipelinePart - 74, // 52: ficus.GrpcComplexContextRequestPipelinePart.frontendPartUuid:type_name -> ficus.GrpcGuid - 37, // 53: ficus.GrpcGraph.nodes:type_name -> ficus.GrpcGraphNode - 57, // 54: ficus.GrpcGraph.edges:type_name -> ficus.GrpcGraphEdge - 0, // 55: ficus.GrpcGraph.kind:type_name -> ficus.GrpcGraphKind - 38, // 56: ficus.GrpcGraphNode.additional_data:type_name -> ficus.GrpcNodeAdditionalData - 36, // 57: ficus.GrpcGraphNode.inner_graph:type_name -> ficus.GrpcGraph - 75, // 58: ficus.GrpcNodeAdditionalData.none:type_name -> google.protobuf.Empty - 43, // 59: ficus.GrpcNodeAdditionalData.software_data:type_name -> ficus.GrpcSoftwareData - 56, // 60: ficus.GrpcNodeAdditionalData.pattern_info:type_name -> ficus.GrpcUnderlyingPatternInfo - 42, // 61: ficus.GrpcNodeAdditionalData.trace_data:type_name -> ficus.GrpcNodeCorrespondingTraceData - 40, // 62: ficus.GrpcNodeAdditionalData.time_data:type_name -> ficus.GrpcActivityStartEndData - 39, // 63: ficus.GrpcNodeAdditionalData.multithreaded_fragment:type_name -> ficus.GrpcMultithreadedFragment - 41, // 64: ficus.GrpcNodeAdditionalData.original_event_coordinates:type_name -> ficus.GrpcEventCoordinates - 70, // 65: ficus.GrpcMultithreadedFragment.multithreaded_log:type_name -> ficus.GrpcSimpleEventLog - 53, // 66: ficus.GrpcSoftwareData.histogram:type_name -> ficus.GrpcHistogramEntry - 54, // 67: ficus.GrpcSoftwareData.timeline_diagram_fragment:type_name -> ficus.GrpcTimelineDiagramFragment - 49, // 68: ficus.GrpcSoftwareData.histogram_data:type_name -> ficus.GrpcGeneralHistogramData - 50, // 69: ficus.GrpcSoftwareData.simple_counter_data:type_name -> ficus.GrpcSimpleCounterData - 47, // 70: ficus.GrpcSoftwareData.activities_durations_data:type_name -> ficus.GrpcActivityDurationData - 44, // 71: ficus.GrpcSoftwareData.ocel_data:type_name -> ficus.GrpcOcelData - 75, // 72: ficus.GrpcOcelData.allocate:type_name -> google.protobuf.Empty - 75, // 73: ficus.GrpcOcelData.consume:type_name -> google.protobuf.Empty - 45, // 74: ficus.GrpcOcelData.merged_object_allocation:type_name -> ficus.GrpcMergedObjectAllocation - 46, // 75: ficus.GrpcOcelData.produce_object_consumption:type_name -> ficus.GrpcProduceObjectConsumption - 48, // 76: ficus.GrpcActivityDurationData.base:type_name -> ficus.GrpcGenericEnhancementBase - 1, // 77: ficus.GrpcActivityDurationData.kind:type_name -> ficus.GrpcDurationKind - 48, // 78: ficus.GrpcGeneralHistogramData.base:type_name -> ficus.GrpcGenericEnhancementBase - 53, // 79: ficus.GrpcGeneralHistogramData.entries:type_name -> ficus.GrpcHistogramEntry - 48, // 80: ficus.GrpcSimpleCounterData.base:type_name -> ficus.GrpcGenericEnhancementBase - 52, // 81: ficus.GrpcMethodInliningInfo.inlinee_info:type_name -> ficus.GrpcMethodNameParts - 52, // 82: ficus.GrpcMethodInliningInfo.inliner_info:type_name -> ficus.GrpcMethodNameParts - 64, // 83: ficus.GrpcTimelineDiagramFragment.threads:type_name -> ficus.GrpcThread - 2, // 84: ficus.GrpcUnderlyingPatternInfo.pattern_kind:type_name -> ficus.GrpcUnderlyingPatternKind - 36, // 85: ficus.GrpcUnderlyingPatternInfo.graph:type_name -> ficus.GrpcGraph - 58, // 86: ficus.GrpcGraphEdge.additional_data:type_name -> ficus.GrpcGraphEdgeAdditionalData - 43, // 87: ficus.GrpcGraphEdgeAdditionalData.software_data:type_name -> ficus.GrpcSoftwareData - 59, // 88: ficus.GrpcGraphEdgeAdditionalData.execution_info:type_name -> ficus.GrpcEdgeExecutionInfo - 40, // 89: ficus.GrpcGraphEdgeAdditionalData.time_data:type_name -> ficus.GrpcActivityStartEndData - 63, // 90: ficus.GrpcLogTimelineDiagram.traces:type_name -> ficus.GrpcTraceTimelineDiagram - 20, // 91: ficus.GrpcTimelineTraceEventsGroup.start_point:type_name -> ficus.GrpcLogPoint - 20, // 92: ficus.GrpcTimelineTraceEventsGroup.end_point:type_name -> ficus.GrpcLogPoint - 64, // 93: ficus.GrpcTraceTimelineDiagram.threads:type_name -> ficus.GrpcThread - 62, // 94: ficus.GrpcTraceTimelineDiagram.events_groups:type_name -> ficus.GrpcTimelineTraceEventsGroup - 65, // 95: ficus.GrpcThread.events:type_name -> ficus.GrpcThreadEvent - 96, // [96:96] is the sub-list for method output_type - 96, // [96:96] is the sub-list for method input_type - 96, // [96:96] is the sub-list for extension type_name - 96, // [96:96] is the sub-list for extension extendee - 0, // [0:96] is the sub-list for field type_name + 5, // 0: ficus.GrpcContextValueWithKeyName.value:type_name -> ficus.GrpcContextValue + 14, // 1: ficus.GrpcContextValue.hashes_log:type_name -> ficus.GrpcHashesEventLogContextValue + 15, // 2: ficus.GrpcContextValue.names_log:type_name -> ficus.GrpcNamesEventLogContextValue + 16, // 3: ficus.GrpcContextValue.traces_sub_arrays:type_name -> ficus.GrpcEventLogTraceSubArraysContextValue + 20, // 4: ficus.GrpcContextValue.trace_index_sub_arrays:type_name -> ficus.GrpcSubArraysWithTraceIndexContextValue + 15, // 5: ficus.GrpcContextValue.xes_event_log:type_name -> ficus.GrpcNamesEventLogContextValue + 21, // 6: ficus.GrpcContextValue.colors_log:type_name -> ficus.GrpcColorsEventLog + 29, // 7: ficus.GrpcContextValue.enum:type_name -> ficus.GrpcEnum + 30, // 8: ficus.GrpcContextValue.event_log_info:type_name -> ficus.GrpcEventLogInfo + 31, // 9: ficus.GrpcContextValue.strings:type_name -> ficus.GrpcStrings + 32, // 10: ficus.GrpcContextValue.pipeline:type_name -> ficus.GrpcPipeline + 70, // 11: ficus.GrpcContextValue.petriNet:type_name -> ficus.GrpcPetriNet + 40, // 12: ficus.GrpcContextValue.graph:type_name -> ficus.GrpcGraph + 71, // 13: ficus.GrpcContextValue.annotation:type_name -> ficus.GrpcAnnotation + 72, // 14: ficus.GrpcContextValue.dataset:type_name -> ficus.GrpcDataset + 73, // 15: ficus.GrpcContextValue.labeled_dataset:type_name -> ficus.GrpcLabeledDataset + 64, // 16: ficus.GrpcContextValue.bytes:type_name -> ficus.GrpcBytes + 65, // 17: ficus.GrpcContextValue.logTimelineDiagram:type_name -> ficus.GrpcLogTimelineDiagram + 10, // 18: ficus.GrpcContextValue.float_array:type_name -> ficus.GrpcFloatArray + 11, // 19: ficus.GrpcContextValue.int_array:type_name -> ficus.GrpcIntArray + 12, // 20: ficus.GrpcContextValue.uint_array:type_name -> ficus.GrpcUintArray + 74, // 21: ficus.GrpcContextValue.event_log:type_name -> ficus.GrpcSimpleEventLog + 6, // 22: ficus.GrpcContextValue.ocel_annotation:type_name -> ficus.GrpcOcelModelAnnotation + 7, // 23: ficus.GrpcOcelModelAnnotation.annotations:type_name -> ficus.GrpcModelElementOcelAnnotation + 8, // 24: ficus.GrpcModelElementOcelAnnotation.initial_state:type_name -> ficus.GrpcOcelState + 8, // 25: ficus.GrpcModelElementOcelAnnotation.final_state:type_name -> ficus.GrpcOcelState + 9, // 26: ficus.GrpcOcelState.type_states:type_name -> ficus.GrpcOcelObjectTypeState + 3, // 27: ficus.GrpcContextKeyValue.key:type_name -> ficus.GrpcContextKey + 5, // 28: ficus.GrpcContextKeyValue.value:type_name -> ficus.GrpcContextValue + 75, // 29: ficus.GrpcHashesEventLogContextValue.log:type_name -> ficus.GrpcHashesEventLog + 76, // 30: ficus.GrpcNamesEventLogContextValue.log:type_name -> ficus.GrpcNamesEventLog + 18, // 31: ficus.GrpcEventLogTraceSubArraysContextValue.traces_sub_arrays:type_name -> ficus.GrpcTraceSubArrays + 17, // 32: ficus.GrpcTraceSubArrays.sub_arrays:type_name -> ficus.GrpcTraceSubArray + 17, // 33: ficus.GrpcSubArrayWithTraceIndex.sub_array:type_name -> ficus.GrpcTraceSubArray + 19, // 34: ficus.GrpcSubArraysWithTraceIndexContextValue.sub_arrays:type_name -> ficus.GrpcSubArrayWithTraceIndex + 26, // 35: ficus.GrpcColorsEventLog.mapping:type_name -> ficus.GrpcColorsEventLogMapping + 27, // 36: ficus.GrpcColorsEventLog.traces:type_name -> ficus.GrpcColorsTrace + 22, // 37: ficus.GrpcColorsEventLog.adjustments:type_name -> ficus.GrpcColorsLogAdjustment + 23, // 38: ficus.GrpcColorsLogAdjustment.rectangle_adjustment:type_name -> ficus.GrpcColorsLogRectangleAdjustment + 25, // 39: ficus.GrpcColorsLogAdjustment.axis_after_trace:type_name -> ficus.GrpcColorsLogXAxisAfterTraceAdjustment + 24, // 40: ficus.GrpcColorsLogRectangleAdjustment.up_left_point:type_name -> ficus.GrpcLogPoint + 24, // 41: ficus.GrpcColorsLogRectangleAdjustment.down_right_point:type_name -> ficus.GrpcLogPoint + 77, // 42: ficus.GrpcColorsEventLogMapping.color:type_name -> ficus.GrpcColor + 28, // 43: ficus.GrpcColorsTrace.event_colors:type_name -> ficus.GrpcColoredRectangle + 33, // 44: ficus.GrpcPipeline.parts:type_name -> ficus.GrpcPipelinePartBase + 34, // 45: ficus.GrpcPipelinePartBase.defaultPart:type_name -> ficus.GrpcPipelinePart + 36, // 46: ficus.GrpcPipelinePartBase.parallelPart:type_name -> ficus.GrpcParallelPipelinePart + 38, // 47: ficus.GrpcPipelinePartBase.simpleContextRequestPart:type_name -> ficus.GrpcSimpleContextRequestPipelinePart + 39, // 48: ficus.GrpcPipelinePartBase.complexContextRequestPart:type_name -> ficus.GrpcComplexContextRequestPipelinePart + 35, // 49: ficus.GrpcPipelinePart.configuration:type_name -> ficus.GrpcPipelinePartConfiguration + 13, // 50: ficus.GrpcPipelinePartConfiguration.configurationParameters:type_name -> ficus.GrpcContextKeyValue + 33, // 51: ficus.GrpcParallelPipelinePart.pipelineParts:type_name -> ficus.GrpcPipelinePartBase + 36, // 52: ficus.GrpcParallelPipelineParts.pipeline:type_name -> ficus.GrpcParallelPipelinePart + 3, // 53: ficus.GrpcSimpleContextRequestPipelinePart.key:type_name -> ficus.GrpcContextKey + 78, // 54: ficus.GrpcSimpleContextRequestPipelinePart.frontendPartUuid:type_name -> ficus.GrpcGuid + 3, // 55: ficus.GrpcComplexContextRequestPipelinePart.keys:type_name -> ficus.GrpcContextKey + 34, // 56: ficus.GrpcComplexContextRequestPipelinePart.beforePipelinePart:type_name -> ficus.GrpcPipelinePart + 78, // 57: ficus.GrpcComplexContextRequestPipelinePart.frontendPartUuid:type_name -> ficus.GrpcGuid + 41, // 58: ficus.GrpcGraph.nodes:type_name -> ficus.GrpcGraphNode + 61, // 59: ficus.GrpcGraph.edges:type_name -> ficus.GrpcGraphEdge + 0, // 60: ficus.GrpcGraph.kind:type_name -> ficus.GrpcGraphKind + 42, // 61: ficus.GrpcGraphNode.additional_data:type_name -> ficus.GrpcNodeAdditionalData + 40, // 62: ficus.GrpcGraphNode.inner_graph:type_name -> ficus.GrpcGraph + 79, // 63: ficus.GrpcNodeAdditionalData.none:type_name -> google.protobuf.Empty + 47, // 64: ficus.GrpcNodeAdditionalData.software_data:type_name -> ficus.GrpcSoftwareData + 60, // 65: ficus.GrpcNodeAdditionalData.pattern_info:type_name -> ficus.GrpcUnderlyingPatternInfo + 46, // 66: ficus.GrpcNodeAdditionalData.trace_data:type_name -> ficus.GrpcNodeCorrespondingTraceData + 44, // 67: ficus.GrpcNodeAdditionalData.time_data:type_name -> ficus.GrpcActivityStartEndData + 43, // 68: ficus.GrpcNodeAdditionalData.multithreaded_fragment:type_name -> ficus.GrpcMultithreadedFragment + 45, // 69: ficus.GrpcNodeAdditionalData.original_event_coordinates:type_name -> ficus.GrpcEventCoordinates + 74, // 70: ficus.GrpcMultithreadedFragment.multithreaded_log:type_name -> ficus.GrpcSimpleEventLog + 57, // 71: ficus.GrpcSoftwareData.histogram:type_name -> ficus.GrpcHistogramEntry + 58, // 72: ficus.GrpcSoftwareData.timeline_diagram_fragment:type_name -> ficus.GrpcTimelineDiagramFragment + 53, // 73: ficus.GrpcSoftwareData.histogram_data:type_name -> ficus.GrpcGeneralHistogramData + 54, // 74: ficus.GrpcSoftwareData.simple_counter_data:type_name -> ficus.GrpcSimpleCounterData + 51, // 75: ficus.GrpcSoftwareData.activities_durations_data:type_name -> ficus.GrpcActivityDurationData + 48, // 76: ficus.GrpcSoftwareData.ocel_data:type_name -> ficus.GrpcOcelData + 79, // 77: ficus.GrpcOcelData.allocate:type_name -> google.protobuf.Empty + 79, // 78: ficus.GrpcOcelData.consume:type_name -> google.protobuf.Empty + 49, // 79: ficus.GrpcOcelData.merged_object_allocation:type_name -> ficus.GrpcMergedObjectAllocation + 50, // 80: ficus.GrpcOcelData.produce_object_consumption:type_name -> ficus.GrpcProduceObjectConsumption + 52, // 81: ficus.GrpcActivityDurationData.base:type_name -> ficus.GrpcGenericEnhancementBase + 1, // 82: ficus.GrpcActivityDurationData.kind:type_name -> ficus.GrpcDurationKind + 52, // 83: ficus.GrpcGeneralHistogramData.base:type_name -> ficus.GrpcGenericEnhancementBase + 57, // 84: ficus.GrpcGeneralHistogramData.entries:type_name -> ficus.GrpcHistogramEntry + 52, // 85: ficus.GrpcSimpleCounterData.base:type_name -> ficus.GrpcGenericEnhancementBase + 56, // 86: ficus.GrpcMethodInliningInfo.inlinee_info:type_name -> ficus.GrpcMethodNameParts + 56, // 87: ficus.GrpcMethodInliningInfo.inliner_info:type_name -> ficus.GrpcMethodNameParts + 68, // 88: ficus.GrpcTimelineDiagramFragment.threads:type_name -> ficus.GrpcThread + 2, // 89: ficus.GrpcUnderlyingPatternInfo.pattern_kind:type_name -> ficus.GrpcUnderlyingPatternKind + 40, // 90: ficus.GrpcUnderlyingPatternInfo.graph:type_name -> ficus.GrpcGraph + 62, // 91: ficus.GrpcGraphEdge.additional_data:type_name -> ficus.GrpcGraphEdgeAdditionalData + 47, // 92: ficus.GrpcGraphEdgeAdditionalData.software_data:type_name -> ficus.GrpcSoftwareData + 63, // 93: ficus.GrpcGraphEdgeAdditionalData.execution_info:type_name -> ficus.GrpcEdgeExecutionInfo + 44, // 94: ficus.GrpcGraphEdgeAdditionalData.time_data:type_name -> ficus.GrpcActivityStartEndData + 67, // 95: ficus.GrpcLogTimelineDiagram.traces:type_name -> ficus.GrpcTraceTimelineDiagram + 24, // 96: ficus.GrpcTimelineTraceEventsGroup.start_point:type_name -> ficus.GrpcLogPoint + 24, // 97: ficus.GrpcTimelineTraceEventsGroup.end_point:type_name -> ficus.GrpcLogPoint + 68, // 98: ficus.GrpcTraceTimelineDiagram.threads:type_name -> ficus.GrpcThread + 66, // 99: ficus.GrpcTraceTimelineDiagram.events_groups:type_name -> ficus.GrpcTimelineTraceEventsGroup + 69, // 100: ficus.GrpcThread.events:type_name -> ficus.GrpcThreadEvent + 101, // [101:101] is the sub-list for method output_type + 101, // [101:101] is the sub-list for method input_type + 101, // [101:101] is the sub-list for extension type_name + 101, // [101:101] is the sub-list for extension extendee + 0, // [0:101] is the sub-list for field type_name } func init() { file_pipelines_and_context_proto_init() } @@ -4711,18 +4952,19 @@ func file_pipelines_and_context_proto_init() { (*GrpcContextValue_UintArray)(nil), (*GrpcContextValue_Json)(nil), (*GrpcContextValue_EventLog)(nil), + (*GrpcContextValue_OcelAnnotation)(nil), } - file_pipelines_and_context_proto_msgTypes[15].OneofWrappers = []any{ + file_pipelines_and_context_proto_msgTypes[19].OneofWrappers = []any{ (*GrpcColorsLogAdjustment_RectangleAdjustment)(nil), (*GrpcColorsLogAdjustment_AxisAfterTrace)(nil), } - file_pipelines_and_context_proto_msgTypes[26].OneofWrappers = []any{ + file_pipelines_and_context_proto_msgTypes[30].OneofWrappers = []any{ (*GrpcPipelinePartBase_DefaultPart)(nil), (*GrpcPipelinePartBase_ParallelPart)(nil), (*GrpcPipelinePartBase_SimpleContextRequestPart)(nil), (*GrpcPipelinePartBase_ComplexContextRequestPart)(nil), } - file_pipelines_and_context_proto_msgTypes[35].OneofWrappers = []any{ + file_pipelines_and_context_proto_msgTypes[39].OneofWrappers = []any{ (*GrpcNodeAdditionalData_None)(nil), (*GrpcNodeAdditionalData_SoftwareData)(nil), (*GrpcNodeAdditionalData_PatternInfo)(nil), @@ -4730,14 +4972,14 @@ func file_pipelines_and_context_proto_init() { (*GrpcNodeAdditionalData_TimeData)(nil), (*GrpcNodeAdditionalData_MultithreadedFragment)(nil), } - file_pipelines_and_context_proto_msgTypes[41].OneofWrappers = []any{ + file_pipelines_and_context_proto_msgTypes[45].OneofWrappers = []any{ (*GrpcOcelData_Allocate)(nil), (*GrpcOcelData_Consume)(nil), (*GrpcOcelData_MergedObjectAllocation)(nil), (*GrpcOcelData_ProduceObjectConsumption)(nil), } - file_pipelines_and_context_proto_msgTypes[45].OneofWrappers = []any{} - file_pipelines_and_context_proto_msgTypes[55].OneofWrappers = []any{ + file_pipelines_and_context_proto_msgTypes[49].OneofWrappers = []any{} + file_pipelines_and_context_proto_msgTypes[59].OneofWrappers = []any{ (*GrpcGraphEdgeAdditionalData_SoftwareData)(nil), (*GrpcGraphEdgeAdditionalData_ExecutionInfo)(nil), (*GrpcGraphEdgeAdditionalData_TimeData)(nil), @@ -4748,7 +4990,7 @@ func file_pipelines_and_context_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_pipelines_and_context_proto_rawDesc), len(file_pipelines_and_context_proto_rawDesc)), NumEnums: 3, - NumMessages: 63, + NumMessages: 67, NumExtensions: 0, NumServices: 0, }, diff --git a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py index d847c6988..9ee918ac1 100644 --- a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py +++ b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py @@ -34,7 +34,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bpipelines_and_context.proto\x12\x05\x66icus\x1a\x0fpm_models.proto\x1a\nutil.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x1e\n\x0eGrpcContextKey\x12\x0c\n\x04name\x18\x01 \x01(\t\"W\n\x1bGrpcContextValueWithKeyName\x12\x10\n\x08key_name\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"\x8b\t\n\x10GrpcContextValue\x12\x10\n\x06string\x18\x01 \x01(\tH\x00\x12;\n\nhashes_log\x18\x02 \x01(\x0b\x32%.ficus.GrpcHashesEventLogContextValueH\x00\x12\x39\n\tnames_log\x18\x03 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12\x10\n\x06uint32\x18\x04 \x01(\rH\x00\x12J\n\x11traces_sub_arrays\x18\x05 \x01(\x0b\x32-.ficus.GrpcEventLogTraceSubArraysContextValueH\x00\x12P\n\x16trace_index_sub_arrays\x18\x06 \x01(\x0b\x32..ficus.GrpcSubArraysWithTraceIndexContextValueH\x00\x12\x0e\n\x04\x62ool\x18\x07 \x01(\x08H\x00\x12=\n\rxes_event_log\x18\x08 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12/\n\ncolors_log\x18\t \x01(\x0b\x32\x19.ficus.GrpcColorsEventLogH\x00\x12\x1f\n\x04\x65num\x18\n \x01(\x0b\x32\x0f.ficus.GrpcEnumH\x00\x12\x31\n\x0e\x65vent_log_info\x18\x0b \x01(\x0b\x32\x17.ficus.GrpcEventLogInfoH\x00\x12%\n\x07strings\x18\x0c \x01(\x0b\x32\x12.ficus.GrpcStringsH\x00\x12\'\n\x08pipeline\x18\r \x01(\x0b\x32\x13.ficus.GrpcPipelineH\x00\x12\'\n\x08petriNet\x18\x0e \x01(\x0b\x32\x13.ficus.GrpcPetriNetH\x00\x12!\n\x05graph\x18\x0f \x01(\x0b\x32\x10.ficus.GrpcGraphH\x00\x12\x0f\n\x05\x66loat\x18\x10 \x01(\x02H\x00\x12+\n\nannotation\x18\x11 \x01(\x0b\x32\x15.ficus.GrpcAnnotationH\x00\x12%\n\x07\x64\x61taset\x18\x12 \x01(\x0b\x32\x12.ficus.GrpcDatasetH\x00\x12\x34\n\x0flabeled_dataset\x18\x13 \x01(\x0b\x32\x19.ficus.GrpcLabeledDatasetH\x00\x12!\n\x05\x62ytes\x18\x14 \x01(\x0b\x32\x10.ficus.GrpcBytesH\x00\x12;\n\x12logTimelineDiagram\x18\x15 \x01(\x0b\x32\x1d.ficus.GrpcLogTimelineDiagramH\x00\x12,\n\x0b\x66loat_array\x18\x16 \x01(\x0b\x32\x15.ficus.GrpcFloatArrayH\x00\x12(\n\tint_array\x18\x17 \x01(\x0b\x32\x13.ficus.GrpcIntArrayH\x00\x12*\n\nuint_array\x18\x18 \x01(\x0b\x32\x14.ficus.GrpcUintArrayH\x00\x12\x0e\n\x04json\x18\x19 \x01(\tH\x00\x12.\n\tevent_log\x18\x1a \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLogH\x00\x42\x0e\n\x0c\x63ontextValue\"\x1f\n\x0eGrpcFloatArray\x12\r\n\x05items\x18\x01 \x03(\x01\"\x1d\n\x0cGrpcIntArray\x12\r\n\x05items\x18\x01 \x03(\x03\"\x1e\n\rGrpcUintArray\x12\r\n\x05items\x18\x01 \x03(\x04\"a\n\x13GrpcContextKeyValue\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"H\n\x1eGrpcHashesEventLogContextValue\x12&\n\x03log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcHashesEventLog\"F\n\x1dGrpcNamesEventLogContextValue\x12%\n\x03log\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcNamesEventLog\"^\n&GrpcEventLogTraceSubArraysContextValue\x12\x34\n\x11traces_sub_arrays\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcTraceSubArrays\"/\n\x11GrpcTraceSubArray\x12\r\n\x05start\x18\x01 \x01(\r\x12\x0b\n\x03\x65nd\x18\x02 \x01(\r\"B\n\x12GrpcTraceSubArrays\x12,\n\nsub_arrays\x18\x01 \x03(\x0b\x32\x18.ficus.GrpcTraceSubArray\"^\n\x1aGrpcSubArrayWithTraceIndex\x12+\n\tsub_array\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcTraceSubArray\x12\x13\n\x0btrace_index\x18\x02 \x01(\r\"`\n\'GrpcSubArraysWithTraceIndexContextValue\x12\x35\n\nsub_arrays\x18\x01 \x03(\x0b\x32!.ficus.GrpcSubArrayWithTraceIndex\"\xa4\x01\n\x12GrpcColorsEventLog\x12\x31\n\x07mapping\x18\x01 \x03(\x0b\x32 .ficus.GrpcColorsEventLogMapping\x12&\n\x06traces\x18\x02 \x03(\x0b\x32\x16.ficus.GrpcColorsTrace\x12\x33\n\x0b\x61\x64justments\x18\x03 \x03(\x0b\x32\x1e.ficus.GrpcColorsLogAdjustment\"\xba\x01\n\x17GrpcColorsLogAdjustment\x12G\n\x14rectangle_adjustment\x18\x01 \x01(\x0b\x32\'.ficus.GrpcColorsLogRectangleAdjustmentH\x00\x12I\n\x10\x61xis_after_trace\x18\x02 \x01(\x0b\x32-.ficus.GrpcColorsLogXAxisAfterTraceAdjustmentH\x00\x42\x0b\n\tselection\"\xa9\x01\n GrpcColorsLogRectangleAdjustment\x12*\n\rup_left_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12-\n\x10\x64own_right_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12*\n\"extend_to_nearest_vertical_borders\x18\x03 \x01(\x08\"8\n\x0cGrpcLogPoint\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x02 \x01(\x04\"=\n&GrpcColorsLogXAxisAfterTraceAdjustment\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\"J\n\x19GrpcColorsEventLogMapping\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x05\x63olor\x18\x02 \x01(\x0b\x32\x10.ficus.GrpcColor\"\\\n\x0fGrpcColorsTrace\x12\x31\n\x0c\x65vent_colors\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcColoredRectangle\x12\x16\n\x0e\x63onstant_width\x18\x02 \x01(\x08\"L\n\x14GrpcColoredRectangle\x12\x13\n\x0b\x63olor_index\x18\x01 \x01(\r\x12\x0f\n\x07start_x\x18\x02 \x01(\x01\x12\x0e\n\x06length\x18\x03 \x01(\x01\"+\n\x08GrpcEnum\x12\x10\n\x08\x65numType\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"[\n\x10GrpcEventLogInfo\x12\x14\n\x0c\x65vents_count\x18\x01 \x01(\r\x12\x14\n\x0ctraces_count\x18\x02 \x01(\r\x12\x1b\n\x13\x65vent_classes_count\x18\x03 \x01(\r\"\x1e\n\x0bGrpcStrings\x12\x0f\n\x07strings\x18\x01 \x03(\t\":\n\x0cGrpcPipeline\x12*\n\x05parts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"\xab\x02\n\x14GrpcPipelinePartBase\x12.\n\x0b\x64\x65\x66\x61ultPart\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcPipelinePartH\x00\x12\x37\n\x0cparallelPart\x18\x02 \x01(\x0b\x32\x1f.ficus.GrpcParallelPipelinePartH\x00\x12O\n\x18simpleContextRequestPart\x18\x03 \x01(\x0b\x32+.ficus.GrpcSimpleContextRequestPipelinePartH\x00\x12Q\n\x19\x63omplexContextRequestPart\x18\x04 \x01(\x0b\x32,.ficus.GrpcComplexContextRequestPipelinePartH\x00\x42\x06\n\x04part\"]\n\x10GrpcPipelinePart\x12\x0c\n\x04name\x18\x01 \x01(\t\x12;\n\rconfiguration\x18\x02 \x01(\x0b\x32$.ficus.GrpcPipelinePartConfiguration\"\\\n\x1dGrpcPipelinePartConfiguration\x12;\n\x17\x63onfigurationParameters\x18\x01 \x03(\x0b\x32\x1a.ficus.GrpcContextKeyValue\"N\n\x18GrpcParallelPipelinePart\x12\x32\n\rpipelineParts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"N\n\x19GrpcParallelPipelineParts\x12\x31\n\x08pipeline\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcParallelPipelinePart\"\x97\x01\n$GrpcSimpleContextRequestPipelinePart\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12)\n\x10\x66rontendPartUuid\x18\x02 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x03 \x01(\t\"\xce\x01\n%GrpcComplexContextRequestPipelinePart\x12#\n\x04keys\x18\x01 \x03(\x0b\x32\x15.ficus.GrpcContextKey\x12\x33\n\x12\x62\x65\x66orePipelinePart\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcPipelinePart\x12)\n\x10\x66rontendPartUuid\x18\x03 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x04 \x01(\t\"y\n\tGrpcGraph\x12#\n\x05nodes\x18\x01 \x03(\x0b\x32\x14.ficus.GrpcGraphNode\x12#\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x14.ficus.GrpcGraphEdge\x12\"\n\x04kind\x18\x03 \x01(\x0e\x32\x14.ficus.GrpcGraphKind\"\x88\x01\n\rGrpcGraphNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\x12\x36\n\x0f\x61\x64\x64itional_data\x18\x03 \x03(\x0b\x32\x1d.ficus.GrpcNodeAdditionalData\x12%\n\x0binner_graph\x18\x04 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\xac\x03\n\x16GrpcNodeAdditionalData\x12&\n\x04none\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x30\n\rsoftware_data\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x38\n\x0cpattern_info\x18\x03 \x01(\x0b\x32 .ficus.GrpcUnderlyingPatternInfoH\x00\x12;\n\ntrace_data\x18\x04 \x01(\x0b\x32%.ficus.GrpcNodeCorrespondingTraceDataH\x00\x12\x34\n\ttime_data\x18\x05 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x12\x42\n\x16multithreaded_fragment\x18\x07 \x01(\x0b\x32 .ficus.GrpcMultithreadedFragmentH\x00\x12?\n\x1aoriginal_event_coordinates\x18\x06 \x01(\x0b\x32\x1b.ficus.GrpcEventCoordinatesB\x06\n\x04\x64\x61ta\"Q\n\x19GrpcMultithreadedFragment\x12\x34\n\x11multithreaded_log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLog\"@\n\x18GrpcActivityStartEndData\x12\x12\n\nstart_time\x18\x01 \x01(\x03\x12\x10\n\x08\x65nd_time\x18\x02 \x01(\x03\"=\n\x14GrpcEventCoordinates\x12\x10\n\x08trace_id\x18\x02 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x03 \x01(\x04\"B\n\x1eGrpcNodeCorrespondingTraceData\x12 \n\x18\x62\x65longs_to_root_sequence\x18\x01 \x01(\x08\"\xe7\x02\n\x10GrpcSoftwareData\x12,\n\thistogram\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\x12\x45\n\x19timeline_diagram_fragment\x18\x02 \x01(\x0b\x32\".ficus.GrpcTimelineDiagramFragment\x12\x37\n\x0ehistogram_data\x18\r \x03(\x0b\x32\x1f.ficus.GrpcGeneralHistogramData\x12\x39\n\x13simple_counter_data\x18\x0e \x03(\x0b\x32\x1c.ficus.GrpcSimpleCounterData\x12\x42\n\x19\x61\x63tivities_durations_data\x18\x0f \x03(\x0b\x32\x1f.ficus.GrpcActivityDurationData\x12&\n\tocel_data\x18\x10 \x03(\x0b\x32\x13.ficus.GrpcOcelData\"\xa9\x02\n\x0cGrpcOcelData\x12\x13\n\x0bobject_type\x18\x01 \x01(\t\x12\x11\n\tobject_id\x18\x02 \x01(\t\x12*\n\x08\x61llocate\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12)\n\x07\x63onsume\x18\x04 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x45\n\x18merged_object_allocation\x18\x05 \x01(\x0b\x32!.ficus.GrpcMergedObjectAllocationH\x00\x12I\n\x1aproduce_object_consumption\x18\x06 \x01(\x0b\x32#.ficus.GrpcProduceObjectConsumptionH\x00\x42\x08\n\x06\x61\x63tion\":\n\x1aGrpcMergedObjectAllocation\x12\x1c\n\x14\x63onsumed_objects_ids\x18\x01 \x03(\t\"<\n\x1cGrpcProduceObjectConsumption\x12\x1c\n\x14produced_objects_ids\x18\x02 \x03(\t\"\x84\x01\n\x18GrpcActivityDurationData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12%\n\x04kind\x18\x03 \x01(\x0e\x32\x17.ficus.GrpcDurationKind\"W\n\x1aGrpcGenericEnhancementBase\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05units\x18\x02 \x01(\t\x12\x12\n\x05group\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_group\"w\n\x18GrpcGeneralHistogramData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12*\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\"W\n\x15GrpcSimpleCounterData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"|\n\x16GrpcMethodInliningInfo\x12\x30\n\x0cinlinee_info\x18\x01 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\x12\x30\n\x0cinliner_info\x18\x02 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\"I\n\x13GrpcMethodNameParts\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\t\"1\n\x12GrpcHistogramEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"A\n\x1bGrpcTimelineDiagramFragment\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\"a\n\x12GrpcAllocationInfo\x12\x11\n\ttype_name\x18\x01 \x01(\t\x12\x1f\n\x17\x61llocated_objects_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x61llocated_bytes\x18\x03 \x01(\x04\"\x8b\x01\n\x19GrpcUnderlyingPatternInfo\x12\x36\n\x0cpattern_kind\x18\x01 \x01(\x0e\x32 .ficus.GrpcUnderlyingPatternKind\x12\x15\n\rbase_sequence\x18\x02 \x03(\t\x12\x1f\n\x05graph\x18\x03 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\x9a\x01\n\rGrpcGraphEdge\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tfrom_node\x18\x02 \x01(\x04\x12\x0f\n\x07to_node\x18\x03 \x01(\x04\x12\x0e\n\x06weight\x18\x04 \x01(\x01\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\t\x12;\n\x0f\x61\x64\x64itional_data\x18\x06 \x03(\x0b\x32\".ficus.GrpcGraphEdgeAdditionalData\"\xc5\x01\n\x1bGrpcGraphEdgeAdditionalData\x12\x30\n\rsoftware_data\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x36\n\x0e\x65xecution_info\x18\x02 \x01(\x0b\x32\x1c.ficus.GrpcEdgeExecutionInfoH\x00\x12\x34\n\ttime_data\x18\x03 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x42\x06\n\x04\x64\x61ta\"(\n\x15GrpcEdgeExecutionInfo\x12\x0f\n\x07traceId\x18\x01 \x01(\x04\"\x1a\n\tGrpcBytes\x12\r\n\x05\x62ytes\x18\x01 \x01(\x0c\"I\n\x16GrpcLogTimelineDiagram\x12/\n\x06traces\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcTraceTimelineDiagram\"p\n\x1cGrpcTimelineTraceEventsGroup\x12(\n\x0bstart_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12&\n\tend_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\"z\n\x18GrpcTraceTimelineDiagram\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\x12:\n\revents_groups\x18\x02 \x03(\x0b\x32#.ficus.GrpcTimelineTraceEventsGroup\"4\n\nGrpcThread\x12&\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x16.ficus.GrpcThreadEvent\".\n\x0fGrpcThreadEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05stamp\x18\x02 \x01(\x03*.\n\rGrpcGraphKind\x12\x08\n\x04None\x10\x00\x12\x07\n\x03\x44\x41G\x10\x01\x12\n\n\x06\x44\x61gLCS\x10\x02*u\n\x10GrpcDurationKind\x12\x0f\n\x0bUnspecified\x10\x00\x12\t\n\x05Nanos\x10\x01\x12\n\n\x06Micros\x10\x02\x12\n\n\x06Millis\x10\x03\x12\x0b\n\x07Seconds\x10\x04\x12\x0b\n\x07Minutes\x10\x05\x12\t\n\x05Hours\x10\x06\x12\x08\n\x04\x44\x61ys\x10\x07*\xb1\x01\n\x19GrpcUnderlyingPatternKind\x12\x0e\n\nStrictLoop\x10\x00\x12\x18\n\x14PrimitiveTandemArray\x10\x01\x12\x16\n\x12MaximalTandemArray\x10\x02\x12\x11\n\rMaximalRepeat\x10\x03\x12\x16\n\x12SuperMaximalRepeat\x10\x04\x12\x1a\n\x16NearSuperMaximalRepeat\x10\x05\x12\x0b\n\x07Unknown\x10\x06\x42\x0fZ\r./;grpcmodelsb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bpipelines_and_context.proto\x12\x05\x66icus\x1a\x0fpm_models.proto\x1a\nutil.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x1e\n\x0eGrpcContextKey\x12\x0c\n\x04name\x18\x01 \x01(\t\"W\n\x1bGrpcContextValueWithKeyName\x12\x10\n\x08key_name\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"\xc6\t\n\x10GrpcContextValue\x12\x10\n\x06string\x18\x01 \x01(\tH\x00\x12;\n\nhashes_log\x18\x02 \x01(\x0b\x32%.ficus.GrpcHashesEventLogContextValueH\x00\x12\x39\n\tnames_log\x18\x03 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12\x10\n\x06uint32\x18\x04 \x01(\rH\x00\x12J\n\x11traces_sub_arrays\x18\x05 \x01(\x0b\x32-.ficus.GrpcEventLogTraceSubArraysContextValueH\x00\x12P\n\x16trace_index_sub_arrays\x18\x06 \x01(\x0b\x32..ficus.GrpcSubArraysWithTraceIndexContextValueH\x00\x12\x0e\n\x04\x62ool\x18\x07 \x01(\x08H\x00\x12=\n\rxes_event_log\x18\x08 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12/\n\ncolors_log\x18\t \x01(\x0b\x32\x19.ficus.GrpcColorsEventLogH\x00\x12\x1f\n\x04\x65num\x18\n \x01(\x0b\x32\x0f.ficus.GrpcEnumH\x00\x12\x31\n\x0e\x65vent_log_info\x18\x0b \x01(\x0b\x32\x17.ficus.GrpcEventLogInfoH\x00\x12%\n\x07strings\x18\x0c \x01(\x0b\x32\x12.ficus.GrpcStringsH\x00\x12\'\n\x08pipeline\x18\r \x01(\x0b\x32\x13.ficus.GrpcPipelineH\x00\x12\'\n\x08petriNet\x18\x0e \x01(\x0b\x32\x13.ficus.GrpcPetriNetH\x00\x12!\n\x05graph\x18\x0f \x01(\x0b\x32\x10.ficus.GrpcGraphH\x00\x12\x0f\n\x05\x66loat\x18\x10 \x01(\x02H\x00\x12+\n\nannotation\x18\x11 \x01(\x0b\x32\x15.ficus.GrpcAnnotationH\x00\x12%\n\x07\x64\x61taset\x18\x12 \x01(\x0b\x32\x12.ficus.GrpcDatasetH\x00\x12\x34\n\x0flabeled_dataset\x18\x13 \x01(\x0b\x32\x19.ficus.GrpcLabeledDatasetH\x00\x12!\n\x05\x62ytes\x18\x14 \x01(\x0b\x32\x10.ficus.GrpcBytesH\x00\x12;\n\x12logTimelineDiagram\x18\x15 \x01(\x0b\x32\x1d.ficus.GrpcLogTimelineDiagramH\x00\x12,\n\x0b\x66loat_array\x18\x16 \x01(\x0b\x32\x15.ficus.GrpcFloatArrayH\x00\x12(\n\tint_array\x18\x17 \x01(\x0b\x32\x13.ficus.GrpcIntArrayH\x00\x12*\n\nuint_array\x18\x18 \x01(\x0b\x32\x14.ficus.GrpcUintArrayH\x00\x12\x0e\n\x04json\x18\x19 \x01(\tH\x00\x12.\n\tevent_log\x18\x1a \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLogH\x00\x12\x39\n\x0focel_annotation\x18\x1b \x01(\x0b\x32\x1e.ficus.GrpcOcelModelAnnotationH\x00\x42\x0e\n\x0c\x63ontextValue\"U\n\x17GrpcOcelModelAnnotation\x12:\n\x0b\x61nnotations\x18\x01 \x03(\x0b\x32%.ficus.GrpcModelElementOcelAnnotation\"\x8c\x01\n\x1eGrpcModelElementOcelAnnotation\x12\x12\n\nelement_id\x18\x01 \x01(\x04\x12+\n\rinitial_state\x18\x02 \x01(\x0b\x32\x14.ficus.GrpcOcelState\x12)\n\x0b\x66inal_state\x18\x03 \x01(\x0b\x32\x14.ficus.GrpcOcelState\"D\n\rGrpcOcelState\x12\x33\n\x0btype_states\x18\x01 \x03(\x0b\x32\x1e.ficus.GrpcOcelObjectTypeState\";\n\x17GrpcOcelObjectTypeState\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x12\n\nobject_ids\x18\x02 \x03(\t\"\x1f\n\x0eGrpcFloatArray\x12\r\n\x05items\x18\x01 \x03(\x01\"\x1d\n\x0cGrpcIntArray\x12\r\n\x05items\x18\x01 \x03(\x03\"\x1e\n\rGrpcUintArray\x12\r\n\x05items\x18\x01 \x03(\x04\"a\n\x13GrpcContextKeyValue\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"H\n\x1eGrpcHashesEventLogContextValue\x12&\n\x03log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcHashesEventLog\"F\n\x1dGrpcNamesEventLogContextValue\x12%\n\x03log\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcNamesEventLog\"^\n&GrpcEventLogTraceSubArraysContextValue\x12\x34\n\x11traces_sub_arrays\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcTraceSubArrays\"/\n\x11GrpcTraceSubArray\x12\r\n\x05start\x18\x01 \x01(\r\x12\x0b\n\x03\x65nd\x18\x02 \x01(\r\"B\n\x12GrpcTraceSubArrays\x12,\n\nsub_arrays\x18\x01 \x03(\x0b\x32\x18.ficus.GrpcTraceSubArray\"^\n\x1aGrpcSubArrayWithTraceIndex\x12+\n\tsub_array\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcTraceSubArray\x12\x13\n\x0btrace_index\x18\x02 \x01(\r\"`\n\'GrpcSubArraysWithTraceIndexContextValue\x12\x35\n\nsub_arrays\x18\x01 \x03(\x0b\x32!.ficus.GrpcSubArrayWithTraceIndex\"\xa4\x01\n\x12GrpcColorsEventLog\x12\x31\n\x07mapping\x18\x01 \x03(\x0b\x32 .ficus.GrpcColorsEventLogMapping\x12&\n\x06traces\x18\x02 \x03(\x0b\x32\x16.ficus.GrpcColorsTrace\x12\x33\n\x0b\x61\x64justments\x18\x03 \x03(\x0b\x32\x1e.ficus.GrpcColorsLogAdjustment\"\xba\x01\n\x17GrpcColorsLogAdjustment\x12G\n\x14rectangle_adjustment\x18\x01 \x01(\x0b\x32\'.ficus.GrpcColorsLogRectangleAdjustmentH\x00\x12I\n\x10\x61xis_after_trace\x18\x02 \x01(\x0b\x32-.ficus.GrpcColorsLogXAxisAfterTraceAdjustmentH\x00\x42\x0b\n\tselection\"\xa9\x01\n GrpcColorsLogRectangleAdjustment\x12*\n\rup_left_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12-\n\x10\x64own_right_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12*\n\"extend_to_nearest_vertical_borders\x18\x03 \x01(\x08\"8\n\x0cGrpcLogPoint\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x02 \x01(\x04\"=\n&GrpcColorsLogXAxisAfterTraceAdjustment\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\"J\n\x19GrpcColorsEventLogMapping\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x05\x63olor\x18\x02 \x01(\x0b\x32\x10.ficus.GrpcColor\"\\\n\x0fGrpcColorsTrace\x12\x31\n\x0c\x65vent_colors\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcColoredRectangle\x12\x16\n\x0e\x63onstant_width\x18\x02 \x01(\x08\"L\n\x14GrpcColoredRectangle\x12\x13\n\x0b\x63olor_index\x18\x01 \x01(\r\x12\x0f\n\x07start_x\x18\x02 \x01(\x01\x12\x0e\n\x06length\x18\x03 \x01(\x01\"+\n\x08GrpcEnum\x12\x10\n\x08\x65numType\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"[\n\x10GrpcEventLogInfo\x12\x14\n\x0c\x65vents_count\x18\x01 \x01(\r\x12\x14\n\x0ctraces_count\x18\x02 \x01(\r\x12\x1b\n\x13\x65vent_classes_count\x18\x03 \x01(\r\"\x1e\n\x0bGrpcStrings\x12\x0f\n\x07strings\x18\x01 \x03(\t\":\n\x0cGrpcPipeline\x12*\n\x05parts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"\xab\x02\n\x14GrpcPipelinePartBase\x12.\n\x0b\x64\x65\x66\x61ultPart\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcPipelinePartH\x00\x12\x37\n\x0cparallelPart\x18\x02 \x01(\x0b\x32\x1f.ficus.GrpcParallelPipelinePartH\x00\x12O\n\x18simpleContextRequestPart\x18\x03 \x01(\x0b\x32+.ficus.GrpcSimpleContextRequestPipelinePartH\x00\x12Q\n\x19\x63omplexContextRequestPart\x18\x04 \x01(\x0b\x32,.ficus.GrpcComplexContextRequestPipelinePartH\x00\x42\x06\n\x04part\"]\n\x10GrpcPipelinePart\x12\x0c\n\x04name\x18\x01 \x01(\t\x12;\n\rconfiguration\x18\x02 \x01(\x0b\x32$.ficus.GrpcPipelinePartConfiguration\"\\\n\x1dGrpcPipelinePartConfiguration\x12;\n\x17\x63onfigurationParameters\x18\x01 \x03(\x0b\x32\x1a.ficus.GrpcContextKeyValue\"N\n\x18GrpcParallelPipelinePart\x12\x32\n\rpipelineParts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"N\n\x19GrpcParallelPipelineParts\x12\x31\n\x08pipeline\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcParallelPipelinePart\"\x97\x01\n$GrpcSimpleContextRequestPipelinePart\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12)\n\x10\x66rontendPartUuid\x18\x02 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x03 \x01(\t\"\xce\x01\n%GrpcComplexContextRequestPipelinePart\x12#\n\x04keys\x18\x01 \x03(\x0b\x32\x15.ficus.GrpcContextKey\x12\x33\n\x12\x62\x65\x66orePipelinePart\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcPipelinePart\x12)\n\x10\x66rontendPartUuid\x18\x03 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x04 \x01(\t\"y\n\tGrpcGraph\x12#\n\x05nodes\x18\x01 \x03(\x0b\x32\x14.ficus.GrpcGraphNode\x12#\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x14.ficus.GrpcGraphEdge\x12\"\n\x04kind\x18\x03 \x01(\x0e\x32\x14.ficus.GrpcGraphKind\"\x88\x01\n\rGrpcGraphNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\x12\x36\n\x0f\x61\x64\x64itional_data\x18\x03 \x03(\x0b\x32\x1d.ficus.GrpcNodeAdditionalData\x12%\n\x0binner_graph\x18\x04 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\xac\x03\n\x16GrpcNodeAdditionalData\x12&\n\x04none\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x30\n\rsoftware_data\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x38\n\x0cpattern_info\x18\x03 \x01(\x0b\x32 .ficus.GrpcUnderlyingPatternInfoH\x00\x12;\n\ntrace_data\x18\x04 \x01(\x0b\x32%.ficus.GrpcNodeCorrespondingTraceDataH\x00\x12\x34\n\ttime_data\x18\x05 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x12\x42\n\x16multithreaded_fragment\x18\x07 \x01(\x0b\x32 .ficus.GrpcMultithreadedFragmentH\x00\x12?\n\x1aoriginal_event_coordinates\x18\x06 \x01(\x0b\x32\x1b.ficus.GrpcEventCoordinatesB\x06\n\x04\x64\x61ta\"Q\n\x19GrpcMultithreadedFragment\x12\x34\n\x11multithreaded_log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLog\"@\n\x18GrpcActivityStartEndData\x12\x12\n\nstart_time\x18\x01 \x01(\x03\x12\x10\n\x08\x65nd_time\x18\x02 \x01(\x03\"=\n\x14GrpcEventCoordinates\x12\x10\n\x08trace_id\x18\x02 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x03 \x01(\x04\"B\n\x1eGrpcNodeCorrespondingTraceData\x12 \n\x18\x62\x65longs_to_root_sequence\x18\x01 \x01(\x08\"\xe7\x02\n\x10GrpcSoftwareData\x12,\n\thistogram\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\x12\x45\n\x19timeline_diagram_fragment\x18\x02 \x01(\x0b\x32\".ficus.GrpcTimelineDiagramFragment\x12\x37\n\x0ehistogram_data\x18\r \x03(\x0b\x32\x1f.ficus.GrpcGeneralHistogramData\x12\x39\n\x13simple_counter_data\x18\x0e \x03(\x0b\x32\x1c.ficus.GrpcSimpleCounterData\x12\x42\n\x19\x61\x63tivities_durations_data\x18\x0f \x03(\x0b\x32\x1f.ficus.GrpcActivityDurationData\x12&\n\tocel_data\x18\x10 \x03(\x0b\x32\x13.ficus.GrpcOcelData\"\xa9\x02\n\x0cGrpcOcelData\x12\x13\n\x0bobject_type\x18\x01 \x01(\t\x12\x11\n\tobject_id\x18\x02 \x01(\t\x12*\n\x08\x61llocate\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12)\n\x07\x63onsume\x18\x04 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x45\n\x18merged_object_allocation\x18\x05 \x01(\x0b\x32!.ficus.GrpcMergedObjectAllocationH\x00\x12I\n\x1aproduce_object_consumption\x18\x06 \x01(\x0b\x32#.ficus.GrpcProduceObjectConsumptionH\x00\x42\x08\n\x06\x61\x63tion\":\n\x1aGrpcMergedObjectAllocation\x12\x1c\n\x14\x63onsumed_objects_ids\x18\x01 \x03(\t\"<\n\x1cGrpcProduceObjectConsumption\x12\x1c\n\x14produced_objects_ids\x18\x02 \x03(\t\"\x84\x01\n\x18GrpcActivityDurationData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12%\n\x04kind\x18\x03 \x01(\x0e\x32\x17.ficus.GrpcDurationKind\"W\n\x1aGrpcGenericEnhancementBase\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05units\x18\x02 \x01(\t\x12\x12\n\x05group\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_group\"w\n\x18GrpcGeneralHistogramData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12*\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\"W\n\x15GrpcSimpleCounterData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"|\n\x16GrpcMethodInliningInfo\x12\x30\n\x0cinlinee_info\x18\x01 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\x12\x30\n\x0cinliner_info\x18\x02 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\"I\n\x13GrpcMethodNameParts\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\t\"1\n\x12GrpcHistogramEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"A\n\x1bGrpcTimelineDiagramFragment\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\"a\n\x12GrpcAllocationInfo\x12\x11\n\ttype_name\x18\x01 \x01(\t\x12\x1f\n\x17\x61llocated_objects_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x61llocated_bytes\x18\x03 \x01(\x04\"\x8b\x01\n\x19GrpcUnderlyingPatternInfo\x12\x36\n\x0cpattern_kind\x18\x01 \x01(\x0e\x32 .ficus.GrpcUnderlyingPatternKind\x12\x15\n\rbase_sequence\x18\x02 \x03(\t\x12\x1f\n\x05graph\x18\x03 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\x9a\x01\n\rGrpcGraphEdge\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tfrom_node\x18\x02 \x01(\x04\x12\x0f\n\x07to_node\x18\x03 \x01(\x04\x12\x0e\n\x06weight\x18\x04 \x01(\x01\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\t\x12;\n\x0f\x61\x64\x64itional_data\x18\x06 \x03(\x0b\x32\".ficus.GrpcGraphEdgeAdditionalData\"\xc5\x01\n\x1bGrpcGraphEdgeAdditionalData\x12\x30\n\rsoftware_data\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x36\n\x0e\x65xecution_info\x18\x02 \x01(\x0b\x32\x1c.ficus.GrpcEdgeExecutionInfoH\x00\x12\x34\n\ttime_data\x18\x03 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x42\x06\n\x04\x64\x61ta\"(\n\x15GrpcEdgeExecutionInfo\x12\x0f\n\x07traceId\x18\x01 \x01(\x04\"\x1a\n\tGrpcBytes\x12\r\n\x05\x62ytes\x18\x01 \x01(\x0c\"I\n\x16GrpcLogTimelineDiagram\x12/\n\x06traces\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcTraceTimelineDiagram\"p\n\x1cGrpcTimelineTraceEventsGroup\x12(\n\x0bstart_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12&\n\tend_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\"z\n\x18GrpcTraceTimelineDiagram\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\x12:\n\revents_groups\x18\x02 \x03(\x0b\x32#.ficus.GrpcTimelineTraceEventsGroup\"4\n\nGrpcThread\x12&\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x16.ficus.GrpcThreadEvent\".\n\x0fGrpcThreadEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05stamp\x18\x02 \x01(\x03*.\n\rGrpcGraphKind\x12\x08\n\x04None\x10\x00\x12\x07\n\x03\x44\x41G\x10\x01\x12\n\n\x06\x44\x61gLCS\x10\x02*u\n\x10GrpcDurationKind\x12\x0f\n\x0bUnspecified\x10\x00\x12\t\n\x05Nanos\x10\x01\x12\n\n\x06Micros\x10\x02\x12\n\n\x06Millis\x10\x03\x12\x0b\n\x07Seconds\x10\x04\x12\x0b\n\x07Minutes\x10\x05\x12\t\n\x05Hours\x10\x06\x12\x08\n\x04\x44\x61ys\x10\x07*\xb1\x01\n\x19GrpcUnderlyingPatternKind\x12\x0e\n\nStrictLoop\x10\x00\x12\x18\n\x14PrimitiveTandemArray\x10\x01\x12\x16\n\x12MaximalTandemArray\x10\x02\x12\x11\n\rMaximalRepeat\x10\x03\x12\x16\n\x12SuperMaximalRepeat\x10\x04\x12\x1a\n\x16NearSuperMaximalRepeat\x10\x05\x12\x0b\n\x07Unknown\x10\x06\x42\x0fZ\r./;grpcmodelsb\x06proto3') @@ -50,17 +50,17 @@ DESCRIPTOR._serialized_options = b'Z\r./;grpcmodels' - _globals['_GRPCGRAPHKIND']._serialized_start=7865 + _globals['_GRPCGRAPHKIND']._serialized_start=8285 - _globals['_GRPCGRAPHKIND']._serialized_end=7911 + _globals['_GRPCGRAPHKIND']._serialized_end=8331 - _globals['_GRPCDURATIONKIND']._serialized_start=7913 + _globals['_GRPCDURATIONKIND']._serialized_start=8333 - _globals['_GRPCDURATIONKIND']._serialized_end=8030 + _globals['_GRPCDURATIONKIND']._serialized_end=8450 - _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_start=8033 + _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_start=8453 - _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_end=8210 + _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_end=8630 _globals['_GRPCCONTEXTKEY']._serialized_start=96 @@ -72,246 +72,262 @@ _globals['_GRPCCONTEXTVALUE']._serialized_start=218 - _globals['_GRPCCONTEXTVALUE']._serialized_end=1381 + _globals['_GRPCCONTEXTVALUE']._serialized_end=1440 - _globals['_GRPCFLOATARRAY']._serialized_start=1383 + _globals['_GRPCOCELMODELANNOTATION']._serialized_start=1442 - _globals['_GRPCFLOATARRAY']._serialized_end=1414 + _globals['_GRPCOCELMODELANNOTATION']._serialized_end=1527 - _globals['_GRPCINTARRAY']._serialized_start=1416 + _globals['_GRPCMODELELEMENTOCELANNOTATION']._serialized_start=1530 - _globals['_GRPCINTARRAY']._serialized_end=1445 + _globals['_GRPCMODELELEMENTOCELANNOTATION']._serialized_end=1670 - _globals['_GRPCUINTARRAY']._serialized_start=1447 + _globals['_GRPCOCELSTATE']._serialized_start=1672 - _globals['_GRPCUINTARRAY']._serialized_end=1477 + _globals['_GRPCOCELSTATE']._serialized_end=1740 - _globals['_GRPCCONTEXTKEYVALUE']._serialized_start=1479 + _globals['_GRPCOCELOBJECTTYPESTATE']._serialized_start=1742 - _globals['_GRPCCONTEXTKEYVALUE']._serialized_end=1576 + _globals['_GRPCOCELOBJECTTYPESTATE']._serialized_end=1801 - _globals['_GRPCHASHESEVENTLOGCONTEXTVALUE']._serialized_start=1578 + _globals['_GRPCFLOATARRAY']._serialized_start=1803 - _globals['_GRPCHASHESEVENTLOGCONTEXTVALUE']._serialized_end=1650 + _globals['_GRPCFLOATARRAY']._serialized_end=1834 - _globals['_GRPCNAMESEVENTLOGCONTEXTVALUE']._serialized_start=1652 + _globals['_GRPCINTARRAY']._serialized_start=1836 - _globals['_GRPCNAMESEVENTLOGCONTEXTVALUE']._serialized_end=1722 + _globals['_GRPCINTARRAY']._serialized_end=1865 - _globals['_GRPCEVENTLOGTRACESUBARRAYSCONTEXTVALUE']._serialized_start=1724 + _globals['_GRPCUINTARRAY']._serialized_start=1867 - _globals['_GRPCEVENTLOGTRACESUBARRAYSCONTEXTVALUE']._serialized_end=1818 + _globals['_GRPCUINTARRAY']._serialized_end=1897 - _globals['_GRPCTRACESUBARRAY']._serialized_start=1820 + _globals['_GRPCCONTEXTKEYVALUE']._serialized_start=1899 - _globals['_GRPCTRACESUBARRAY']._serialized_end=1867 + _globals['_GRPCCONTEXTKEYVALUE']._serialized_end=1996 - _globals['_GRPCTRACESUBARRAYS']._serialized_start=1869 + _globals['_GRPCHASHESEVENTLOGCONTEXTVALUE']._serialized_start=1998 - _globals['_GRPCTRACESUBARRAYS']._serialized_end=1935 + _globals['_GRPCHASHESEVENTLOGCONTEXTVALUE']._serialized_end=2070 - _globals['_GRPCSUBARRAYWITHTRACEINDEX']._serialized_start=1937 + _globals['_GRPCNAMESEVENTLOGCONTEXTVALUE']._serialized_start=2072 - _globals['_GRPCSUBARRAYWITHTRACEINDEX']._serialized_end=2031 + _globals['_GRPCNAMESEVENTLOGCONTEXTVALUE']._serialized_end=2142 - _globals['_GRPCSUBARRAYSWITHTRACEINDEXCONTEXTVALUE']._serialized_start=2033 + _globals['_GRPCEVENTLOGTRACESUBARRAYSCONTEXTVALUE']._serialized_start=2144 - _globals['_GRPCSUBARRAYSWITHTRACEINDEXCONTEXTVALUE']._serialized_end=2129 + _globals['_GRPCEVENTLOGTRACESUBARRAYSCONTEXTVALUE']._serialized_end=2238 - _globals['_GRPCCOLORSEVENTLOG']._serialized_start=2132 + _globals['_GRPCTRACESUBARRAY']._serialized_start=2240 - _globals['_GRPCCOLORSEVENTLOG']._serialized_end=2296 + _globals['_GRPCTRACESUBARRAY']._serialized_end=2287 - _globals['_GRPCCOLORSLOGADJUSTMENT']._serialized_start=2299 + _globals['_GRPCTRACESUBARRAYS']._serialized_start=2289 - _globals['_GRPCCOLORSLOGADJUSTMENT']._serialized_end=2485 + _globals['_GRPCTRACESUBARRAYS']._serialized_end=2355 - _globals['_GRPCCOLORSLOGRECTANGLEADJUSTMENT']._serialized_start=2488 + _globals['_GRPCSUBARRAYWITHTRACEINDEX']._serialized_start=2357 - _globals['_GRPCCOLORSLOGRECTANGLEADJUSTMENT']._serialized_end=2657 + _globals['_GRPCSUBARRAYWITHTRACEINDEX']._serialized_end=2451 - _globals['_GRPCLOGPOINT']._serialized_start=2659 + _globals['_GRPCSUBARRAYSWITHTRACEINDEXCONTEXTVALUE']._serialized_start=2453 - _globals['_GRPCLOGPOINT']._serialized_end=2715 + _globals['_GRPCSUBARRAYSWITHTRACEINDEXCONTEXTVALUE']._serialized_end=2549 - _globals['_GRPCCOLORSLOGXAXISAFTERTRACEADJUSTMENT']._serialized_start=2717 + _globals['_GRPCCOLORSEVENTLOG']._serialized_start=2552 - _globals['_GRPCCOLORSLOGXAXISAFTERTRACEADJUSTMENT']._serialized_end=2778 + _globals['_GRPCCOLORSEVENTLOG']._serialized_end=2716 - _globals['_GRPCCOLORSEVENTLOGMAPPING']._serialized_start=2780 + _globals['_GRPCCOLORSLOGADJUSTMENT']._serialized_start=2719 - _globals['_GRPCCOLORSEVENTLOGMAPPING']._serialized_end=2854 + _globals['_GRPCCOLORSLOGADJUSTMENT']._serialized_end=2905 - _globals['_GRPCCOLORSTRACE']._serialized_start=2856 + _globals['_GRPCCOLORSLOGRECTANGLEADJUSTMENT']._serialized_start=2908 - _globals['_GRPCCOLORSTRACE']._serialized_end=2948 + _globals['_GRPCCOLORSLOGRECTANGLEADJUSTMENT']._serialized_end=3077 - _globals['_GRPCCOLOREDRECTANGLE']._serialized_start=2950 + _globals['_GRPCLOGPOINT']._serialized_start=3079 - _globals['_GRPCCOLOREDRECTANGLE']._serialized_end=3026 + _globals['_GRPCLOGPOINT']._serialized_end=3135 - _globals['_GRPCENUM']._serialized_start=3028 + _globals['_GRPCCOLORSLOGXAXISAFTERTRACEADJUSTMENT']._serialized_start=3137 - _globals['_GRPCENUM']._serialized_end=3071 + _globals['_GRPCCOLORSLOGXAXISAFTERTRACEADJUSTMENT']._serialized_end=3198 - _globals['_GRPCEVENTLOGINFO']._serialized_start=3073 + _globals['_GRPCCOLORSEVENTLOGMAPPING']._serialized_start=3200 - _globals['_GRPCEVENTLOGINFO']._serialized_end=3164 + _globals['_GRPCCOLORSEVENTLOGMAPPING']._serialized_end=3274 - _globals['_GRPCSTRINGS']._serialized_start=3166 + _globals['_GRPCCOLORSTRACE']._serialized_start=3276 - _globals['_GRPCSTRINGS']._serialized_end=3196 + _globals['_GRPCCOLORSTRACE']._serialized_end=3368 - _globals['_GRPCPIPELINE']._serialized_start=3198 + _globals['_GRPCCOLOREDRECTANGLE']._serialized_start=3370 - _globals['_GRPCPIPELINE']._serialized_end=3256 + _globals['_GRPCCOLOREDRECTANGLE']._serialized_end=3446 - _globals['_GRPCPIPELINEPARTBASE']._serialized_start=3259 + _globals['_GRPCENUM']._serialized_start=3448 - _globals['_GRPCPIPELINEPARTBASE']._serialized_end=3558 + _globals['_GRPCENUM']._serialized_end=3491 - _globals['_GRPCPIPELINEPART']._serialized_start=3560 + _globals['_GRPCEVENTLOGINFO']._serialized_start=3493 - _globals['_GRPCPIPELINEPART']._serialized_end=3653 + _globals['_GRPCEVENTLOGINFO']._serialized_end=3584 - _globals['_GRPCPIPELINEPARTCONFIGURATION']._serialized_start=3655 + _globals['_GRPCSTRINGS']._serialized_start=3586 - _globals['_GRPCPIPELINEPARTCONFIGURATION']._serialized_end=3747 + _globals['_GRPCSTRINGS']._serialized_end=3616 - _globals['_GRPCPARALLELPIPELINEPART']._serialized_start=3749 + _globals['_GRPCPIPELINE']._serialized_start=3618 - _globals['_GRPCPARALLELPIPELINEPART']._serialized_end=3827 + _globals['_GRPCPIPELINE']._serialized_end=3676 - _globals['_GRPCPARALLELPIPELINEPARTS']._serialized_start=3829 + _globals['_GRPCPIPELINEPARTBASE']._serialized_start=3679 - _globals['_GRPCPARALLELPIPELINEPARTS']._serialized_end=3907 + _globals['_GRPCPIPELINEPARTBASE']._serialized_end=3978 - _globals['_GRPCSIMPLECONTEXTREQUESTPIPELINEPART']._serialized_start=3910 + _globals['_GRPCPIPELINEPART']._serialized_start=3980 - _globals['_GRPCSIMPLECONTEXTREQUESTPIPELINEPART']._serialized_end=4061 + _globals['_GRPCPIPELINEPART']._serialized_end=4073 - _globals['_GRPCCOMPLEXCONTEXTREQUESTPIPELINEPART']._serialized_start=4064 + _globals['_GRPCPIPELINEPARTCONFIGURATION']._serialized_start=4075 - _globals['_GRPCCOMPLEXCONTEXTREQUESTPIPELINEPART']._serialized_end=4270 + _globals['_GRPCPIPELINEPARTCONFIGURATION']._serialized_end=4167 - _globals['_GRPCGRAPH']._serialized_start=4272 + _globals['_GRPCPARALLELPIPELINEPART']._serialized_start=4169 - _globals['_GRPCGRAPH']._serialized_end=4393 + _globals['_GRPCPARALLELPIPELINEPART']._serialized_end=4247 - _globals['_GRPCGRAPHNODE']._serialized_start=4396 + _globals['_GRPCPARALLELPIPELINEPARTS']._serialized_start=4249 - _globals['_GRPCGRAPHNODE']._serialized_end=4532 + _globals['_GRPCPARALLELPIPELINEPARTS']._serialized_end=4327 - _globals['_GRPCNODEADDITIONALDATA']._serialized_start=4535 + _globals['_GRPCSIMPLECONTEXTREQUESTPIPELINEPART']._serialized_start=4330 - _globals['_GRPCNODEADDITIONALDATA']._serialized_end=4963 + _globals['_GRPCSIMPLECONTEXTREQUESTPIPELINEPART']._serialized_end=4481 - _globals['_GRPCMULTITHREADEDFRAGMENT']._serialized_start=4965 + _globals['_GRPCCOMPLEXCONTEXTREQUESTPIPELINEPART']._serialized_start=4484 - _globals['_GRPCMULTITHREADEDFRAGMENT']._serialized_end=5046 + _globals['_GRPCCOMPLEXCONTEXTREQUESTPIPELINEPART']._serialized_end=4690 - _globals['_GRPCACTIVITYSTARTENDDATA']._serialized_start=5048 + _globals['_GRPCGRAPH']._serialized_start=4692 - _globals['_GRPCACTIVITYSTARTENDDATA']._serialized_end=5112 + _globals['_GRPCGRAPH']._serialized_end=4813 - _globals['_GRPCEVENTCOORDINATES']._serialized_start=5114 + _globals['_GRPCGRAPHNODE']._serialized_start=4816 - _globals['_GRPCEVENTCOORDINATES']._serialized_end=5175 + _globals['_GRPCGRAPHNODE']._serialized_end=4952 - _globals['_GRPCNODECORRESPONDINGTRACEDATA']._serialized_start=5177 + _globals['_GRPCNODEADDITIONALDATA']._serialized_start=4955 - _globals['_GRPCNODECORRESPONDINGTRACEDATA']._serialized_end=5243 + _globals['_GRPCNODEADDITIONALDATA']._serialized_end=5383 - _globals['_GRPCSOFTWAREDATA']._serialized_start=5246 + _globals['_GRPCMULTITHREADEDFRAGMENT']._serialized_start=5385 - _globals['_GRPCSOFTWAREDATA']._serialized_end=5605 + _globals['_GRPCMULTITHREADEDFRAGMENT']._serialized_end=5466 - _globals['_GRPCOCELDATA']._serialized_start=5608 + _globals['_GRPCACTIVITYSTARTENDDATA']._serialized_start=5468 - _globals['_GRPCOCELDATA']._serialized_end=5905 + _globals['_GRPCACTIVITYSTARTENDDATA']._serialized_end=5532 - _globals['_GRPCMERGEDOBJECTALLOCATION']._serialized_start=5907 + _globals['_GRPCEVENTCOORDINATES']._serialized_start=5534 - _globals['_GRPCMERGEDOBJECTALLOCATION']._serialized_end=5965 + _globals['_GRPCEVENTCOORDINATES']._serialized_end=5595 - _globals['_GRPCPRODUCEOBJECTCONSUMPTION']._serialized_start=5967 + _globals['_GRPCNODECORRESPONDINGTRACEDATA']._serialized_start=5597 - _globals['_GRPCPRODUCEOBJECTCONSUMPTION']._serialized_end=6027 + _globals['_GRPCNODECORRESPONDINGTRACEDATA']._serialized_end=5663 - _globals['_GRPCACTIVITYDURATIONDATA']._serialized_start=6030 + _globals['_GRPCSOFTWAREDATA']._serialized_start=5666 - _globals['_GRPCACTIVITYDURATIONDATA']._serialized_end=6162 + _globals['_GRPCSOFTWAREDATA']._serialized_end=6025 - _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_start=6164 + _globals['_GRPCOCELDATA']._serialized_start=6028 - _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_end=6251 + _globals['_GRPCOCELDATA']._serialized_end=6325 - _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_start=6253 + _globals['_GRPCMERGEDOBJECTALLOCATION']._serialized_start=6327 - _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_end=6372 + _globals['_GRPCMERGEDOBJECTALLOCATION']._serialized_end=6385 - _globals['_GRPCSIMPLECOUNTERDATA']._serialized_start=6374 + _globals['_GRPCPRODUCEOBJECTCONSUMPTION']._serialized_start=6387 - _globals['_GRPCSIMPLECOUNTERDATA']._serialized_end=6461 + _globals['_GRPCPRODUCEOBJECTCONSUMPTION']._serialized_end=6447 - _globals['_GRPCMETHODINLININGINFO']._serialized_start=6463 + _globals['_GRPCACTIVITYDURATIONDATA']._serialized_start=6450 - _globals['_GRPCMETHODINLININGINFO']._serialized_end=6587 + _globals['_GRPCACTIVITYDURATIONDATA']._serialized_end=6582 - _globals['_GRPCMETHODNAMEPARTS']._serialized_start=6589 + _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_start=6584 - _globals['_GRPCMETHODNAMEPARTS']._serialized_end=6662 + _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_end=6671 - _globals['_GRPCHISTOGRAMENTRY']._serialized_start=6664 + _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_start=6673 - _globals['_GRPCHISTOGRAMENTRY']._serialized_end=6713 + _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_end=6792 - _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_start=6715 + _globals['_GRPCSIMPLECOUNTERDATA']._serialized_start=6794 - _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_end=6780 + _globals['_GRPCSIMPLECOUNTERDATA']._serialized_end=6881 - _globals['_GRPCALLOCATIONINFO']._serialized_start=6782 + _globals['_GRPCMETHODINLININGINFO']._serialized_start=6883 - _globals['_GRPCALLOCATIONINFO']._serialized_end=6879 + _globals['_GRPCMETHODINLININGINFO']._serialized_end=7007 - _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_start=6882 + _globals['_GRPCMETHODNAMEPARTS']._serialized_start=7009 - _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_end=7021 + _globals['_GRPCMETHODNAMEPARTS']._serialized_end=7082 - _globals['_GRPCGRAPHEDGE']._serialized_start=7024 + _globals['_GRPCHISTOGRAMENTRY']._serialized_start=7084 - _globals['_GRPCGRAPHEDGE']._serialized_end=7178 + _globals['_GRPCHISTOGRAMENTRY']._serialized_end=7133 - _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_start=7181 + _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_start=7135 - _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_end=7378 + _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_end=7200 - _globals['_GRPCEDGEEXECUTIONINFO']._serialized_start=7380 + _globals['_GRPCALLOCATIONINFO']._serialized_start=7202 - _globals['_GRPCEDGEEXECUTIONINFO']._serialized_end=7420 + _globals['_GRPCALLOCATIONINFO']._serialized_end=7299 - _globals['_GRPCBYTES']._serialized_start=7422 + _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_start=7302 - _globals['_GRPCBYTES']._serialized_end=7448 + _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_end=7441 - _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_start=7450 + _globals['_GRPCGRAPHEDGE']._serialized_start=7444 - _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_end=7523 + _globals['_GRPCGRAPHEDGE']._serialized_end=7598 - _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_start=7525 + _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_start=7601 - _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_end=7637 + _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_end=7798 - _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_start=7639 + _globals['_GRPCEDGEEXECUTIONINFO']._serialized_start=7800 - _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_end=7761 + _globals['_GRPCEDGEEXECUTIONINFO']._serialized_end=7840 - _globals['_GRPCTHREAD']._serialized_start=7763 + _globals['_GRPCBYTES']._serialized_start=7842 - _globals['_GRPCTHREAD']._serialized_end=7815 + _globals['_GRPCBYTES']._serialized_end=7868 - _globals['_GRPCTHREADEVENT']._serialized_start=7817 + _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_start=7870 - _globals['_GRPCTHREADEVENT']._serialized_end=7863 + _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_end=7943 + + _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_start=7945 + + _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_end=8057 + + _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_start=8059 + + _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_end=8181 + + _globals['_GRPCTHREAD']._serialized_start=8183 + + _globals['_GRPCTHREAD']._serialized_end=8235 + + _globals['_GRPCTHREADEVENT']._serialized_start=8237 + + _globals['_GRPCTHREADEVENT']._serialized_end=8283 # @@protoc_insertion_point(module_scope) diff --git a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi index 1a6d70285..6d8fcef01 100644 --- a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi +++ b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi @@ -69,7 +69,7 @@ class GrpcContextValueWithKeyName(_message.Message): def __init__(self, key_name: _Optional[str] = ..., value: _Optional[_Union[GrpcContextValue, _Mapping]] = ...) -> None: ... class GrpcContextValue(_message.Message): - __slots__ = ["string", "hashes_log", "names_log", "uint32", "traces_sub_arrays", "trace_index_sub_arrays", "bool", "xes_event_log", "colors_log", "enum", "event_log_info", "strings", "pipeline", "petriNet", "graph", "float", "annotation", "dataset", "labeled_dataset", "bytes", "logTimelineDiagram", "float_array", "int_array", "uint_array", "json", "event_log"] + __slots__ = ["string", "hashes_log", "names_log", "uint32", "traces_sub_arrays", "trace_index_sub_arrays", "bool", "xes_event_log", "colors_log", "enum", "event_log_info", "strings", "pipeline", "petriNet", "graph", "float", "annotation", "dataset", "labeled_dataset", "bytes", "logTimelineDiagram", "float_array", "int_array", "uint_array", "json", "event_log", "ocel_annotation"] STRING_FIELD_NUMBER: _ClassVar[int] HASHES_LOG_FIELD_NUMBER: _ClassVar[int] NAMES_LOG_FIELD_NUMBER: _ClassVar[int] @@ -96,6 +96,7 @@ class GrpcContextValue(_message.Message): UINT_ARRAY_FIELD_NUMBER: _ClassVar[int] JSON_FIELD_NUMBER: _ClassVar[int] EVENT_LOG_FIELD_NUMBER: _ClassVar[int] + OCEL_ANNOTATION_FIELD_NUMBER: _ClassVar[int] string: str hashes_log: GrpcHashesEventLogContextValue names_log: GrpcNamesEventLogContextValue @@ -122,7 +123,38 @@ class GrpcContextValue(_message.Message): uint_array: GrpcUintArray json: str event_log: _pm_models_pb2.GrpcSimpleEventLog - def __init__(self, string: _Optional[str] = ..., hashes_log: _Optional[_Union[GrpcHashesEventLogContextValue, _Mapping]] = ..., names_log: _Optional[_Union[GrpcNamesEventLogContextValue, _Mapping]] = ..., uint32: _Optional[int] = ..., traces_sub_arrays: _Optional[_Union[GrpcEventLogTraceSubArraysContextValue, _Mapping]] = ..., trace_index_sub_arrays: _Optional[_Union[GrpcSubArraysWithTraceIndexContextValue, _Mapping]] = ..., bool: bool = ..., xes_event_log: _Optional[_Union[GrpcNamesEventLogContextValue, _Mapping]] = ..., colors_log: _Optional[_Union[GrpcColorsEventLog, _Mapping]] = ..., enum: _Optional[_Union[GrpcEnum, _Mapping]] = ..., event_log_info: _Optional[_Union[GrpcEventLogInfo, _Mapping]] = ..., strings: _Optional[_Union[GrpcStrings, _Mapping]] = ..., pipeline: _Optional[_Union[GrpcPipeline, _Mapping]] = ..., petriNet: _Optional[_Union[_pm_models_pb2.GrpcPetriNet, _Mapping]] = ..., graph: _Optional[_Union[GrpcGraph, _Mapping]] = ..., float: _Optional[float] = ..., annotation: _Optional[_Union[_pm_models_pb2.GrpcAnnotation, _Mapping]] = ..., dataset: _Optional[_Union[_pm_models_pb2.GrpcDataset, _Mapping]] = ..., labeled_dataset: _Optional[_Union[_pm_models_pb2.GrpcLabeledDataset, _Mapping]] = ..., bytes: _Optional[_Union[GrpcBytes, _Mapping]] = ..., logTimelineDiagram: _Optional[_Union[GrpcLogTimelineDiagram, _Mapping]] = ..., float_array: _Optional[_Union[GrpcFloatArray, _Mapping]] = ..., int_array: _Optional[_Union[GrpcIntArray, _Mapping]] = ..., uint_array: _Optional[_Union[GrpcUintArray, _Mapping]] = ..., json: _Optional[str] = ..., event_log: _Optional[_Union[_pm_models_pb2.GrpcSimpleEventLog, _Mapping]] = ...) -> None: ... + ocel_annotation: GrpcOcelModelAnnotation + def __init__(self, string: _Optional[str] = ..., hashes_log: _Optional[_Union[GrpcHashesEventLogContextValue, _Mapping]] = ..., names_log: _Optional[_Union[GrpcNamesEventLogContextValue, _Mapping]] = ..., uint32: _Optional[int] = ..., traces_sub_arrays: _Optional[_Union[GrpcEventLogTraceSubArraysContextValue, _Mapping]] = ..., trace_index_sub_arrays: _Optional[_Union[GrpcSubArraysWithTraceIndexContextValue, _Mapping]] = ..., bool: bool = ..., xes_event_log: _Optional[_Union[GrpcNamesEventLogContextValue, _Mapping]] = ..., colors_log: _Optional[_Union[GrpcColorsEventLog, _Mapping]] = ..., enum: _Optional[_Union[GrpcEnum, _Mapping]] = ..., event_log_info: _Optional[_Union[GrpcEventLogInfo, _Mapping]] = ..., strings: _Optional[_Union[GrpcStrings, _Mapping]] = ..., pipeline: _Optional[_Union[GrpcPipeline, _Mapping]] = ..., petriNet: _Optional[_Union[_pm_models_pb2.GrpcPetriNet, _Mapping]] = ..., graph: _Optional[_Union[GrpcGraph, _Mapping]] = ..., float: _Optional[float] = ..., annotation: _Optional[_Union[_pm_models_pb2.GrpcAnnotation, _Mapping]] = ..., dataset: _Optional[_Union[_pm_models_pb2.GrpcDataset, _Mapping]] = ..., labeled_dataset: _Optional[_Union[_pm_models_pb2.GrpcLabeledDataset, _Mapping]] = ..., bytes: _Optional[_Union[GrpcBytes, _Mapping]] = ..., logTimelineDiagram: _Optional[_Union[GrpcLogTimelineDiagram, _Mapping]] = ..., float_array: _Optional[_Union[GrpcFloatArray, _Mapping]] = ..., int_array: _Optional[_Union[GrpcIntArray, _Mapping]] = ..., uint_array: _Optional[_Union[GrpcUintArray, _Mapping]] = ..., json: _Optional[str] = ..., event_log: _Optional[_Union[_pm_models_pb2.GrpcSimpleEventLog, _Mapping]] = ..., ocel_annotation: _Optional[_Union[GrpcOcelModelAnnotation, _Mapping]] = ...) -> None: ... + +class GrpcOcelModelAnnotation(_message.Message): + __slots__ = ["annotations"] + ANNOTATIONS_FIELD_NUMBER: _ClassVar[int] + annotations: _containers.RepeatedCompositeFieldContainer[GrpcModelElementOcelAnnotation] + def __init__(self, annotations: _Optional[_Iterable[_Union[GrpcModelElementOcelAnnotation, _Mapping]]] = ...) -> None: ... + +class GrpcModelElementOcelAnnotation(_message.Message): + __slots__ = ["element_id", "initial_state", "final_state"] + ELEMENT_ID_FIELD_NUMBER: _ClassVar[int] + INITIAL_STATE_FIELD_NUMBER: _ClassVar[int] + FINAL_STATE_FIELD_NUMBER: _ClassVar[int] + element_id: int + initial_state: GrpcOcelState + final_state: GrpcOcelState + def __init__(self, element_id: _Optional[int] = ..., initial_state: _Optional[_Union[GrpcOcelState, _Mapping]] = ..., final_state: _Optional[_Union[GrpcOcelState, _Mapping]] = ...) -> None: ... + +class GrpcOcelState(_message.Message): + __slots__ = ["type_states"] + TYPE_STATES_FIELD_NUMBER: _ClassVar[int] + type_states: _containers.RepeatedCompositeFieldContainer[GrpcOcelObjectTypeState] + def __init__(self, type_states: _Optional[_Iterable[_Union[GrpcOcelObjectTypeState, _Mapping]]] = ...) -> None: ... + +class GrpcOcelObjectTypeState(_message.Message): + __slots__ = ["type", "object_ids"] + TYPE_FIELD_NUMBER: _ClassVar[int] + OBJECT_IDS_FIELD_NUMBER: _ClassVar[int] + type: str + object_ids: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, type: _Optional[str] = ..., object_ids: _Optional[_Iterable[str]] = ...) -> None: ... class GrpcFloatArray(_message.Message): __slots__ = ["items"] diff --git a/Ficus/src/rust/ficus/src/grpc/converters.rs b/Ficus/src/rust/ficus/src/grpc/converters.rs index b26996e66..1ff8d5a2a 100644 --- a/Ficus/src/rust/ficus/src/grpc/converters.rs +++ b/Ficus/src/rust/ficus/src/grpc/converters.rs @@ -186,7 +186,8 @@ pub(super) fn put_into_user_data( } user_data.put_concrete(EVENT_LOG_KEY.key(), xes_log); - } + }, + ContextValue::OcelAnnotation(_) => todo!(), } } From cc9ea18866659b9807d2da5cb717348dc9ee6064 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Thu, 9 Oct 2025 12:55:30 +0300 Subject: [PATCH 098/189] WIP on graph ocel annotation --- .../rust/ficus/src/features/discovery/mod.rs | 1 + .../discovery/ocel/graph_annotation.rs | 147 ++++++++++++++++++ .../ficus/src/features/discovery/ocel/mod.rs | 1 + 3 files changed, 149 insertions(+) create mode 100644 Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs create mode 100644 Ficus/src/rust/ficus/src/features/discovery/ocel/mod.rs diff --git a/Ficus/src/rust/ficus/src/features/discovery/mod.rs b/Ficus/src/rust/ficus/src/features/discovery/mod.rs index a7194f444..0ba1b746a 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/mod.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/mod.rs @@ -6,3 +6,4 @@ pub mod petri_net; pub mod relations; pub mod root_sequence; pub mod timeline; +pub mod ocel; diff --git a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs new file mode 100644 index 000000000..47c09b55b --- /dev/null +++ b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs @@ -0,0 +1,147 @@ +use crate::utils::graph::graph::DefaultGraph; +use derive_new::new; +use std::collections::{HashMap, HashSet, VecDeque}; +use getset::Getters; +use crate::features::discovery::root_sequence::context_keys::EDGE_SOFTWARE_DATA_KEY; +use crate::features::discovery::timeline::software_data::models::OcelObjectAction; +use crate::utils::user_data::user_data::UserData; + +#[derive(new, Getters)] +pub struct OcelAnnotation { + #[get = "pub"] + nodes_to_states: HashMap +} + +pub enum OcelAnnotationCreationError { + FailedToFindStartNode, + ObjectAlreadyExistsInNodeState, + ConsumeNotExistingObject, + OneOfMergedObjetsDoesNotExist +} + +struct NodeObjectsState { + map: HashMap> +} + +impl NodeObjectsState { + pub fn new() -> Self { + Self { + map: HashMap::new() + } + } + + pub fn add_allocated_object(&mut self, object_type: String, object_id: String) -> Result<(), OcelAnnotationCreationError> { + if self.contains_object(object_type.as_str(), object_id.as_str()) { + return Err(OcelAnnotationCreationError::ObjectAlreadyExistsInNodeState) + } + + self.type_set_mut(object_type.as_str()).insert(object_id); + Ok(()) + } + + pub fn contains_object(&self, object_type: &str, object_id: &str) -> bool { + if let Some(type_objects) = self.map.get(object_type) { + type_objects.contains(object_id) + } else { + false + } + } + + pub fn contains_unknown_object(&self, object_id: &str) -> bool { + self.map.values().any(|set| set.contains(object_id)) + } + + fn type_set_mut(&mut self, object_type: &str) -> &mut HashSet { + if !self.map.contains_key(object_type) { + self.map.insert(object_type.to_string(), HashSet::new()); + } + + self.map.get_mut(object_type).unwrap() + } +} + +#[derive(new)] +struct NodeState { + node: u64, + final_objects: NodeObjectsState, +} + +#[derive(new, Getters)] +pub struct ProcessNodesStates { + #[get(get = "pub")] + initial_objects: Option, + #[get(get = "pub")] + final_objects: NodeObjectsState +} + +pub fn create_ocel_annotation_for_dag(graph: &DefaultGraph) -> Result { + let mut q = VecDeque::new(); + let start_node_id = graph.all_nodes().iter().find(|n| graph.incoming_edges(n.id()).len() == 0).map(|n| n.id().to_owned()); + + if start_node_id.is_none() { + return Err(OcelAnnotationCreationError::FailedToFindStartNode); + } + + q.push_back(NodeState::new(start_node_id.unwrap(), NodeObjectsState::new())); + + let mut process_nodes_states = HashMap::new(); + + 'main_loop: loop { + if q.is_empty() { + break; + } + + let node = q.pop_front().unwrap(); + + let incoming_nodes = graph.incoming_edges(&node.node); + for incoming_node in incoming_nodes.iter() { + if !process_nodes_states.contains_key(*incoming_node) { + q.push_back(node); + continue 'main_loop; + } + } + + let mut new_node_state = NodeObjectsState::new(); + + for incoming_node in incoming_nodes.iter() { + let prev_state: &ProcessNodesStates = *process_nodes_states.get(*incoming_node).as_ref().unwrap(); + let edge = graph.edge(*incoming_node, &node.node); + let edge = edge.as_ref().unwrap(); + + if let Some(edge_software_data) = edge.user_data().concrete(EDGE_SOFTWARE_DATA_KEY.key()) { + for data in edge_software_data { + for ocel_data in data.ocel_data() { + let obj_type = ocel_data.object_type(); + let obj_id = ocel_data.object_id(); + match ocel_data.action() { + OcelObjectAction::Allocate => { + new_node_state.add_allocated_object(obj_type.to_string(), obj_id.to_string())?; + } + OcelObjectAction::Consume => { + if prev_state.final_objects.contains_object(obj_type, obj_id) { + return Err(OcelAnnotationCreationError::ConsumeNotExistingObject) + } + } + OcelObjectAction::AllocateMerged(ids) => { + for id in ids { + if !prev_state.final_objects.contains_unknown_object(id) { + return Err(OcelAnnotationCreationError::OneOfMergedObjetsDoesNotExist) + } + } + } + OcelObjectAction::ConsumeWithProduce(_) => { + if !prev_state.final_objects.contains_object(obj_type, obj_id) { + return Err(OcelAnnotationCreationError::ConsumeNotExistingObject) + } + } + } + } + } + } + } + + process_nodes_states.insert(node.node, ProcessNodesStates::new(None, new_node_state)); + } + + Ok(OcelAnnotation::new(process_nodes_states)) +} \ No newline at end of file diff --git a/Ficus/src/rust/ficus/src/features/discovery/ocel/mod.rs b/Ficus/src/rust/ficus/src/features/discovery/ocel/mod.rs new file mode 100644 index 000000000..3b53ca685 --- /dev/null +++ b/Ficus/src/rust/ficus/src/features/discovery/ocel/mod.rs @@ -0,0 +1 @@ +mod graph_annotation; \ No newline at end of file From 6362735f53dbdb37dc3e6029af4b467fd35cf9f7 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Thu, 9 Oct 2025 12:55:42 +0300 Subject: [PATCH 099/189] Commit forgotten models --- .../ficus/GrpcModelElementOcelAnnotation.ts | 16 ++++++++++++++++ .../src/protos/ficus/GrpcOcelModelAnnotation.ts | 11 +++++++++++ .../src/protos/ficus/GrpcOcelObjectTypeState.ts | 12 ++++++++++++ .../Npm/src/protos/ficus/GrpcOcelState.ts | 11 +++++++++++ 4 files changed, 50 insertions(+) create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcModelElementOcelAnnotation.ts create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelModelAnnotation.ts create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelObjectTypeState.ts create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelState.ts diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcModelElementOcelAnnotation.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcModelElementOcelAnnotation.ts new file mode 100644 index 000000000..886921753 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcModelElementOcelAnnotation.ts @@ -0,0 +1,16 @@ +// Original file: ../../../../../protos/pipelines_and_context.proto + +import type { GrpcOcelState_DONTUSE as _ficus_GrpcOcelState_DONTUSE, GrpcOcelState as _ficus_GrpcOcelState } from '../ficus/GrpcOcelState'; +import type { Long } from '@grpc/proto-loader'; + +export interface GrpcModelElementOcelAnnotation_DONTUSE { + 'elementId'?: (number | string | Long); + 'initialState'?: (_ficus_GrpcOcelState_DONTUSE | null); + 'finalState'?: (_ficus_GrpcOcelState_DONTUSE | null); +} + +export interface GrpcModelElementOcelAnnotation { + 'elementId': (number); + 'initialState': (_ficus_GrpcOcelState | null); + 'finalState': (_ficus_GrpcOcelState | null); +} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelModelAnnotation.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelModelAnnotation.ts new file mode 100644 index 000000000..dc0b06227 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelModelAnnotation.ts @@ -0,0 +1,11 @@ +// Original file: ../../../../../protos/pipelines_and_context.proto + +import type { GrpcModelElementOcelAnnotation_DONTUSE as _ficus_GrpcModelElementOcelAnnotation_DONTUSE, GrpcModelElementOcelAnnotation as _ficus_GrpcModelElementOcelAnnotation } from '../ficus/GrpcModelElementOcelAnnotation'; + +export interface GrpcOcelModelAnnotation_DONTUSE { + 'annotations'?: (_ficus_GrpcModelElementOcelAnnotation_DONTUSE)[]; +} + +export interface GrpcOcelModelAnnotation { + 'annotations': (_ficus_GrpcModelElementOcelAnnotation)[]; +} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelObjectTypeState.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelObjectTypeState.ts new file mode 100644 index 000000000..41fe64afa --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelObjectTypeState.ts @@ -0,0 +1,12 @@ +// Original file: ../../../../../protos/pipelines_and_context.proto + + +export interface GrpcOcelObjectTypeState_DONTUSE { + 'type'?: (string); + 'objectIds'?: (string)[]; +} + +export interface GrpcOcelObjectTypeState { + 'type': (string); + 'objectIds': (string)[]; +} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelState.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelState.ts new file mode 100644 index 000000000..f2c0b6cb2 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelState.ts @@ -0,0 +1,11 @@ +// Original file: ../../../../../protos/pipelines_and_context.proto + +import type { GrpcOcelObjectTypeState_DONTUSE as _ficus_GrpcOcelObjectTypeState_DONTUSE, GrpcOcelObjectTypeState as _ficus_GrpcOcelObjectTypeState } from '../ficus/GrpcOcelObjectTypeState'; + +export interface GrpcOcelState_DONTUSE { + 'typeStates'?: (_ficus_GrpcOcelObjectTypeState_DONTUSE)[]; +} + +export interface GrpcOcelState { + 'typeStates': (_ficus_GrpcOcelObjectTypeState)[]; +} From 916a77fa7fc4d1b12174335ee278390e2b1aa19f Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Thu, 9 Oct 2025 12:58:42 +0300 Subject: [PATCH 100/189] Make initial state of OCEL annotation optional --- Ficus/protos/pipelines_and_context.proto | 2 +- .../ficus/GrpcModelElementOcelAnnotation.ts | 4 +- .../go/grpcmodels/pipelines_and_context.pb.go | 12 +- .../models/pipelines_and_context_pb2.py | 264 +++++++++--------- 4 files changed, 143 insertions(+), 139 deletions(-) diff --git a/Ficus/protos/pipelines_and_context.proto b/Ficus/protos/pipelines_and_context.proto index f4d1dfe98..31b227f0e 100644 --- a/Ficus/protos/pipelines_and_context.proto +++ b/Ficus/protos/pipelines_and_context.proto @@ -55,7 +55,7 @@ message GrpcOcelModelAnnotation { message GrpcModelElementOcelAnnotation { uint64 element_id = 1; - GrpcOcelState initial_state = 2; + optional GrpcOcelState initial_state = 2; GrpcOcelState final_state = 3; } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcModelElementOcelAnnotation.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcModelElementOcelAnnotation.ts index 886921753..1ecdedb6b 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcModelElementOcelAnnotation.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcModelElementOcelAnnotation.ts @@ -7,10 +7,12 @@ export interface GrpcModelElementOcelAnnotation_DONTUSE { 'elementId'?: (number | string | Long); 'initialState'?: (_ficus_GrpcOcelState_DONTUSE | null); 'finalState'?: (_ficus_GrpcOcelState_DONTUSE | null); + '_initialState'?: "initialState"; } export interface GrpcModelElementOcelAnnotation { 'elementId': (number); - 'initialState': (_ficus_GrpcOcelState | null); + 'initialState'?: (_ficus_GrpcOcelState | null); 'finalState': (_ficus_GrpcOcelState | null); + '_initialState': "initialState"; } diff --git a/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go b/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go index 9331becde..f5a2fbcd0 100644 --- a/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go +++ b/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go @@ -821,7 +821,7 @@ func (x *GrpcOcelModelAnnotation) GetAnnotations() []*GrpcModelElementOcelAnnota type GrpcModelElementOcelAnnotation struct { state protoimpl.MessageState `protogen:"open.v1"` ElementId uint64 `protobuf:"varint,1,opt,name=element_id,json=elementId,proto3" json:"element_id,omitempty"` - InitialState *GrpcOcelState `protobuf:"bytes,2,opt,name=initial_state,json=initialState,proto3" json:"initial_state,omitempty"` + InitialState *GrpcOcelState `protobuf:"bytes,2,opt,name=initial_state,json=initialState,proto3,oneof" json:"initial_state,omitempty"` FinalState *GrpcOcelState `protobuf:"bytes,3,opt,name=final_state,json=finalState,proto3" json:"final_state,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache @@ -4461,13 +4461,14 @@ const file_pipelines_and_context_proto_rawDesc = "" + "\x0focel_annotation\x18\x1b \x01(\v2\x1e.ficus.GrpcOcelModelAnnotationH\x00R\x0eocelAnnotationB\x0e\n" + "\fcontextValue\"b\n" + "\x17GrpcOcelModelAnnotation\x12G\n" + - "\vannotations\x18\x01 \x03(\v2%.ficus.GrpcModelElementOcelAnnotationR\vannotations\"\xb1\x01\n" + + "\vannotations\x18\x01 \x03(\v2%.ficus.GrpcModelElementOcelAnnotationR\vannotations\"\xc8\x01\n" + "\x1eGrpcModelElementOcelAnnotation\x12\x1d\n" + "\n" + - "element_id\x18\x01 \x01(\x04R\telementId\x129\n" + - "\rinitial_state\x18\x02 \x01(\v2\x14.ficus.GrpcOcelStateR\finitialState\x125\n" + + "element_id\x18\x01 \x01(\x04R\telementId\x12>\n" + + "\rinitial_state\x18\x02 \x01(\v2\x14.ficus.GrpcOcelStateH\x00R\finitialState\x88\x01\x01\x125\n" + "\vfinal_state\x18\x03 \x01(\v2\x14.ficus.GrpcOcelStateR\n" + - "finalState\"P\n" + + "finalStateB\x10\n" + + "\x0e_initial_state\"P\n" + "\rGrpcOcelState\x12?\n" + "\vtype_states\x18\x01 \x03(\v2\x1e.ficus.GrpcOcelObjectTypeStateR\n" + "typeStates\"L\n" + @@ -4954,6 +4955,7 @@ func file_pipelines_and_context_proto_init() { (*GrpcContextValue_EventLog)(nil), (*GrpcContextValue_OcelAnnotation)(nil), } + file_pipelines_and_context_proto_msgTypes[4].OneofWrappers = []any{} file_pipelines_and_context_proto_msgTypes[19].OneofWrappers = []any{ (*GrpcColorsLogAdjustment_RectangleAdjustment)(nil), (*GrpcColorsLogAdjustment_AxisAfterTrace)(nil), diff --git a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py index 9ee918ac1..0f678249c 100644 --- a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py +++ b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py @@ -34,7 +34,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bpipelines_and_context.proto\x12\x05\x66icus\x1a\x0fpm_models.proto\x1a\nutil.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x1e\n\x0eGrpcContextKey\x12\x0c\n\x04name\x18\x01 \x01(\t\"W\n\x1bGrpcContextValueWithKeyName\x12\x10\n\x08key_name\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"\xc6\t\n\x10GrpcContextValue\x12\x10\n\x06string\x18\x01 \x01(\tH\x00\x12;\n\nhashes_log\x18\x02 \x01(\x0b\x32%.ficus.GrpcHashesEventLogContextValueH\x00\x12\x39\n\tnames_log\x18\x03 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12\x10\n\x06uint32\x18\x04 \x01(\rH\x00\x12J\n\x11traces_sub_arrays\x18\x05 \x01(\x0b\x32-.ficus.GrpcEventLogTraceSubArraysContextValueH\x00\x12P\n\x16trace_index_sub_arrays\x18\x06 \x01(\x0b\x32..ficus.GrpcSubArraysWithTraceIndexContextValueH\x00\x12\x0e\n\x04\x62ool\x18\x07 \x01(\x08H\x00\x12=\n\rxes_event_log\x18\x08 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12/\n\ncolors_log\x18\t \x01(\x0b\x32\x19.ficus.GrpcColorsEventLogH\x00\x12\x1f\n\x04\x65num\x18\n \x01(\x0b\x32\x0f.ficus.GrpcEnumH\x00\x12\x31\n\x0e\x65vent_log_info\x18\x0b \x01(\x0b\x32\x17.ficus.GrpcEventLogInfoH\x00\x12%\n\x07strings\x18\x0c \x01(\x0b\x32\x12.ficus.GrpcStringsH\x00\x12\'\n\x08pipeline\x18\r \x01(\x0b\x32\x13.ficus.GrpcPipelineH\x00\x12\'\n\x08petriNet\x18\x0e \x01(\x0b\x32\x13.ficus.GrpcPetriNetH\x00\x12!\n\x05graph\x18\x0f \x01(\x0b\x32\x10.ficus.GrpcGraphH\x00\x12\x0f\n\x05\x66loat\x18\x10 \x01(\x02H\x00\x12+\n\nannotation\x18\x11 \x01(\x0b\x32\x15.ficus.GrpcAnnotationH\x00\x12%\n\x07\x64\x61taset\x18\x12 \x01(\x0b\x32\x12.ficus.GrpcDatasetH\x00\x12\x34\n\x0flabeled_dataset\x18\x13 \x01(\x0b\x32\x19.ficus.GrpcLabeledDatasetH\x00\x12!\n\x05\x62ytes\x18\x14 \x01(\x0b\x32\x10.ficus.GrpcBytesH\x00\x12;\n\x12logTimelineDiagram\x18\x15 \x01(\x0b\x32\x1d.ficus.GrpcLogTimelineDiagramH\x00\x12,\n\x0b\x66loat_array\x18\x16 \x01(\x0b\x32\x15.ficus.GrpcFloatArrayH\x00\x12(\n\tint_array\x18\x17 \x01(\x0b\x32\x13.ficus.GrpcIntArrayH\x00\x12*\n\nuint_array\x18\x18 \x01(\x0b\x32\x14.ficus.GrpcUintArrayH\x00\x12\x0e\n\x04json\x18\x19 \x01(\tH\x00\x12.\n\tevent_log\x18\x1a \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLogH\x00\x12\x39\n\x0focel_annotation\x18\x1b \x01(\x0b\x32\x1e.ficus.GrpcOcelModelAnnotationH\x00\x42\x0e\n\x0c\x63ontextValue\"U\n\x17GrpcOcelModelAnnotation\x12:\n\x0b\x61nnotations\x18\x01 \x03(\x0b\x32%.ficus.GrpcModelElementOcelAnnotation\"\x8c\x01\n\x1eGrpcModelElementOcelAnnotation\x12\x12\n\nelement_id\x18\x01 \x01(\x04\x12+\n\rinitial_state\x18\x02 \x01(\x0b\x32\x14.ficus.GrpcOcelState\x12)\n\x0b\x66inal_state\x18\x03 \x01(\x0b\x32\x14.ficus.GrpcOcelState\"D\n\rGrpcOcelState\x12\x33\n\x0btype_states\x18\x01 \x03(\x0b\x32\x1e.ficus.GrpcOcelObjectTypeState\";\n\x17GrpcOcelObjectTypeState\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x12\n\nobject_ids\x18\x02 \x03(\t\"\x1f\n\x0eGrpcFloatArray\x12\r\n\x05items\x18\x01 \x03(\x01\"\x1d\n\x0cGrpcIntArray\x12\r\n\x05items\x18\x01 \x03(\x03\"\x1e\n\rGrpcUintArray\x12\r\n\x05items\x18\x01 \x03(\x04\"a\n\x13GrpcContextKeyValue\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"H\n\x1eGrpcHashesEventLogContextValue\x12&\n\x03log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcHashesEventLog\"F\n\x1dGrpcNamesEventLogContextValue\x12%\n\x03log\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcNamesEventLog\"^\n&GrpcEventLogTraceSubArraysContextValue\x12\x34\n\x11traces_sub_arrays\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcTraceSubArrays\"/\n\x11GrpcTraceSubArray\x12\r\n\x05start\x18\x01 \x01(\r\x12\x0b\n\x03\x65nd\x18\x02 \x01(\r\"B\n\x12GrpcTraceSubArrays\x12,\n\nsub_arrays\x18\x01 \x03(\x0b\x32\x18.ficus.GrpcTraceSubArray\"^\n\x1aGrpcSubArrayWithTraceIndex\x12+\n\tsub_array\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcTraceSubArray\x12\x13\n\x0btrace_index\x18\x02 \x01(\r\"`\n\'GrpcSubArraysWithTraceIndexContextValue\x12\x35\n\nsub_arrays\x18\x01 \x03(\x0b\x32!.ficus.GrpcSubArrayWithTraceIndex\"\xa4\x01\n\x12GrpcColorsEventLog\x12\x31\n\x07mapping\x18\x01 \x03(\x0b\x32 .ficus.GrpcColorsEventLogMapping\x12&\n\x06traces\x18\x02 \x03(\x0b\x32\x16.ficus.GrpcColorsTrace\x12\x33\n\x0b\x61\x64justments\x18\x03 \x03(\x0b\x32\x1e.ficus.GrpcColorsLogAdjustment\"\xba\x01\n\x17GrpcColorsLogAdjustment\x12G\n\x14rectangle_adjustment\x18\x01 \x01(\x0b\x32\'.ficus.GrpcColorsLogRectangleAdjustmentH\x00\x12I\n\x10\x61xis_after_trace\x18\x02 \x01(\x0b\x32-.ficus.GrpcColorsLogXAxisAfterTraceAdjustmentH\x00\x42\x0b\n\tselection\"\xa9\x01\n GrpcColorsLogRectangleAdjustment\x12*\n\rup_left_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12-\n\x10\x64own_right_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12*\n\"extend_to_nearest_vertical_borders\x18\x03 \x01(\x08\"8\n\x0cGrpcLogPoint\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x02 \x01(\x04\"=\n&GrpcColorsLogXAxisAfterTraceAdjustment\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\"J\n\x19GrpcColorsEventLogMapping\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x05\x63olor\x18\x02 \x01(\x0b\x32\x10.ficus.GrpcColor\"\\\n\x0fGrpcColorsTrace\x12\x31\n\x0c\x65vent_colors\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcColoredRectangle\x12\x16\n\x0e\x63onstant_width\x18\x02 \x01(\x08\"L\n\x14GrpcColoredRectangle\x12\x13\n\x0b\x63olor_index\x18\x01 \x01(\r\x12\x0f\n\x07start_x\x18\x02 \x01(\x01\x12\x0e\n\x06length\x18\x03 \x01(\x01\"+\n\x08GrpcEnum\x12\x10\n\x08\x65numType\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"[\n\x10GrpcEventLogInfo\x12\x14\n\x0c\x65vents_count\x18\x01 \x01(\r\x12\x14\n\x0ctraces_count\x18\x02 \x01(\r\x12\x1b\n\x13\x65vent_classes_count\x18\x03 \x01(\r\"\x1e\n\x0bGrpcStrings\x12\x0f\n\x07strings\x18\x01 \x03(\t\":\n\x0cGrpcPipeline\x12*\n\x05parts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"\xab\x02\n\x14GrpcPipelinePartBase\x12.\n\x0b\x64\x65\x66\x61ultPart\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcPipelinePartH\x00\x12\x37\n\x0cparallelPart\x18\x02 \x01(\x0b\x32\x1f.ficus.GrpcParallelPipelinePartH\x00\x12O\n\x18simpleContextRequestPart\x18\x03 \x01(\x0b\x32+.ficus.GrpcSimpleContextRequestPipelinePartH\x00\x12Q\n\x19\x63omplexContextRequestPart\x18\x04 \x01(\x0b\x32,.ficus.GrpcComplexContextRequestPipelinePartH\x00\x42\x06\n\x04part\"]\n\x10GrpcPipelinePart\x12\x0c\n\x04name\x18\x01 \x01(\t\x12;\n\rconfiguration\x18\x02 \x01(\x0b\x32$.ficus.GrpcPipelinePartConfiguration\"\\\n\x1dGrpcPipelinePartConfiguration\x12;\n\x17\x63onfigurationParameters\x18\x01 \x03(\x0b\x32\x1a.ficus.GrpcContextKeyValue\"N\n\x18GrpcParallelPipelinePart\x12\x32\n\rpipelineParts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"N\n\x19GrpcParallelPipelineParts\x12\x31\n\x08pipeline\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcParallelPipelinePart\"\x97\x01\n$GrpcSimpleContextRequestPipelinePart\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12)\n\x10\x66rontendPartUuid\x18\x02 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x03 \x01(\t\"\xce\x01\n%GrpcComplexContextRequestPipelinePart\x12#\n\x04keys\x18\x01 \x03(\x0b\x32\x15.ficus.GrpcContextKey\x12\x33\n\x12\x62\x65\x66orePipelinePart\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcPipelinePart\x12)\n\x10\x66rontendPartUuid\x18\x03 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x04 \x01(\t\"y\n\tGrpcGraph\x12#\n\x05nodes\x18\x01 \x03(\x0b\x32\x14.ficus.GrpcGraphNode\x12#\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x14.ficus.GrpcGraphEdge\x12\"\n\x04kind\x18\x03 \x01(\x0e\x32\x14.ficus.GrpcGraphKind\"\x88\x01\n\rGrpcGraphNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\x12\x36\n\x0f\x61\x64\x64itional_data\x18\x03 \x03(\x0b\x32\x1d.ficus.GrpcNodeAdditionalData\x12%\n\x0binner_graph\x18\x04 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\xac\x03\n\x16GrpcNodeAdditionalData\x12&\n\x04none\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x30\n\rsoftware_data\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x38\n\x0cpattern_info\x18\x03 \x01(\x0b\x32 .ficus.GrpcUnderlyingPatternInfoH\x00\x12;\n\ntrace_data\x18\x04 \x01(\x0b\x32%.ficus.GrpcNodeCorrespondingTraceDataH\x00\x12\x34\n\ttime_data\x18\x05 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x12\x42\n\x16multithreaded_fragment\x18\x07 \x01(\x0b\x32 .ficus.GrpcMultithreadedFragmentH\x00\x12?\n\x1aoriginal_event_coordinates\x18\x06 \x01(\x0b\x32\x1b.ficus.GrpcEventCoordinatesB\x06\n\x04\x64\x61ta\"Q\n\x19GrpcMultithreadedFragment\x12\x34\n\x11multithreaded_log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLog\"@\n\x18GrpcActivityStartEndData\x12\x12\n\nstart_time\x18\x01 \x01(\x03\x12\x10\n\x08\x65nd_time\x18\x02 \x01(\x03\"=\n\x14GrpcEventCoordinates\x12\x10\n\x08trace_id\x18\x02 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x03 \x01(\x04\"B\n\x1eGrpcNodeCorrespondingTraceData\x12 \n\x18\x62\x65longs_to_root_sequence\x18\x01 \x01(\x08\"\xe7\x02\n\x10GrpcSoftwareData\x12,\n\thistogram\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\x12\x45\n\x19timeline_diagram_fragment\x18\x02 \x01(\x0b\x32\".ficus.GrpcTimelineDiagramFragment\x12\x37\n\x0ehistogram_data\x18\r \x03(\x0b\x32\x1f.ficus.GrpcGeneralHistogramData\x12\x39\n\x13simple_counter_data\x18\x0e \x03(\x0b\x32\x1c.ficus.GrpcSimpleCounterData\x12\x42\n\x19\x61\x63tivities_durations_data\x18\x0f \x03(\x0b\x32\x1f.ficus.GrpcActivityDurationData\x12&\n\tocel_data\x18\x10 \x03(\x0b\x32\x13.ficus.GrpcOcelData\"\xa9\x02\n\x0cGrpcOcelData\x12\x13\n\x0bobject_type\x18\x01 \x01(\t\x12\x11\n\tobject_id\x18\x02 \x01(\t\x12*\n\x08\x61llocate\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12)\n\x07\x63onsume\x18\x04 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x45\n\x18merged_object_allocation\x18\x05 \x01(\x0b\x32!.ficus.GrpcMergedObjectAllocationH\x00\x12I\n\x1aproduce_object_consumption\x18\x06 \x01(\x0b\x32#.ficus.GrpcProduceObjectConsumptionH\x00\x42\x08\n\x06\x61\x63tion\":\n\x1aGrpcMergedObjectAllocation\x12\x1c\n\x14\x63onsumed_objects_ids\x18\x01 \x03(\t\"<\n\x1cGrpcProduceObjectConsumption\x12\x1c\n\x14produced_objects_ids\x18\x02 \x03(\t\"\x84\x01\n\x18GrpcActivityDurationData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12%\n\x04kind\x18\x03 \x01(\x0e\x32\x17.ficus.GrpcDurationKind\"W\n\x1aGrpcGenericEnhancementBase\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05units\x18\x02 \x01(\t\x12\x12\n\x05group\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_group\"w\n\x18GrpcGeneralHistogramData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12*\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\"W\n\x15GrpcSimpleCounterData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"|\n\x16GrpcMethodInliningInfo\x12\x30\n\x0cinlinee_info\x18\x01 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\x12\x30\n\x0cinliner_info\x18\x02 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\"I\n\x13GrpcMethodNameParts\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\t\"1\n\x12GrpcHistogramEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"A\n\x1bGrpcTimelineDiagramFragment\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\"a\n\x12GrpcAllocationInfo\x12\x11\n\ttype_name\x18\x01 \x01(\t\x12\x1f\n\x17\x61llocated_objects_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x61llocated_bytes\x18\x03 \x01(\x04\"\x8b\x01\n\x19GrpcUnderlyingPatternInfo\x12\x36\n\x0cpattern_kind\x18\x01 \x01(\x0e\x32 .ficus.GrpcUnderlyingPatternKind\x12\x15\n\rbase_sequence\x18\x02 \x03(\t\x12\x1f\n\x05graph\x18\x03 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\x9a\x01\n\rGrpcGraphEdge\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tfrom_node\x18\x02 \x01(\x04\x12\x0f\n\x07to_node\x18\x03 \x01(\x04\x12\x0e\n\x06weight\x18\x04 \x01(\x01\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\t\x12;\n\x0f\x61\x64\x64itional_data\x18\x06 \x03(\x0b\x32\".ficus.GrpcGraphEdgeAdditionalData\"\xc5\x01\n\x1bGrpcGraphEdgeAdditionalData\x12\x30\n\rsoftware_data\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x36\n\x0e\x65xecution_info\x18\x02 \x01(\x0b\x32\x1c.ficus.GrpcEdgeExecutionInfoH\x00\x12\x34\n\ttime_data\x18\x03 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x42\x06\n\x04\x64\x61ta\"(\n\x15GrpcEdgeExecutionInfo\x12\x0f\n\x07traceId\x18\x01 \x01(\x04\"\x1a\n\tGrpcBytes\x12\r\n\x05\x62ytes\x18\x01 \x01(\x0c\"I\n\x16GrpcLogTimelineDiagram\x12/\n\x06traces\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcTraceTimelineDiagram\"p\n\x1cGrpcTimelineTraceEventsGroup\x12(\n\x0bstart_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12&\n\tend_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\"z\n\x18GrpcTraceTimelineDiagram\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\x12:\n\revents_groups\x18\x02 \x03(\x0b\x32#.ficus.GrpcTimelineTraceEventsGroup\"4\n\nGrpcThread\x12&\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x16.ficus.GrpcThreadEvent\".\n\x0fGrpcThreadEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05stamp\x18\x02 \x01(\x03*.\n\rGrpcGraphKind\x12\x08\n\x04None\x10\x00\x12\x07\n\x03\x44\x41G\x10\x01\x12\n\n\x06\x44\x61gLCS\x10\x02*u\n\x10GrpcDurationKind\x12\x0f\n\x0bUnspecified\x10\x00\x12\t\n\x05Nanos\x10\x01\x12\n\n\x06Micros\x10\x02\x12\n\n\x06Millis\x10\x03\x12\x0b\n\x07Seconds\x10\x04\x12\x0b\n\x07Minutes\x10\x05\x12\t\n\x05Hours\x10\x06\x12\x08\n\x04\x44\x61ys\x10\x07*\xb1\x01\n\x19GrpcUnderlyingPatternKind\x12\x0e\n\nStrictLoop\x10\x00\x12\x18\n\x14PrimitiveTandemArray\x10\x01\x12\x16\n\x12MaximalTandemArray\x10\x02\x12\x11\n\rMaximalRepeat\x10\x03\x12\x16\n\x12SuperMaximalRepeat\x10\x04\x12\x1a\n\x16NearSuperMaximalRepeat\x10\x05\x12\x0b\n\x07Unknown\x10\x06\x42\x0fZ\r./;grpcmodelsb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bpipelines_and_context.proto\x12\x05\x66icus\x1a\x0fpm_models.proto\x1a\nutil.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x1e\n\x0eGrpcContextKey\x12\x0c\n\x04name\x18\x01 \x01(\t\"W\n\x1bGrpcContextValueWithKeyName\x12\x10\n\x08key_name\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"\xc6\t\n\x10GrpcContextValue\x12\x10\n\x06string\x18\x01 \x01(\tH\x00\x12;\n\nhashes_log\x18\x02 \x01(\x0b\x32%.ficus.GrpcHashesEventLogContextValueH\x00\x12\x39\n\tnames_log\x18\x03 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12\x10\n\x06uint32\x18\x04 \x01(\rH\x00\x12J\n\x11traces_sub_arrays\x18\x05 \x01(\x0b\x32-.ficus.GrpcEventLogTraceSubArraysContextValueH\x00\x12P\n\x16trace_index_sub_arrays\x18\x06 \x01(\x0b\x32..ficus.GrpcSubArraysWithTraceIndexContextValueH\x00\x12\x0e\n\x04\x62ool\x18\x07 \x01(\x08H\x00\x12=\n\rxes_event_log\x18\x08 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12/\n\ncolors_log\x18\t \x01(\x0b\x32\x19.ficus.GrpcColorsEventLogH\x00\x12\x1f\n\x04\x65num\x18\n \x01(\x0b\x32\x0f.ficus.GrpcEnumH\x00\x12\x31\n\x0e\x65vent_log_info\x18\x0b \x01(\x0b\x32\x17.ficus.GrpcEventLogInfoH\x00\x12%\n\x07strings\x18\x0c \x01(\x0b\x32\x12.ficus.GrpcStringsH\x00\x12\'\n\x08pipeline\x18\r \x01(\x0b\x32\x13.ficus.GrpcPipelineH\x00\x12\'\n\x08petriNet\x18\x0e \x01(\x0b\x32\x13.ficus.GrpcPetriNetH\x00\x12!\n\x05graph\x18\x0f \x01(\x0b\x32\x10.ficus.GrpcGraphH\x00\x12\x0f\n\x05\x66loat\x18\x10 \x01(\x02H\x00\x12+\n\nannotation\x18\x11 \x01(\x0b\x32\x15.ficus.GrpcAnnotationH\x00\x12%\n\x07\x64\x61taset\x18\x12 \x01(\x0b\x32\x12.ficus.GrpcDatasetH\x00\x12\x34\n\x0flabeled_dataset\x18\x13 \x01(\x0b\x32\x19.ficus.GrpcLabeledDatasetH\x00\x12!\n\x05\x62ytes\x18\x14 \x01(\x0b\x32\x10.ficus.GrpcBytesH\x00\x12;\n\x12logTimelineDiagram\x18\x15 \x01(\x0b\x32\x1d.ficus.GrpcLogTimelineDiagramH\x00\x12,\n\x0b\x66loat_array\x18\x16 \x01(\x0b\x32\x15.ficus.GrpcFloatArrayH\x00\x12(\n\tint_array\x18\x17 \x01(\x0b\x32\x13.ficus.GrpcIntArrayH\x00\x12*\n\nuint_array\x18\x18 \x01(\x0b\x32\x14.ficus.GrpcUintArrayH\x00\x12\x0e\n\x04json\x18\x19 \x01(\tH\x00\x12.\n\tevent_log\x18\x1a \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLogH\x00\x12\x39\n\x0focel_annotation\x18\x1b \x01(\x0b\x32\x1e.ficus.GrpcOcelModelAnnotationH\x00\x42\x0e\n\x0c\x63ontextValue\"U\n\x17GrpcOcelModelAnnotation\x12:\n\x0b\x61nnotations\x18\x01 \x03(\x0b\x32%.ficus.GrpcModelElementOcelAnnotation\"\xa3\x01\n\x1eGrpcModelElementOcelAnnotation\x12\x12\n\nelement_id\x18\x01 \x01(\x04\x12\x30\n\rinitial_state\x18\x02 \x01(\x0b\x32\x14.ficus.GrpcOcelStateH\x00\x88\x01\x01\x12)\n\x0b\x66inal_state\x18\x03 \x01(\x0b\x32\x14.ficus.GrpcOcelStateB\x10\n\x0e_initial_state\"D\n\rGrpcOcelState\x12\x33\n\x0btype_states\x18\x01 \x03(\x0b\x32\x1e.ficus.GrpcOcelObjectTypeState\";\n\x17GrpcOcelObjectTypeState\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x12\n\nobject_ids\x18\x02 \x03(\t\"\x1f\n\x0eGrpcFloatArray\x12\r\n\x05items\x18\x01 \x03(\x01\"\x1d\n\x0cGrpcIntArray\x12\r\n\x05items\x18\x01 \x03(\x03\"\x1e\n\rGrpcUintArray\x12\r\n\x05items\x18\x01 \x03(\x04\"a\n\x13GrpcContextKeyValue\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"H\n\x1eGrpcHashesEventLogContextValue\x12&\n\x03log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcHashesEventLog\"F\n\x1dGrpcNamesEventLogContextValue\x12%\n\x03log\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcNamesEventLog\"^\n&GrpcEventLogTraceSubArraysContextValue\x12\x34\n\x11traces_sub_arrays\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcTraceSubArrays\"/\n\x11GrpcTraceSubArray\x12\r\n\x05start\x18\x01 \x01(\r\x12\x0b\n\x03\x65nd\x18\x02 \x01(\r\"B\n\x12GrpcTraceSubArrays\x12,\n\nsub_arrays\x18\x01 \x03(\x0b\x32\x18.ficus.GrpcTraceSubArray\"^\n\x1aGrpcSubArrayWithTraceIndex\x12+\n\tsub_array\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcTraceSubArray\x12\x13\n\x0btrace_index\x18\x02 \x01(\r\"`\n\'GrpcSubArraysWithTraceIndexContextValue\x12\x35\n\nsub_arrays\x18\x01 \x03(\x0b\x32!.ficus.GrpcSubArrayWithTraceIndex\"\xa4\x01\n\x12GrpcColorsEventLog\x12\x31\n\x07mapping\x18\x01 \x03(\x0b\x32 .ficus.GrpcColorsEventLogMapping\x12&\n\x06traces\x18\x02 \x03(\x0b\x32\x16.ficus.GrpcColorsTrace\x12\x33\n\x0b\x61\x64justments\x18\x03 \x03(\x0b\x32\x1e.ficus.GrpcColorsLogAdjustment\"\xba\x01\n\x17GrpcColorsLogAdjustment\x12G\n\x14rectangle_adjustment\x18\x01 \x01(\x0b\x32\'.ficus.GrpcColorsLogRectangleAdjustmentH\x00\x12I\n\x10\x61xis_after_trace\x18\x02 \x01(\x0b\x32-.ficus.GrpcColorsLogXAxisAfterTraceAdjustmentH\x00\x42\x0b\n\tselection\"\xa9\x01\n GrpcColorsLogRectangleAdjustment\x12*\n\rup_left_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12-\n\x10\x64own_right_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12*\n\"extend_to_nearest_vertical_borders\x18\x03 \x01(\x08\"8\n\x0cGrpcLogPoint\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x02 \x01(\x04\"=\n&GrpcColorsLogXAxisAfterTraceAdjustment\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\"J\n\x19GrpcColorsEventLogMapping\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x05\x63olor\x18\x02 \x01(\x0b\x32\x10.ficus.GrpcColor\"\\\n\x0fGrpcColorsTrace\x12\x31\n\x0c\x65vent_colors\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcColoredRectangle\x12\x16\n\x0e\x63onstant_width\x18\x02 \x01(\x08\"L\n\x14GrpcColoredRectangle\x12\x13\n\x0b\x63olor_index\x18\x01 \x01(\r\x12\x0f\n\x07start_x\x18\x02 \x01(\x01\x12\x0e\n\x06length\x18\x03 \x01(\x01\"+\n\x08GrpcEnum\x12\x10\n\x08\x65numType\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"[\n\x10GrpcEventLogInfo\x12\x14\n\x0c\x65vents_count\x18\x01 \x01(\r\x12\x14\n\x0ctraces_count\x18\x02 \x01(\r\x12\x1b\n\x13\x65vent_classes_count\x18\x03 \x01(\r\"\x1e\n\x0bGrpcStrings\x12\x0f\n\x07strings\x18\x01 \x03(\t\":\n\x0cGrpcPipeline\x12*\n\x05parts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"\xab\x02\n\x14GrpcPipelinePartBase\x12.\n\x0b\x64\x65\x66\x61ultPart\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcPipelinePartH\x00\x12\x37\n\x0cparallelPart\x18\x02 \x01(\x0b\x32\x1f.ficus.GrpcParallelPipelinePartH\x00\x12O\n\x18simpleContextRequestPart\x18\x03 \x01(\x0b\x32+.ficus.GrpcSimpleContextRequestPipelinePartH\x00\x12Q\n\x19\x63omplexContextRequestPart\x18\x04 \x01(\x0b\x32,.ficus.GrpcComplexContextRequestPipelinePartH\x00\x42\x06\n\x04part\"]\n\x10GrpcPipelinePart\x12\x0c\n\x04name\x18\x01 \x01(\t\x12;\n\rconfiguration\x18\x02 \x01(\x0b\x32$.ficus.GrpcPipelinePartConfiguration\"\\\n\x1dGrpcPipelinePartConfiguration\x12;\n\x17\x63onfigurationParameters\x18\x01 \x03(\x0b\x32\x1a.ficus.GrpcContextKeyValue\"N\n\x18GrpcParallelPipelinePart\x12\x32\n\rpipelineParts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"N\n\x19GrpcParallelPipelineParts\x12\x31\n\x08pipeline\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcParallelPipelinePart\"\x97\x01\n$GrpcSimpleContextRequestPipelinePart\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12)\n\x10\x66rontendPartUuid\x18\x02 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x03 \x01(\t\"\xce\x01\n%GrpcComplexContextRequestPipelinePart\x12#\n\x04keys\x18\x01 \x03(\x0b\x32\x15.ficus.GrpcContextKey\x12\x33\n\x12\x62\x65\x66orePipelinePart\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcPipelinePart\x12)\n\x10\x66rontendPartUuid\x18\x03 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x04 \x01(\t\"y\n\tGrpcGraph\x12#\n\x05nodes\x18\x01 \x03(\x0b\x32\x14.ficus.GrpcGraphNode\x12#\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x14.ficus.GrpcGraphEdge\x12\"\n\x04kind\x18\x03 \x01(\x0e\x32\x14.ficus.GrpcGraphKind\"\x88\x01\n\rGrpcGraphNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\x12\x36\n\x0f\x61\x64\x64itional_data\x18\x03 \x03(\x0b\x32\x1d.ficus.GrpcNodeAdditionalData\x12%\n\x0binner_graph\x18\x04 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\xac\x03\n\x16GrpcNodeAdditionalData\x12&\n\x04none\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x30\n\rsoftware_data\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x38\n\x0cpattern_info\x18\x03 \x01(\x0b\x32 .ficus.GrpcUnderlyingPatternInfoH\x00\x12;\n\ntrace_data\x18\x04 \x01(\x0b\x32%.ficus.GrpcNodeCorrespondingTraceDataH\x00\x12\x34\n\ttime_data\x18\x05 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x12\x42\n\x16multithreaded_fragment\x18\x07 \x01(\x0b\x32 .ficus.GrpcMultithreadedFragmentH\x00\x12?\n\x1aoriginal_event_coordinates\x18\x06 \x01(\x0b\x32\x1b.ficus.GrpcEventCoordinatesB\x06\n\x04\x64\x61ta\"Q\n\x19GrpcMultithreadedFragment\x12\x34\n\x11multithreaded_log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLog\"@\n\x18GrpcActivityStartEndData\x12\x12\n\nstart_time\x18\x01 \x01(\x03\x12\x10\n\x08\x65nd_time\x18\x02 \x01(\x03\"=\n\x14GrpcEventCoordinates\x12\x10\n\x08trace_id\x18\x02 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x03 \x01(\x04\"B\n\x1eGrpcNodeCorrespondingTraceData\x12 \n\x18\x62\x65longs_to_root_sequence\x18\x01 \x01(\x08\"\xe7\x02\n\x10GrpcSoftwareData\x12,\n\thistogram\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\x12\x45\n\x19timeline_diagram_fragment\x18\x02 \x01(\x0b\x32\".ficus.GrpcTimelineDiagramFragment\x12\x37\n\x0ehistogram_data\x18\r \x03(\x0b\x32\x1f.ficus.GrpcGeneralHistogramData\x12\x39\n\x13simple_counter_data\x18\x0e \x03(\x0b\x32\x1c.ficus.GrpcSimpleCounterData\x12\x42\n\x19\x61\x63tivities_durations_data\x18\x0f \x03(\x0b\x32\x1f.ficus.GrpcActivityDurationData\x12&\n\tocel_data\x18\x10 \x03(\x0b\x32\x13.ficus.GrpcOcelData\"\xa9\x02\n\x0cGrpcOcelData\x12\x13\n\x0bobject_type\x18\x01 \x01(\t\x12\x11\n\tobject_id\x18\x02 \x01(\t\x12*\n\x08\x61llocate\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12)\n\x07\x63onsume\x18\x04 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x45\n\x18merged_object_allocation\x18\x05 \x01(\x0b\x32!.ficus.GrpcMergedObjectAllocationH\x00\x12I\n\x1aproduce_object_consumption\x18\x06 \x01(\x0b\x32#.ficus.GrpcProduceObjectConsumptionH\x00\x42\x08\n\x06\x61\x63tion\":\n\x1aGrpcMergedObjectAllocation\x12\x1c\n\x14\x63onsumed_objects_ids\x18\x01 \x03(\t\"<\n\x1cGrpcProduceObjectConsumption\x12\x1c\n\x14produced_objects_ids\x18\x02 \x03(\t\"\x84\x01\n\x18GrpcActivityDurationData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12%\n\x04kind\x18\x03 \x01(\x0e\x32\x17.ficus.GrpcDurationKind\"W\n\x1aGrpcGenericEnhancementBase\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05units\x18\x02 \x01(\t\x12\x12\n\x05group\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_group\"w\n\x18GrpcGeneralHistogramData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12*\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\"W\n\x15GrpcSimpleCounterData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"|\n\x16GrpcMethodInliningInfo\x12\x30\n\x0cinlinee_info\x18\x01 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\x12\x30\n\x0cinliner_info\x18\x02 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\"I\n\x13GrpcMethodNameParts\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\t\"1\n\x12GrpcHistogramEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"A\n\x1bGrpcTimelineDiagramFragment\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\"a\n\x12GrpcAllocationInfo\x12\x11\n\ttype_name\x18\x01 \x01(\t\x12\x1f\n\x17\x61llocated_objects_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x61llocated_bytes\x18\x03 \x01(\x04\"\x8b\x01\n\x19GrpcUnderlyingPatternInfo\x12\x36\n\x0cpattern_kind\x18\x01 \x01(\x0e\x32 .ficus.GrpcUnderlyingPatternKind\x12\x15\n\rbase_sequence\x18\x02 \x03(\t\x12\x1f\n\x05graph\x18\x03 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\x9a\x01\n\rGrpcGraphEdge\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tfrom_node\x18\x02 \x01(\x04\x12\x0f\n\x07to_node\x18\x03 \x01(\x04\x12\x0e\n\x06weight\x18\x04 \x01(\x01\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\t\x12;\n\x0f\x61\x64\x64itional_data\x18\x06 \x03(\x0b\x32\".ficus.GrpcGraphEdgeAdditionalData\"\xc5\x01\n\x1bGrpcGraphEdgeAdditionalData\x12\x30\n\rsoftware_data\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x36\n\x0e\x65xecution_info\x18\x02 \x01(\x0b\x32\x1c.ficus.GrpcEdgeExecutionInfoH\x00\x12\x34\n\ttime_data\x18\x03 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x42\x06\n\x04\x64\x61ta\"(\n\x15GrpcEdgeExecutionInfo\x12\x0f\n\x07traceId\x18\x01 \x01(\x04\"\x1a\n\tGrpcBytes\x12\r\n\x05\x62ytes\x18\x01 \x01(\x0c\"I\n\x16GrpcLogTimelineDiagram\x12/\n\x06traces\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcTraceTimelineDiagram\"p\n\x1cGrpcTimelineTraceEventsGroup\x12(\n\x0bstart_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12&\n\tend_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\"z\n\x18GrpcTraceTimelineDiagram\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\x12:\n\revents_groups\x18\x02 \x03(\x0b\x32#.ficus.GrpcTimelineTraceEventsGroup\"4\n\nGrpcThread\x12&\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x16.ficus.GrpcThreadEvent\".\n\x0fGrpcThreadEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05stamp\x18\x02 \x01(\x03*.\n\rGrpcGraphKind\x12\x08\n\x04None\x10\x00\x12\x07\n\x03\x44\x41G\x10\x01\x12\n\n\x06\x44\x61gLCS\x10\x02*u\n\x10GrpcDurationKind\x12\x0f\n\x0bUnspecified\x10\x00\x12\t\n\x05Nanos\x10\x01\x12\n\n\x06Micros\x10\x02\x12\n\n\x06Millis\x10\x03\x12\x0b\n\x07Seconds\x10\x04\x12\x0b\n\x07Minutes\x10\x05\x12\t\n\x05Hours\x10\x06\x12\x08\n\x04\x44\x61ys\x10\x07*\xb1\x01\n\x19GrpcUnderlyingPatternKind\x12\x0e\n\nStrictLoop\x10\x00\x12\x18\n\x14PrimitiveTandemArray\x10\x01\x12\x16\n\x12MaximalTandemArray\x10\x02\x12\x11\n\rMaximalRepeat\x10\x03\x12\x16\n\x12SuperMaximalRepeat\x10\x04\x12\x1a\n\x16NearSuperMaximalRepeat\x10\x05\x12\x0b\n\x07Unknown\x10\x06\x42\x0fZ\r./;grpcmodelsb\x06proto3') @@ -50,17 +50,17 @@ DESCRIPTOR._serialized_options = b'Z\r./;grpcmodels' - _globals['_GRPCGRAPHKIND']._serialized_start=8285 + _globals['_GRPCGRAPHKIND']._serialized_start=8308 - _globals['_GRPCGRAPHKIND']._serialized_end=8331 + _globals['_GRPCGRAPHKIND']._serialized_end=8354 - _globals['_GRPCDURATIONKIND']._serialized_start=8333 + _globals['_GRPCDURATIONKIND']._serialized_start=8356 - _globals['_GRPCDURATIONKIND']._serialized_end=8450 + _globals['_GRPCDURATIONKIND']._serialized_end=8473 - _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_start=8453 + _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_start=8476 - _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_end=8630 + _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_end=8653 _globals['_GRPCCONTEXTKEY']._serialized_start=96 @@ -80,254 +80,254 @@ _globals['_GRPCMODELELEMENTOCELANNOTATION']._serialized_start=1530 - _globals['_GRPCMODELELEMENTOCELANNOTATION']._serialized_end=1670 + _globals['_GRPCMODELELEMENTOCELANNOTATION']._serialized_end=1693 - _globals['_GRPCOCELSTATE']._serialized_start=1672 + _globals['_GRPCOCELSTATE']._serialized_start=1695 - _globals['_GRPCOCELSTATE']._serialized_end=1740 + _globals['_GRPCOCELSTATE']._serialized_end=1763 - _globals['_GRPCOCELOBJECTTYPESTATE']._serialized_start=1742 + _globals['_GRPCOCELOBJECTTYPESTATE']._serialized_start=1765 - _globals['_GRPCOCELOBJECTTYPESTATE']._serialized_end=1801 + _globals['_GRPCOCELOBJECTTYPESTATE']._serialized_end=1824 - _globals['_GRPCFLOATARRAY']._serialized_start=1803 + _globals['_GRPCFLOATARRAY']._serialized_start=1826 - _globals['_GRPCFLOATARRAY']._serialized_end=1834 + _globals['_GRPCFLOATARRAY']._serialized_end=1857 - _globals['_GRPCINTARRAY']._serialized_start=1836 + _globals['_GRPCINTARRAY']._serialized_start=1859 - _globals['_GRPCINTARRAY']._serialized_end=1865 + _globals['_GRPCINTARRAY']._serialized_end=1888 - _globals['_GRPCUINTARRAY']._serialized_start=1867 + _globals['_GRPCUINTARRAY']._serialized_start=1890 - _globals['_GRPCUINTARRAY']._serialized_end=1897 + _globals['_GRPCUINTARRAY']._serialized_end=1920 - _globals['_GRPCCONTEXTKEYVALUE']._serialized_start=1899 + _globals['_GRPCCONTEXTKEYVALUE']._serialized_start=1922 - _globals['_GRPCCONTEXTKEYVALUE']._serialized_end=1996 + _globals['_GRPCCONTEXTKEYVALUE']._serialized_end=2019 - _globals['_GRPCHASHESEVENTLOGCONTEXTVALUE']._serialized_start=1998 + _globals['_GRPCHASHESEVENTLOGCONTEXTVALUE']._serialized_start=2021 - _globals['_GRPCHASHESEVENTLOGCONTEXTVALUE']._serialized_end=2070 + _globals['_GRPCHASHESEVENTLOGCONTEXTVALUE']._serialized_end=2093 - _globals['_GRPCNAMESEVENTLOGCONTEXTVALUE']._serialized_start=2072 + _globals['_GRPCNAMESEVENTLOGCONTEXTVALUE']._serialized_start=2095 - _globals['_GRPCNAMESEVENTLOGCONTEXTVALUE']._serialized_end=2142 + _globals['_GRPCNAMESEVENTLOGCONTEXTVALUE']._serialized_end=2165 - _globals['_GRPCEVENTLOGTRACESUBARRAYSCONTEXTVALUE']._serialized_start=2144 + _globals['_GRPCEVENTLOGTRACESUBARRAYSCONTEXTVALUE']._serialized_start=2167 - _globals['_GRPCEVENTLOGTRACESUBARRAYSCONTEXTVALUE']._serialized_end=2238 + _globals['_GRPCEVENTLOGTRACESUBARRAYSCONTEXTVALUE']._serialized_end=2261 - _globals['_GRPCTRACESUBARRAY']._serialized_start=2240 + _globals['_GRPCTRACESUBARRAY']._serialized_start=2263 - _globals['_GRPCTRACESUBARRAY']._serialized_end=2287 + _globals['_GRPCTRACESUBARRAY']._serialized_end=2310 - _globals['_GRPCTRACESUBARRAYS']._serialized_start=2289 + _globals['_GRPCTRACESUBARRAYS']._serialized_start=2312 - _globals['_GRPCTRACESUBARRAYS']._serialized_end=2355 + _globals['_GRPCTRACESUBARRAYS']._serialized_end=2378 - _globals['_GRPCSUBARRAYWITHTRACEINDEX']._serialized_start=2357 + _globals['_GRPCSUBARRAYWITHTRACEINDEX']._serialized_start=2380 - _globals['_GRPCSUBARRAYWITHTRACEINDEX']._serialized_end=2451 + _globals['_GRPCSUBARRAYWITHTRACEINDEX']._serialized_end=2474 - _globals['_GRPCSUBARRAYSWITHTRACEINDEXCONTEXTVALUE']._serialized_start=2453 + _globals['_GRPCSUBARRAYSWITHTRACEINDEXCONTEXTVALUE']._serialized_start=2476 - _globals['_GRPCSUBARRAYSWITHTRACEINDEXCONTEXTVALUE']._serialized_end=2549 + _globals['_GRPCSUBARRAYSWITHTRACEINDEXCONTEXTVALUE']._serialized_end=2572 - _globals['_GRPCCOLORSEVENTLOG']._serialized_start=2552 + _globals['_GRPCCOLORSEVENTLOG']._serialized_start=2575 - _globals['_GRPCCOLORSEVENTLOG']._serialized_end=2716 + _globals['_GRPCCOLORSEVENTLOG']._serialized_end=2739 - _globals['_GRPCCOLORSLOGADJUSTMENT']._serialized_start=2719 + _globals['_GRPCCOLORSLOGADJUSTMENT']._serialized_start=2742 - _globals['_GRPCCOLORSLOGADJUSTMENT']._serialized_end=2905 + _globals['_GRPCCOLORSLOGADJUSTMENT']._serialized_end=2928 - _globals['_GRPCCOLORSLOGRECTANGLEADJUSTMENT']._serialized_start=2908 + _globals['_GRPCCOLORSLOGRECTANGLEADJUSTMENT']._serialized_start=2931 - _globals['_GRPCCOLORSLOGRECTANGLEADJUSTMENT']._serialized_end=3077 + _globals['_GRPCCOLORSLOGRECTANGLEADJUSTMENT']._serialized_end=3100 - _globals['_GRPCLOGPOINT']._serialized_start=3079 + _globals['_GRPCLOGPOINT']._serialized_start=3102 - _globals['_GRPCLOGPOINT']._serialized_end=3135 + _globals['_GRPCLOGPOINT']._serialized_end=3158 - _globals['_GRPCCOLORSLOGXAXISAFTERTRACEADJUSTMENT']._serialized_start=3137 + _globals['_GRPCCOLORSLOGXAXISAFTERTRACEADJUSTMENT']._serialized_start=3160 - _globals['_GRPCCOLORSLOGXAXISAFTERTRACEADJUSTMENT']._serialized_end=3198 + _globals['_GRPCCOLORSLOGXAXISAFTERTRACEADJUSTMENT']._serialized_end=3221 - _globals['_GRPCCOLORSEVENTLOGMAPPING']._serialized_start=3200 + _globals['_GRPCCOLORSEVENTLOGMAPPING']._serialized_start=3223 - _globals['_GRPCCOLORSEVENTLOGMAPPING']._serialized_end=3274 + _globals['_GRPCCOLORSEVENTLOGMAPPING']._serialized_end=3297 - _globals['_GRPCCOLORSTRACE']._serialized_start=3276 + _globals['_GRPCCOLORSTRACE']._serialized_start=3299 - _globals['_GRPCCOLORSTRACE']._serialized_end=3368 + _globals['_GRPCCOLORSTRACE']._serialized_end=3391 - _globals['_GRPCCOLOREDRECTANGLE']._serialized_start=3370 + _globals['_GRPCCOLOREDRECTANGLE']._serialized_start=3393 - _globals['_GRPCCOLOREDRECTANGLE']._serialized_end=3446 + _globals['_GRPCCOLOREDRECTANGLE']._serialized_end=3469 - _globals['_GRPCENUM']._serialized_start=3448 + _globals['_GRPCENUM']._serialized_start=3471 - _globals['_GRPCENUM']._serialized_end=3491 + _globals['_GRPCENUM']._serialized_end=3514 - _globals['_GRPCEVENTLOGINFO']._serialized_start=3493 + _globals['_GRPCEVENTLOGINFO']._serialized_start=3516 - _globals['_GRPCEVENTLOGINFO']._serialized_end=3584 + _globals['_GRPCEVENTLOGINFO']._serialized_end=3607 - _globals['_GRPCSTRINGS']._serialized_start=3586 + _globals['_GRPCSTRINGS']._serialized_start=3609 - _globals['_GRPCSTRINGS']._serialized_end=3616 + _globals['_GRPCSTRINGS']._serialized_end=3639 - _globals['_GRPCPIPELINE']._serialized_start=3618 + _globals['_GRPCPIPELINE']._serialized_start=3641 - _globals['_GRPCPIPELINE']._serialized_end=3676 + _globals['_GRPCPIPELINE']._serialized_end=3699 - _globals['_GRPCPIPELINEPARTBASE']._serialized_start=3679 + _globals['_GRPCPIPELINEPARTBASE']._serialized_start=3702 - _globals['_GRPCPIPELINEPARTBASE']._serialized_end=3978 + _globals['_GRPCPIPELINEPARTBASE']._serialized_end=4001 - _globals['_GRPCPIPELINEPART']._serialized_start=3980 + _globals['_GRPCPIPELINEPART']._serialized_start=4003 - _globals['_GRPCPIPELINEPART']._serialized_end=4073 + _globals['_GRPCPIPELINEPART']._serialized_end=4096 - _globals['_GRPCPIPELINEPARTCONFIGURATION']._serialized_start=4075 + _globals['_GRPCPIPELINEPARTCONFIGURATION']._serialized_start=4098 - _globals['_GRPCPIPELINEPARTCONFIGURATION']._serialized_end=4167 + _globals['_GRPCPIPELINEPARTCONFIGURATION']._serialized_end=4190 - _globals['_GRPCPARALLELPIPELINEPART']._serialized_start=4169 + _globals['_GRPCPARALLELPIPELINEPART']._serialized_start=4192 - _globals['_GRPCPARALLELPIPELINEPART']._serialized_end=4247 + _globals['_GRPCPARALLELPIPELINEPART']._serialized_end=4270 - _globals['_GRPCPARALLELPIPELINEPARTS']._serialized_start=4249 + _globals['_GRPCPARALLELPIPELINEPARTS']._serialized_start=4272 - _globals['_GRPCPARALLELPIPELINEPARTS']._serialized_end=4327 + _globals['_GRPCPARALLELPIPELINEPARTS']._serialized_end=4350 - _globals['_GRPCSIMPLECONTEXTREQUESTPIPELINEPART']._serialized_start=4330 + _globals['_GRPCSIMPLECONTEXTREQUESTPIPELINEPART']._serialized_start=4353 - _globals['_GRPCSIMPLECONTEXTREQUESTPIPELINEPART']._serialized_end=4481 + _globals['_GRPCSIMPLECONTEXTREQUESTPIPELINEPART']._serialized_end=4504 - _globals['_GRPCCOMPLEXCONTEXTREQUESTPIPELINEPART']._serialized_start=4484 + _globals['_GRPCCOMPLEXCONTEXTREQUESTPIPELINEPART']._serialized_start=4507 - _globals['_GRPCCOMPLEXCONTEXTREQUESTPIPELINEPART']._serialized_end=4690 + _globals['_GRPCCOMPLEXCONTEXTREQUESTPIPELINEPART']._serialized_end=4713 - _globals['_GRPCGRAPH']._serialized_start=4692 + _globals['_GRPCGRAPH']._serialized_start=4715 - _globals['_GRPCGRAPH']._serialized_end=4813 + _globals['_GRPCGRAPH']._serialized_end=4836 - _globals['_GRPCGRAPHNODE']._serialized_start=4816 + _globals['_GRPCGRAPHNODE']._serialized_start=4839 - _globals['_GRPCGRAPHNODE']._serialized_end=4952 + _globals['_GRPCGRAPHNODE']._serialized_end=4975 - _globals['_GRPCNODEADDITIONALDATA']._serialized_start=4955 + _globals['_GRPCNODEADDITIONALDATA']._serialized_start=4978 - _globals['_GRPCNODEADDITIONALDATA']._serialized_end=5383 + _globals['_GRPCNODEADDITIONALDATA']._serialized_end=5406 - _globals['_GRPCMULTITHREADEDFRAGMENT']._serialized_start=5385 + _globals['_GRPCMULTITHREADEDFRAGMENT']._serialized_start=5408 - _globals['_GRPCMULTITHREADEDFRAGMENT']._serialized_end=5466 + _globals['_GRPCMULTITHREADEDFRAGMENT']._serialized_end=5489 - _globals['_GRPCACTIVITYSTARTENDDATA']._serialized_start=5468 + _globals['_GRPCACTIVITYSTARTENDDATA']._serialized_start=5491 - _globals['_GRPCACTIVITYSTARTENDDATA']._serialized_end=5532 + _globals['_GRPCACTIVITYSTARTENDDATA']._serialized_end=5555 - _globals['_GRPCEVENTCOORDINATES']._serialized_start=5534 + _globals['_GRPCEVENTCOORDINATES']._serialized_start=5557 - _globals['_GRPCEVENTCOORDINATES']._serialized_end=5595 + _globals['_GRPCEVENTCOORDINATES']._serialized_end=5618 - _globals['_GRPCNODECORRESPONDINGTRACEDATA']._serialized_start=5597 + _globals['_GRPCNODECORRESPONDINGTRACEDATA']._serialized_start=5620 - _globals['_GRPCNODECORRESPONDINGTRACEDATA']._serialized_end=5663 + _globals['_GRPCNODECORRESPONDINGTRACEDATA']._serialized_end=5686 - _globals['_GRPCSOFTWAREDATA']._serialized_start=5666 + _globals['_GRPCSOFTWAREDATA']._serialized_start=5689 - _globals['_GRPCSOFTWAREDATA']._serialized_end=6025 + _globals['_GRPCSOFTWAREDATA']._serialized_end=6048 - _globals['_GRPCOCELDATA']._serialized_start=6028 + _globals['_GRPCOCELDATA']._serialized_start=6051 - _globals['_GRPCOCELDATA']._serialized_end=6325 + _globals['_GRPCOCELDATA']._serialized_end=6348 - _globals['_GRPCMERGEDOBJECTALLOCATION']._serialized_start=6327 + _globals['_GRPCMERGEDOBJECTALLOCATION']._serialized_start=6350 - _globals['_GRPCMERGEDOBJECTALLOCATION']._serialized_end=6385 + _globals['_GRPCMERGEDOBJECTALLOCATION']._serialized_end=6408 - _globals['_GRPCPRODUCEOBJECTCONSUMPTION']._serialized_start=6387 + _globals['_GRPCPRODUCEOBJECTCONSUMPTION']._serialized_start=6410 - _globals['_GRPCPRODUCEOBJECTCONSUMPTION']._serialized_end=6447 + _globals['_GRPCPRODUCEOBJECTCONSUMPTION']._serialized_end=6470 - _globals['_GRPCACTIVITYDURATIONDATA']._serialized_start=6450 + _globals['_GRPCACTIVITYDURATIONDATA']._serialized_start=6473 - _globals['_GRPCACTIVITYDURATIONDATA']._serialized_end=6582 + _globals['_GRPCACTIVITYDURATIONDATA']._serialized_end=6605 - _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_start=6584 + _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_start=6607 - _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_end=6671 + _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_end=6694 - _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_start=6673 + _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_start=6696 - _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_end=6792 + _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_end=6815 - _globals['_GRPCSIMPLECOUNTERDATA']._serialized_start=6794 + _globals['_GRPCSIMPLECOUNTERDATA']._serialized_start=6817 - _globals['_GRPCSIMPLECOUNTERDATA']._serialized_end=6881 + _globals['_GRPCSIMPLECOUNTERDATA']._serialized_end=6904 - _globals['_GRPCMETHODINLININGINFO']._serialized_start=6883 + _globals['_GRPCMETHODINLININGINFO']._serialized_start=6906 - _globals['_GRPCMETHODINLININGINFO']._serialized_end=7007 + _globals['_GRPCMETHODINLININGINFO']._serialized_end=7030 - _globals['_GRPCMETHODNAMEPARTS']._serialized_start=7009 + _globals['_GRPCMETHODNAMEPARTS']._serialized_start=7032 - _globals['_GRPCMETHODNAMEPARTS']._serialized_end=7082 + _globals['_GRPCMETHODNAMEPARTS']._serialized_end=7105 - _globals['_GRPCHISTOGRAMENTRY']._serialized_start=7084 + _globals['_GRPCHISTOGRAMENTRY']._serialized_start=7107 - _globals['_GRPCHISTOGRAMENTRY']._serialized_end=7133 + _globals['_GRPCHISTOGRAMENTRY']._serialized_end=7156 - _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_start=7135 + _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_start=7158 - _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_end=7200 + _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_end=7223 - _globals['_GRPCALLOCATIONINFO']._serialized_start=7202 + _globals['_GRPCALLOCATIONINFO']._serialized_start=7225 - _globals['_GRPCALLOCATIONINFO']._serialized_end=7299 + _globals['_GRPCALLOCATIONINFO']._serialized_end=7322 - _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_start=7302 + _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_start=7325 - _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_end=7441 + _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_end=7464 - _globals['_GRPCGRAPHEDGE']._serialized_start=7444 + _globals['_GRPCGRAPHEDGE']._serialized_start=7467 - _globals['_GRPCGRAPHEDGE']._serialized_end=7598 + _globals['_GRPCGRAPHEDGE']._serialized_end=7621 - _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_start=7601 + _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_start=7624 - _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_end=7798 + _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_end=7821 - _globals['_GRPCEDGEEXECUTIONINFO']._serialized_start=7800 + _globals['_GRPCEDGEEXECUTIONINFO']._serialized_start=7823 - _globals['_GRPCEDGEEXECUTIONINFO']._serialized_end=7840 + _globals['_GRPCEDGEEXECUTIONINFO']._serialized_end=7863 - _globals['_GRPCBYTES']._serialized_start=7842 + _globals['_GRPCBYTES']._serialized_start=7865 - _globals['_GRPCBYTES']._serialized_end=7868 + _globals['_GRPCBYTES']._serialized_end=7891 - _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_start=7870 + _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_start=7893 - _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_end=7943 + _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_end=7966 - _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_start=7945 + _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_start=7968 - _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_end=8057 + _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_end=8080 - _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_start=8059 + _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_start=8082 - _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_end=8181 + _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_end=8204 - _globals['_GRPCTHREAD']._serialized_start=8183 + _globals['_GRPCTHREAD']._serialized_start=8206 - _globals['_GRPCTHREAD']._serialized_end=8235 + _globals['_GRPCTHREAD']._serialized_end=8258 - _globals['_GRPCTHREADEVENT']._serialized_start=8237 + _globals['_GRPCTHREADEVENT']._serialized_start=8260 - _globals['_GRPCTHREADEVENT']._serialized_end=8283 + _globals['_GRPCTHREADEVENT']._serialized_end=8306 # @@protoc_insertion_point(module_scope) From b5b06085dea6a503e36482e56f070a687d770780 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Thu, 9 Oct 2025 13:19:52 +0300 Subject: [PATCH 101/189] Add converter for ocel annotation --- .../discovery/ocel/graph_annotation.rs | 8 ++-- .../ficus/src/features/discovery/ocel/mod.rs | 2 +- Ficus/src/rust/ficus/src/grpc/converters.rs | 44 ++++++++++++++++++- .../ficus/src/pipelines/keys/context_keys.rs | 4 ++ 4 files changed, 52 insertions(+), 6 deletions(-) diff --git a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs index 47c09b55b..4f1c3a925 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs @@ -19,7 +19,9 @@ pub enum OcelAnnotationCreationError { OneOfMergedObjetsDoesNotExist } -struct NodeObjectsState { +#[derive(Getters)] +pub struct NodeObjectsState { + #[getset(get = "pub")] map: HashMap> } @@ -68,9 +70,9 @@ struct NodeState { #[derive(new, Getters)] pub struct ProcessNodesStates { - #[get(get = "pub")] + #[get = "pub"] initial_objects: Option, - #[get(get = "pub")] + #[get = "pub"] final_objects: NodeObjectsState } diff --git a/Ficus/src/rust/ficus/src/features/discovery/ocel/mod.rs b/Ficus/src/rust/ficus/src/features/discovery/ocel/mod.rs index 3b53ca685..9483b0428 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/ocel/mod.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/ocel/mod.rs @@ -1 +1 @@ -mod graph_annotation; \ No newline at end of file +pub mod graph_annotation; \ No newline at end of file diff --git a/Ficus/src/rust/ficus/src/grpc/converters.rs b/Ficus/src/rust/ficus/src/grpc/converters.rs index 1ff8d5a2a..61a8db702 100644 --- a/Ficus/src/rust/ficus/src/grpc/converters.rs +++ b/Ficus/src/rust/ficus/src/grpc/converters.rs @@ -27,10 +27,10 @@ use crate::features::discovery::timeline::software_data::models::{ActivityDurati use crate::ficus_proto::grpc_annotation::Annotation::{CountAnnotation, FrequencyAnnotation, TimeAnnotation}; use crate::ficus_proto::grpc_context_value::ContextValue::Annotation; use crate::ficus_proto::grpc_node_additional_data::Data; -use crate::ficus_proto::{grpc_event_attribute, grpc_graph_edge_additional_data, grpc_ocel_data, GrpcActivityDurationData, GrpcActivityStartEndData, GrpcAllocationInfo, GrpcAnnotation, GrpcBytes, GrpcColorsEventLogMapping, GrpcCountAnnotation, GrpcDataset, GrpcDurationKind, GrpcEdgeExecutionInfo, GrpcEntityCountAnnotation, GrpcEntityFrequencyAnnotation, GrpcEntityTimeAnnotation, GrpcEvent, GrpcEventAttribute, GrpcEventCoordinates, GrpcFrequenciesAnnotation, GrpcGeneralHistogramData, GrpcGenericEnhancementBase, GrpcGraph, GrpcGraphEdge, GrpcGraphEdgeAdditionalData, GrpcGraphKind, GrpcGraphNode, GrpcGuid, GrpcHistogramEntry, GrpcLabeledDataset, GrpcLogPoint, GrpcLogTimelineDiagram, GrpcMatrix, GrpcMatrixRow, GrpcMergedObjectAllocation, GrpcMethodInliningInfo, GrpcMethodNameParts, GrpcMultithreadedFragment, GrpcNodeAdditionalData, GrpcNodeCorrespondingTraceData, GrpcOcelData, GrpcPetriNet, GrpcPetriNetArc, GrpcPetriNetMarking, GrpcPetriNetPlace, GrpcPetriNetSinglePlaceMarking, GrpcPetriNetTransition, GrpcProduceObjectConsumption, GrpcSimpleCounterData, GrpcSimpleEventLog, GrpcSimpleTrace, GrpcSoftwareData, GrpcThread, GrpcThreadEvent, GrpcTimePerformanceAnnotation, GrpcTimeSpan, GrpcTimelineDiagramFragment, GrpcTimelineTraceEventsGroup, GrpcTraceTimelineDiagram, GrpcUnderlyingPatternInfo, GrpcUnderlyingPatternKind}; +use crate::ficus_proto::{grpc_event_attribute, grpc_graph_edge_additional_data, grpc_ocel_data, GrpcActivityDurationData, GrpcActivityStartEndData, GrpcAllocationInfo, GrpcAnnotation, GrpcBytes, GrpcColorsEventLogMapping, GrpcCountAnnotation, GrpcDataset, GrpcDurationKind, GrpcEdgeExecutionInfo, GrpcEntityCountAnnotation, GrpcEntityFrequencyAnnotation, GrpcEntityTimeAnnotation, GrpcEvent, GrpcEventAttribute, GrpcEventCoordinates, GrpcFrequenciesAnnotation, GrpcGeneralHistogramData, GrpcGenericEnhancementBase, GrpcGraph, GrpcGraphEdge, GrpcGraphEdgeAdditionalData, GrpcGraphKind, GrpcGraphNode, GrpcGuid, GrpcHistogramEntry, GrpcLabeledDataset, GrpcLogPoint, GrpcLogTimelineDiagram, GrpcMatrix, GrpcMatrixRow, GrpcMergedObjectAllocation, GrpcMethodInliningInfo, GrpcMethodNameParts, GrpcModelElementOcelAnnotation, GrpcMultithreadedFragment, GrpcNodeAdditionalData, GrpcNodeCorrespondingTraceData, GrpcOcelData, GrpcOcelModelAnnotation, GrpcOcelObjectTypeState, GrpcOcelState, GrpcPetriNet, GrpcPetriNetArc, GrpcPetriNetMarking, GrpcPetriNetPlace, GrpcPetriNetSinglePlaceMarking, GrpcPetriNetTransition, GrpcProduceObjectConsumption, GrpcSimpleCounterData, GrpcSimpleEventLog, GrpcSimpleTrace, GrpcSoftwareData, GrpcThread, GrpcThreadEvent, GrpcTimePerformanceAnnotation, GrpcTimeSpan, GrpcTimelineDiagramFragment, GrpcTimelineTraceEventsGroup, GrpcTraceTimelineDiagram, GrpcUnderlyingPatternInfo, GrpcUnderlyingPatternKind}; use crate::grpc::pipeline_executor::ServicePipelineExecutionContext; use crate::pipelines::activities_parts::{ActivitiesLogsSourceDto, UndefActivityHandlingStrategyDto}; -use crate::pipelines::keys::context_keys::{BYTES_KEY, COLORS_EVENT_LOG_KEY, EVENT_LOG_INFO_KEY, EVENT_LOG_KEY, GRAPH_KEY, GRAPH_TIME_ANNOTATION_KEY, HASHES_EVENT_LOG_KEY, LABELED_LOG_TRACES_DATASET_KEY, LABELED_TRACES_ACTIVITIES_DATASET_KEY, LOG_THREADS_DIAGRAM_KEY, LOG_TRACES_DATASET_KEY, NAMES_EVENT_LOG_KEY, PATH_KEY, PATTERNS_KEY, PETRI_NET_COUNT_ANNOTATION_KEY, PETRI_NET_FREQUENCY_ANNOTATION_KEY, PETRI_NET_KEY, PETRI_NET_TRACE_FREQUENCY_ANNOTATION_KEY, REPEAT_SETS_KEY, SOFTWARE_DATA_EXTRACTION_CONFIG_KEY, TRACES_ACTIVITIES_DATASET_KEY}; +use crate::pipelines::keys::context_keys::{BYTES_KEY, COLORS_EVENT_LOG_KEY, EVENT_LOG_INFO_KEY, EVENT_LOG_KEY, GRAPH_KEY, GRAPH_TIME_ANNOTATION_KEY, HASHES_EVENT_LOG_KEY, LABELED_LOG_TRACES_DATASET_KEY, LABELED_TRACES_ACTIVITIES_DATASET_KEY, LOG_THREADS_DIAGRAM_KEY, LOG_TRACES_DATASET_KEY, NAMES_EVENT_LOG_KEY, OCEL_ANNOTATION_KEY, PATH_KEY, PATTERNS_KEY, PETRI_NET_COUNT_ANNOTATION_KEY, PETRI_NET_FREQUENCY_ANNOTATION_KEY, PETRI_NET_KEY, PETRI_NET_TRACE_FREQUENCY_ANNOTATION_KEY, REPEAT_SETS_KEY, SOFTWARE_DATA_EXTRACTION_CONFIG_KEY, TRACES_ACTIVITIES_DATASET_KEY}; use crate::pipelines::multithreading::FeatureCountKindDto; use crate::pipelines::patterns_parts::PatternsKindDto; use crate::utils::colors::ColorsEventLog; @@ -72,6 +72,7 @@ use std::{any::Any, str::FromStr}; use chrono::{DateTime, Utc}; use uuid::Uuid; use crate::event_log::xes::xes_trace::XesTraceImpl; +use crate::features::discovery::ocel::graph_annotation::{NodeObjectsState, OcelAnnotation, ProcessNodesStates}; pub(super) fn context_value_from_bytes(bytes: &[u8]) -> Result { GrpcContextValue::decode(bytes) @@ -270,11 +271,50 @@ pub fn convert_to_grpc_context_value(key: &dyn ContextKey, value: &dyn Any) -> O try_convert_to_grpc_log_threads_diagram(value) } else if EVENT_LOG_KEY.eq_other(key) { try_convert_to_grpc_simple_log(value) + } else if OCEL_ANNOTATION_KEY.eq_other(key) { + try_convert_to_grpc_ocel_annotation(value) } else { None } } +fn try_convert_to_grpc_ocel_annotation(value: &dyn Any) -> Option { + if !value.is::() { + None + } else { + let value = value.downcast_ref::().unwrap(); + Some(GrpcContextValue { + context_value: Some(ContextValue::OcelAnnotation(convert_to_grpc_ocel_annotation(value))), + }) + } +} + +fn convert_to_grpc_ocel_annotation(annotation: &OcelAnnotation) -> GrpcOcelModelAnnotation { + GrpcOcelModelAnnotation { + annotations: annotation.nodes_to_states().iter().map(|s| { + GrpcModelElementOcelAnnotation { + element_id: s.0.clone(), + final_state: Some(convert_to_grpc_ocel_node_state(s.1.final_objects())), + initial_state: match s.1.initial_objects() { + None => None, + Some(objects) => Some(convert_to_grpc_ocel_node_state(objects)), + }, + } + }).collect() + } +} + +fn convert_to_grpc_ocel_node_state(state: &NodeObjectsState) -> GrpcOcelState { + GrpcOcelState { + type_states: state.map().iter().map(|t| { + GrpcOcelObjectTypeState { + r#type: t.0.to_owned(), + object_ids: t.1.iter().map(|s| s.to_owned()).collect(), + } + }).collect() + } +} + fn try_convert_to_grpc_bytes(value: &dyn Any) -> Option { if !value.is::>() { None diff --git a/Ficus/src/rust/ficus/src/pipelines/keys/context_keys.rs b/Ficus/src/rust/ficus/src/pipelines/keys/context_keys.rs index 393a6af45..3dbc8df89 100644 --- a/Ficus/src/rust/ficus/src/pipelines/keys/context_keys.rs +++ b/Ficus/src/rust/ficus/src/pipelines/keys/context_keys.rs @@ -34,6 +34,7 @@ use crate::{ use bxes::models::system_models::SystemMetadata; use lazy_static::lazy_static; use uuid::Uuid; +use crate::features::discovery::ocel::graph_annotation::OcelAnnotation; pub const CASE_NAME_STR: &'static str = "case_name"; pub const PROCESS_NAME_STR: &'static str = "process_name"; @@ -133,6 +134,7 @@ pub const DISCOVER_EVENTS_GROUPS_IN_EACH_TRACE: &'static str = "discover_events_ pub const SOFTWARE_DATA_EXTRACTION_CONFIG: &'static str = "software_data_extraction_config"; pub const DISCOVER_ACTIVITY_INSTANCES_STRICT: &'static str = "discover_activity_instances_strict"; pub const PUT_NOISE_EVENTS_IN_ONE_CLUSTER: &'static str = "put_noise_events_in_one_cluster"; +pub const OCEL_ANNOTATION: &'static str = "ocel_annotation"; #[rustfmt::skip] lazy_static!( @@ -237,6 +239,7 @@ lazy_static!( pub static ref SOFTWARE_DATA_EXTRACTION_CONFIG_KEY: DefaultContextKey = DefaultContextKey::new(SOFTWARE_DATA_EXTRACTION_CONFIG); pub static ref DISCOVER_ACTIVITY_INSTANCES_STRICT_KEY: DefaultContextKey = DefaultContextKey::new(DISCOVER_ACTIVITY_INSTANCES_STRICT); pub static ref PUT_NOISE_EVENTS_IN_ONE_CLUSTER_KEY: DefaultContextKey = DefaultContextKey::new(PUT_NOISE_EVENTS_IN_ONE_CLUSTER); + pub static ref OCEL_ANNOTATION_KEY: DefaultContextKey = DefaultContextKey::new(OCEL_ANNOTATION); ); pub fn find_context_key(name: &str) -> Option<&dyn ContextKey> { @@ -331,6 +334,7 @@ pub fn find_context_key(name: &str) -> Option<&dyn ContextKey> { SOFTWARE_DATA_EXTRACTION_CONFIG => Some(SOFTWARE_DATA_EXTRACTION_CONFIG_KEY.deref() as &dyn ContextKey), DISCOVER_ACTIVITY_INSTANCES_STRICT => Some(DISCOVER_ACTIVITY_INSTANCES_STRICT_KEY.deref() as &dyn ContextKey), PUT_NOISE_EVENTS_IN_ONE_CLUSTER => Some(PUT_NOISE_EVENTS_IN_ONE_CLUSTER_KEY.deref() as &dyn ContextKey), + OCEL_ANNOTATION => Some(OCEL_ANNOTATION_KEY.deref() as &dyn ContextKey), _ => None, } } From c8cc0e71fec44d79a518c2c4e62558bafb8d3537 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Thu, 9 Oct 2025 13:25:26 +0300 Subject: [PATCH 102/189] Remove not need struct --- .../features/discovery/ocel/graph_annotation.rs | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs index 4f1c3a925..4974c165e 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs @@ -62,12 +62,6 @@ impl NodeObjectsState { } } -#[derive(new)] -struct NodeState { - node: u64, - final_objects: NodeObjectsState, -} - #[derive(new, Getters)] pub struct ProcessNodesStates { #[get = "pub"] @@ -84,7 +78,7 @@ pub fn create_ocel_annotation_for_dag(graph: &DefaultGraph) -> Result Result Result Result Date: Thu, 9 Oct 2025 13:45:45 +0300 Subject: [PATCH 103/189] Add pipeline parts for creating OCEL annotation --- .../ficus/grpc_pipelines/annotations.py | 6 +++++ .../python/ficus/grpc_pipelines/constants.py | 2 ++ .../discovery/ocel/graph_annotation.rs | 2 ++ .../ficus/src/pipelines/annotations_parts.rs | 23 +++++++++++++++---- .../rust/ficus/src/pipelines/parts_names.rs | 1 + .../ficus/src/pipelines/pipeline_parts.rs | 1 + .../tests/pipelines/pipeline_keys_tests.rs | 6 ++++- .../tests/pipelines/pipeline_parts_tests.rs | 3 ++- 8 files changed, 38 insertions(+), 6 deletions(-) diff --git a/Ficus/src/python/ficus/grpc_pipelines/annotations.py b/Ficus/src/python/ficus/grpc_pipelines/annotations.py index b38295f4c..a57505c34 100644 --- a/Ficus/src/python/ficus/grpc_pipelines/annotations.py +++ b/Ficus/src/python/ficus/grpc_pipelines/annotations.py @@ -128,3 +128,9 @@ def to_grpc_part(self) -> GrpcPipelinePartBase: config) return GrpcPipelinePartBase(complexContextRequestPart=part) + + +class AnnotateGraphWithOCEL(PipelinePart): + def to_grpc_part(self) -> GrpcPipelinePartBase: + config = GrpcPipelinePartConfiguration() + return GrpcPipelinePartBase(defaultPart=create_default_pipeline_part(const_create_ocel_annotation_for_dag, config)) \ No newline at end of file diff --git a/Ficus/src/python/ficus/grpc_pipelines/constants.py b/Ficus/src/python/ficus/grpc_pipelines/constants.py index b18e3ea56..6a3edaebe 100644 --- a/Ficus/src/python/ficus/grpc_pipelines/constants.py +++ b/Ficus/src/python/ficus/grpc_pipelines/constants.py @@ -76,6 +76,7 @@ const_software_data_extraction_config = 'software_data_extraction_config' const_discover_activities_instances_strict = 'discover_activity_instances_strict' const_put_noise_events_in_one_cluster = 'put_noise_events_in_one_cluster' +const_ocel_annotation = "ocel_annotation" const_draw_placement_of_event_by_regex = 'DrawPlacementOfEventsByRegex' const_draw_full_activities_diagram = 'DrawFullActivitiesDiagram' @@ -165,6 +166,7 @@ const_add_graph_to_graphs = 'AddGraphToGraphs' const_clear_graphs = 'ClearGraphs' const_terminate_if_empty_log = 'TerminateIfEmptyLog' +const_create_ocel_annotation_for_dag = 'CreateOcelAnnotationForDag' const_pattern_discovery_strategy_enum_name = 'PatternsDiscoveryStrategy' const_patterns_kind_enum_name = 'PatternsKindDto' diff --git a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs index 4974c165e..9ccab0ec0 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs @@ -1,6 +1,7 @@ use crate::utils::graph::graph::DefaultGraph; use derive_new::new; use std::collections::{HashMap, HashSet, VecDeque}; +use enum_display::EnumDisplay; use getset::Getters; use crate::features::discovery::root_sequence::context_keys::EDGE_SOFTWARE_DATA_KEY; use crate::features::discovery::timeline::software_data::models::OcelObjectAction; @@ -12,6 +13,7 @@ pub struct OcelAnnotation { nodes_to_states: HashMap } +#[derive(EnumDisplay)] pub enum OcelAnnotationCreationError { FailedToFindStartNode, ObjectAlreadyExistsInNodeState, diff --git a/Ficus/src/rust/ficus/src/pipelines/annotations_parts.rs b/Ficus/src/rust/ficus/src/pipelines/annotations_parts.rs index eb7160d1d..270986f0c 100644 --- a/Ficus/src/rust/ficus/src/pipelines/annotations_parts.rs +++ b/Ficus/src/rust/ficus/src/pipelines/annotations_parts.rs @@ -1,16 +1,14 @@ use std::collections::HashMap; use crate::event_log::xes::xes_event_log::XesEventLogImpl; +use crate::features::discovery::ocel::graph_annotation::{create_ocel_annotation_for_dag, OcelAnnotation, OcelAnnotationCreationError}; use crate::features::discovery::petri_net::annotations::{ annotate_with_counts, annotate_with_frequencies, annotate_with_time_performance, annotate_with_trace_frequency, }; use crate::features::discovery::petri_net::petri_net::DefaultPetriNet; use crate::pipelines::context::PipelineContext; use crate::pipelines::errors::pipeline_errors::{PipelinePartExecutionError, RawPartExecutionError}; -use crate::pipelines::keys::context_keys::{ - EVENT_LOG_KEY, GRAPH_KEY, GRAPH_TIME_ANNOTATION_KEY, PETRI_NET_COUNT_ANNOTATION_KEY, PETRI_NET_FREQUENCY_ANNOTATION_KEY, PETRI_NET_KEY, - PETRI_NET_TRACE_FREQUENCY_ANNOTATION_KEY, TERMINATE_ON_UNREPLAYABLE_TRACES_KEY, TIME_ANNOTATION_KIND_KEY, -}; +use crate::pipelines::keys::context_keys::{EVENT_LOG_KEY, GRAPH_KEY, GRAPH_TIME_ANNOTATION_KEY, OCEL_ANNOTATION_KEY, PETRI_NET_COUNT_ANNOTATION_KEY, PETRI_NET_FREQUENCY_ANNOTATION_KEY, PETRI_NET_KEY, PETRI_NET_TRACE_FREQUENCY_ANNOTATION_KEY, TERMINATE_ON_UNREPLAYABLE_TRACES_KEY, TIME_ANNOTATION_KIND_KEY}; use crate::pipelines::pipeline_parts::PipelineParts; use crate::pipelines::pipelines::PipelinePartFactory; use crate::utils::context_key::DefaultContextKey; @@ -89,4 +87,21 @@ impl PipelineParts { } }) } + + pub(super) fn create_ocel_annotation_for_dag() -> (String, PipelinePartFactory) { + Self::create_pipeline_part(Self::CREATE_OCEL_ANNOTATION_FOR_DAG, &|context, _, config| { + let graph = Self::get_user_data(context, &GRAPH_KEY)?; + + match create_ocel_annotation_for_dag(graph) { + Ok(annotation) => { + context.put_concrete(OCEL_ANNOTATION_KEY.key(), annotation); + Ok(()) + } + Err(err) => { + let message = format!("Failed to create ocel annotation, error: {}", err.to_string()); + Err(PipelinePartExecutionError::new_raw(message)) + } + } + }) + } } diff --git a/Ficus/src/rust/ficus/src/pipelines/parts_names.rs b/Ficus/src/rust/ficus/src/pipelines/parts_names.rs index 419ec81a8..3f2704427 100644 --- a/Ficus/src/rust/ficus/src/pipelines/parts_names.rs +++ b/Ficus/src/rust/ficus/src/pipelines/parts_names.rs @@ -76,6 +76,7 @@ impl PipelineParts { pub const ANNOTATE_PETRI_NET_COUNT: &'static str = "AnnotatePetriNetWithCount"; pub const ANNOTATE_PETRI_NET_FREQUENCY: &'static str = "AnnotatePetriNetWithFrequency"; pub const ANNOTATE_PETRI_NET_TRACE_FREQUENCY: &'static str = "AnnotatePetriNetWithTraceFrequency"; + pub const CREATE_OCEL_ANNOTATION_FOR_DAG: &'static str = "CreateOcelAnnotationForDag"; pub const ANNOTATE_GRAPH_WITH_TIME: &'static str = "AnnotateGraphWithTime"; diff --git a/Ficus/src/rust/ficus/src/pipelines/pipeline_parts.rs b/Ficus/src/rust/ficus/src/pipelines/pipeline_parts.rs index 07cbaaefe..b3c941940 100644 --- a/Ficus/src/rust/ficus/src/pipelines/pipeline_parts.rs +++ b/Ficus/src/rust/ficus/src/pipelines/pipeline_parts.rs @@ -125,6 +125,7 @@ impl PipelineParts { Self::add_graph_to_graphs(), Self::clear_graphs(), Self::terminate_if_empty_log(), + Self::create_ocel_annotation_for_dag() ]; let mut names_to_parts = HashMap::new(); diff --git a/Ficus/src/rust/ficus/tests/pipelines/pipeline_keys_tests.rs b/Ficus/src/rust/ficus/tests/pipelines/pipeline_keys_tests.rs index b17eb8b5b..2a06abab1 100644 --- a/Ficus/src/rust/ficus/tests/pipelines/pipeline_keys_tests.rs +++ b/Ficus/src/rust/ficus/tests/pipelines/pipeline_keys_tests.rs @@ -29,6 +29,7 @@ use ficus::{ utils::colors::ColorsHolder, vecs, }; +use ficus::features::discovery::ocel::graph_annotation::OcelAnnotationCreationError; #[test] #[rustfmt::skip] @@ -125,6 +126,7 @@ fn test_event_log_all_concrete_keys() { assert_existence::(&SOFTWARE_DATA_EXTRACTION_CONFIG, &mut used); assert_existence::(&DISCOVER_ACTIVITY_INSTANCES_STRICT, &mut used); assert_existence::(&MERGE_SEQUENCES_OF_EVENTS, &mut used); + assert_existence::(&OCEL_ANNOTATION, &mut used); assert_eq!(used.len(), get_all_keys_names().len()) } @@ -229,7 +231,8 @@ fn get_all_keys_names() -> Vec { "discover_events_groups_in_each_trace", "software_data_extraction_config", "discover_activity_instances_strict", - "merge_sequences_of_events" + "merge_sequences_of_events", + "ocel_annotation" ] } @@ -335,6 +338,7 @@ fn test_equivalence_of_keys() { assert_keys_equivalence::(&SOFTWARE_DATA_EXTRACTION_CONFIG, &mut used); assert_keys_equivalence::(&DISCOVER_ACTIVITY_INSTANCES_STRICT, &mut used); assert_keys_equivalence::(&MERGE_SEQUENCES_OF_EVENTS, &mut used); + assert_keys_equivalence::(&OCEL_ANNOTATION, &mut used); assert_eq!(used.len(), get_all_keys_names().len()) } diff --git a/Ficus/src/rust/ficus/tests/pipelines/pipeline_parts_tests.rs b/Ficus/src/rust/ficus/tests/pipelines/pipeline_parts_tests.rs index 51eb01a7e..753d529f3 100644 --- a/Ficus/src/rust/ficus/tests/pipelines/pipeline_parts_tests.rs +++ b/Ficus/src/rust/ficus/tests/pipelines/pipeline_parts_tests.rs @@ -91,7 +91,8 @@ fn get_test_parts_names() -> Vec { "MergeGraphs", "AddGraphToGraphs", "ClearGraphs", - "TerminateIfEmptyLog" + "TerminateIfEmptyLog", + "CreateOcelAnnotationForDag" ] } From d3cbd98ead5b80f7f51cf165f4aa71a35de1333a Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Thu, 9 Oct 2025 20:56:09 +0300 Subject: [PATCH 104/189] Add more methods to OCEL logger --- .../Filters/OnlyKnownEventsFilterer.cs | 2 +- .../ProcfilerEventSources/OcelEventsSource.cs | 23 ++++++-- .../ProcfilerLoggerProvider/OcelLogger.cs | 57 +++++++++++++++++-- 3 files changed, 73 insertions(+), 9 deletions(-) diff --git a/Procfiler/src/dotnet/Procfiler/src/Core/EventsProcessing/Filters/OnlyKnownEventsFilterer.cs b/Procfiler/src/dotnet/Procfiler/src/Core/EventsProcessing/Filters/OnlyKnownEventsFilterer.cs index eaf22c42e..923bbc9eb 100644 --- a/Procfiler/src/dotnet/Procfiler/src/Core/EventsProcessing/Filters/OnlyKnownEventsFilterer.cs +++ b/Procfiler/src/dotnet/Procfiler/src/Core/EventsProcessing/Filters/OnlyKnownEventsFilterer.cs @@ -157,7 +157,7 @@ public void Filter(IEventsCollection events) { if (ourAllowedEvents.Contains(eventRecord.EventClass)) continue; - OcelLogger.LogObject(eventRecord, eventRecord.EventClass); + OcelLogger.LogObjectAllocated(eventRecord, eventRecord.EventClass); events.Remove(ptr); } } diff --git a/Procfiler/src/dotnet/ProcfilerEventSources/OcelEventsSource.cs b/Procfiler/src/dotnet/ProcfilerEventSources/OcelEventsSource.cs index 25c32d708..4ea187ca1 100644 --- a/Procfiler/src/dotnet/ProcfilerEventSources/OcelEventsSource.cs +++ b/Procfiler/src/dotnet/ProcfilerEventSources/OcelEventsSource.cs @@ -5,10 +5,13 @@ namespace ProcfilerEventSources; [EventSource(Name = nameof(OcelEventsSource))] public class OcelEventsSource : EventSource { - private const int OcelEventId = 7000; + private const int OcelObjectAllocatedEventId = 7000; private const int OcelActivityBeginId = 7001; private const int OcelActivityEndId = 7002; private const int OcelGloballyAttachedEventId = 7003; + private const int OcelObjectConsumedEventId = 7004; + private const int OcelMergedObjectAllocatedEventId = 7005; + private const int OcelObjectConsumedWithProduceEventId = 7006; public static OcelEventsSource Instance { get; } = new(); @@ -19,9 +22,21 @@ private OcelEventsSource() } - [Event(OcelEventId, Level = EventLevel.LogAlways)] - public void OcelEvent(long objectId, string? objectCategory, string attributes) => - WriteEvent(OcelEventId, objectId, objectCategory, attributes); + [Event(OcelObjectAllocatedEventId, Level = EventLevel.LogAlways)] + public void ObjectAllocated(long objectId, string? objectCategory, string attributes) => + WriteEvent(OcelObjectAllocatedEventId, objectId, objectCategory, attributes); + + [Event(OcelObjectConsumedEventId, Level = EventLevel.LogAlways)] + public void ObjectConsumed(long objectId, string? objectCategory, string attributes) => + WriteEvent(OcelObjectConsumedEventId, objectId, objectCategory, attributes); + + [Event(OcelObjectConsumedWithProduceEventId, Level = EventLevel.LogAlways)] + public void ObjectConsumedWithProduce(long objectId, string? objectCategory, string relatedObjectIds, string attributes) => + WriteEvent(OcelObjectConsumedWithProduceEventId, objectId, objectCategory, relatedObjectIds, attributes); + + [Event(OcelMergedObjectAllocatedEventId, Level = EventLevel.LogAlways)] + public void MergedObjectAllocated(long objectId, string? objectCategory, string relatedObjectIds, string attributes) => + WriteEvent(OcelMergedObjectAllocatedEventId, objectId, objectCategory, relatedObjectIds, attributes); [Event(OcelActivityBeginId, Level = EventLevel.LogAlways)] public void OcelActivityBegin(Guid activityId, string activity) => WriteEvent(OcelActivityBeginId, activityId, activity); diff --git a/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs b/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs index e622df02b..7a95afb44 100644 --- a/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs +++ b/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs @@ -18,6 +18,9 @@ protected OcelObjectBase() public static class OcelLogger { + private const char Delimiter = ' '; + + public readonly struct OcelActivityCookie(string name, Guid activityId) : IDisposable { public void Dispose() @@ -27,20 +30,66 @@ public void Dispose() } - public static void LogObject(T obj, string? category = null) where T : class + public static void LogObjectAllocated(T obj, string? category = null) where T : class + { + if (!IsEnabled()) return; + + OcelEventsSource.Instance.ObjectAllocated(GetObjectId(obj), category, string.Empty); + } + + public static void LogObjectAllocated(long objectId, string? category = null) + { + if (!IsEnabled()) return; + + OcelEventsSource.Instance.ObjectAllocated(objectId, category, string.Empty); + } + + public static void LogObjectConsumed(T obj, string? category = null) + { + if (!IsEnabled()) return; + + OcelEventsSource.Instance.ObjectConsumed(GetObjectId(obj), category, string.Empty); + } + + public static void LogObjectConsumed(long objectId, string? category = null) { if (!IsEnabled()) return; - OcelEventsSource.Instance.OcelEvent(GetObjectId(obj), category, string.Empty); + OcelEventsSource.Instance.ObjectConsumed(objectId, category, string.Empty); } - public static void LogObject(long objectId, string? category = null) + public static void LogObjectConsumedWithProduce(long objectId, string? category = null, params ulong[] relatedObjectIds) { if (!IsEnabled()) return; - OcelEventsSource.Instance.OcelEvent(objectId, category, string.Empty); + OcelEventsSource.Instance.ObjectConsumedWithProduce(objectId, category, string.Join(Delimiter, relatedObjectIds), string.Empty); } + public static void LogObjectConsumedWithProduce(T obj, string? category = null, params T[] relatedObjects) + { + if (!IsEnabled()) return; + + var relatedObjectIds = JoinObjectsIds(relatedObjects.Select(GetObjectId)); + OcelEventsSource.Instance.ObjectConsumedWithProduce(GetObjectId(obj), category, relatedObjectIds, string.Empty); + } + + public static void LogMergedObjectAllocated(long objectId, string? category = null, params long[] relatedObjectIds) + { + if (!IsEnabled()) return; + + OcelEventsSource.Instance.MergedObjectAllocated(objectId, category, JoinObjectsIds(relatedObjectIds), string.Empty); + } + + public static void LogMergedObjectAllocated(T obj, string? category = null, params T[] relatedObjects) + { + if (!IsEnabled()) return; + + var relatedObjectIds = JoinObjectsIds(relatedObjects.Select(GetObjectId)); + OcelEventsSource.Instance.MergedObjectAllocated(GetObjectId(obj), category, relatedObjectIds, string.Empty); + } + + private static string JoinObjectsIds(IEnumerable objectIds) => string.Join(Delimiter, objectIds); + private static long GetObjectId(T obj) => obj switch { OcelObjectBase @base => @base.Id, From 710624db26b93b00db0fdeda956aeccc939dc38f Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Thu, 9 Oct 2025 21:16:04 +0300 Subject: [PATCH 105/189] Adjust to API change --- Procfiler/test_data/source/Ocel/Program.cs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Procfiler/test_data/source/Ocel/Program.cs b/Procfiler/test_data/source/Ocel/Program.cs index 02e16599a..5a48dd6c8 100644 --- a/Procfiler/test_data/source/Ocel/Program.cs +++ b/Procfiler/test_data/source/Ocel/Program.cs @@ -26,8 +26,9 @@ public static void Main() OcelLogger.LogGloballyAttachedObject(myObject, "GlobalInitializing", myObject.GetType().Name); } - OcelLogger.LogObject(1234, "test"); - OcelLogger.LogObject(myObject, myObject.GetType().Name); + OcelLogger.LogObjectAllocated(1234, "test"); + OcelLogger.LogObjectAllocated(myObject, myObject.GetType().Name); + myObject.Name = "xd"; } } @@ -43,7 +44,7 @@ void Cleaning(List objects) using var _ = OcelLogger.StartOcelActivity(nameof(Cleaning)); foreach (var obj in objects) { - OcelLogger.LogObject(obj, obj.GetType().Name); + OcelLogger.LogObjectAllocated(obj, obj.GetType().Name); } } @@ -52,7 +53,7 @@ void VetClinic(List objects) using var _ = OcelLogger.StartOcelActivity(nameof(VetClinic)); foreach (var obj in objects) { - OcelLogger.LogObject(obj, obj.GetType().Name); + OcelLogger.LogObjectAllocated(obj, obj.GetType().Name); } } @@ -61,7 +62,7 @@ void Playground(List objects) using var _ = OcelLogger.StartOcelActivity(nameof(Playground)); foreach (var obj in objects) { - OcelLogger.LogObject(obj, obj.GetType().Name); + OcelLogger.LogObjectAllocated(obj, obj.GetType().Name); } } @@ -70,7 +71,7 @@ void Farm(List objects) using var _ = OcelLogger.StartOcelActivity(nameof(Farm)); foreach (var obj in objects) { - OcelLogger.LogObject(obj, obj.GetType().Name); + OcelLogger.LogObjectAllocated(obj, obj.GetType().Name); } } } From 86d4d38b12053f6ad2de262e27ee603e0b921dbf Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 11 Oct 2025 22:41:34 +0300 Subject: [PATCH 106/189] Add test project for new OCEL logging methods --- Procfiler/test_data/source/Ocel2/Ocel2.csproj | 21 +++++++ Procfiler/test_data/source/Ocel2/Program.cs | 63 +++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 Procfiler/test_data/source/Ocel2/Ocel2.csproj create mode 100644 Procfiler/test_data/source/Ocel2/Program.cs diff --git a/Procfiler/test_data/source/Ocel2/Ocel2.csproj b/Procfiler/test_data/source/Ocel2/Ocel2.csproj new file mode 100644 index 000000000..865f2e77b --- /dev/null +++ b/Procfiler/test_data/source/Ocel2/Ocel2.csproj @@ -0,0 +1,21 @@ + + + + Exe + net9.0 + enable + enable + + + + + ..\..\..\src\dotnet\ProcfilerLoggerProvider\bin\$(Configuration)\$(TargetFramework)\ProcfilerLoggerProvider.dll + + + + + + + + + diff --git a/Procfiler/test_data/source/Ocel2/Program.cs b/Procfiler/test_data/source/Ocel2/Program.cs new file mode 100644 index 000000000..13f7baf6e --- /dev/null +++ b/Procfiler/test_data/source/Ocel2/Program.cs @@ -0,0 +1,63 @@ +// See https://aka.ms/new-console-template for more information + +using System.Runtime.CompilerServices; +using ProcfilerLoggerProvider; + +namespace Ocel2; + +public static class Program +{ + public static void Main() + { + } + + private static int ourNextId; + + private static int NextId() + { + ourNextId++; + return ourNextId; + } + + private static void Method() + { + const string Type1 = nameof(Type1); + const string Type2 = nameof(Type2); + const string Type3 = nameof(Type3); + + var id1 = NextId(); + var id2 = NextId(); + var id3 = NextId(); + OcelLogger.LogObjectAllocated(id1, Type1); + OcelLogger.LogObjectAllocated(id2, Type1); + OcelLogger.LogObjectAllocated(id3, Type1); + + var id4 = NextId(); + var id5 = NextId(); + var id6 = NextId(); + + OcelLogger.LogObjectAllocated(id4, Type2); + OcelLogger.LogObjectAllocated(id5, Type2); + OcelLogger.LogObjectAllocated(id6, Type2); + + Method1(); + + var id7 = NextId(); + OcelLogger.LogMergedObjectAllocated(id7, Type3, id1, id3, id5); + + var id8 = NextId(); + OcelLogger.LogMergedObjectAllocated(id8, Type1, id2, id4, id6); + + Method1(); + + OcelLogger.LogObjectConsumedWithProduce(id7, Type3); + OcelLogger.LogObjectConsumedWithProduce(id8, Type2); + + Method1(); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + private static void Method1() + { + } +} \ No newline at end of file From ab3edbd24d7a39af7ca981be88187f6660b77010 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 17 Oct 2025 18:26:40 +0300 Subject: [PATCH 107/189] Change OCEL log API --- .../ProcfilerEventSources/OcelEventsSource.cs | 16 ++++++++-------- .../dotnet/ProcfilerLoggerProvider/OcelLogger.cs | 14 +++++++------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Procfiler/src/dotnet/ProcfilerEventSources/OcelEventsSource.cs b/Procfiler/src/dotnet/ProcfilerEventSources/OcelEventsSource.cs index 4ea187ca1..90e0abec4 100644 --- a/Procfiler/src/dotnet/ProcfilerEventSources/OcelEventsSource.cs +++ b/Procfiler/src/dotnet/ProcfilerEventSources/OcelEventsSource.cs @@ -10,8 +10,8 @@ public class OcelEventsSource : EventSource private const int OcelActivityEndId = 7002; private const int OcelGloballyAttachedEventId = 7003; private const int OcelObjectConsumedEventId = 7004; - private const int OcelMergedObjectAllocatedEventId = 7005; - private const int OcelObjectConsumedWithProduceEventId = 7006; + private const int OcelObjectMergeAllocateRelationEventId = 7005; + private const int OcelObjectConsumeProduceRelationEventId = 7006; public static OcelEventsSource Instance { get; } = new(); @@ -30,13 +30,13 @@ public void ObjectAllocated(long objectId, string? objectCategory, string attrib public void ObjectConsumed(long objectId, string? objectCategory, string attributes) => WriteEvent(OcelObjectConsumedEventId, objectId, objectCategory, attributes); - [Event(OcelObjectConsumedWithProduceEventId, Level = EventLevel.LogAlways)] - public void ObjectConsumedWithProduce(long objectId, string? objectCategory, string relatedObjectIds, string attributes) => - WriteEvent(OcelObjectConsumedWithProduceEventId, objectId, objectCategory, relatedObjectIds, attributes); + [Event(OcelObjectConsumeProduceRelationEventId, Level = EventLevel.LogAlways)] + public void ConsumeProduceRelation(long objectId, string relatedObjectIds, string attributes) => + WriteEvent(OcelObjectConsumeProduceRelationEventId, objectId, relatedObjectIds, attributes); - [Event(OcelMergedObjectAllocatedEventId, Level = EventLevel.LogAlways)] - public void MergedObjectAllocated(long objectId, string? objectCategory, string relatedObjectIds, string attributes) => - WriteEvent(OcelMergedObjectAllocatedEventId, objectId, objectCategory, relatedObjectIds, attributes); + [Event(OcelObjectMergeAllocateRelationEventId, Level = EventLevel.LogAlways)] + public void MergeAllocatedRelation(long objectId, string relatedObjectIds, string attributes) => + WriteEvent(OcelObjectMergeAllocateRelationEventId, objectId, relatedObjectIds, attributes); [Event(OcelActivityBeginId, Level = EventLevel.LogAlways)] public void OcelActivityBegin(Guid activityId, string activity) => WriteEvent(OcelActivityBeginId, activityId, activity); diff --git a/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs b/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs index 7a95afb44..3cc892620 100644 --- a/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs +++ b/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs @@ -58,26 +58,26 @@ public static void LogObjectConsumed(long objectId, string? category = null) OcelEventsSource.Instance.ObjectConsumed(objectId, category, string.Empty); } - public static void LogObjectConsumedWithProduce(long objectId, string? category = null, params ulong[] relatedObjectIds) + public static void LogObjectsConsuneProduceRelation(long objectId, params ulong[] relatedObjectIds) { if (!IsEnabled()) return; - OcelEventsSource.Instance.ObjectConsumedWithProduce(objectId, category, string.Join(Delimiter, relatedObjectIds), string.Empty); + OcelEventsSource.Instance.ConsumeProduceRelation(objectId, string.Join(Delimiter, relatedObjectIds), string.Empty); } - public static void LogObjectConsumedWithProduce(T obj, string? category = null, params T[] relatedObjects) + public static void LogObjectsConsuneProduceRelation(T obj, params T[] relatedObjects) { if (!IsEnabled()) return; var relatedObjectIds = JoinObjectsIds(relatedObjects.Select(GetObjectId)); - OcelEventsSource.Instance.ObjectConsumedWithProduce(GetObjectId(obj), category, relatedObjectIds, string.Empty); + OcelEventsSource.Instance.ConsumeProduceRelation(GetObjectId(obj), relatedObjectIds, string.Empty); } - public static void LogMergedObjectAllocated(long objectId, string? category = null, params long[] relatedObjectIds) + public static void LogMergedObjectAllocated(long objectId, params long[] relatedObjectIds) { if (!IsEnabled()) return; - OcelEventsSource.Instance.MergedObjectAllocated(objectId, category, JoinObjectsIds(relatedObjectIds), string.Empty); + OcelEventsSource.Instance.MergeAllocatedRelation(objectId, JoinObjectsIds(relatedObjectIds), string.Empty); } public static void LogMergedObjectAllocated(T obj, string? category = null, params T[] relatedObjects) @@ -85,7 +85,7 @@ public static void LogMergedObjectAllocated(T obj, string? category = null, p if (!IsEnabled()) return; var relatedObjectIds = JoinObjectsIds(relatedObjects.Select(GetObjectId)); - OcelEventsSource.Instance.MergedObjectAllocated(GetObjectId(obj), category, relatedObjectIds, string.Empty); + OcelEventsSource.Instance.MergeAllocatedRelation(GetObjectId(obj), relatedObjectIds, string.Empty); } private static string JoinObjectsIds(IEnumerable objectIds) => string.Join(Delimiter, objectIds); From fc110583dc1967a23300078ff63856318ef2922c Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 17 Oct 2025 18:27:57 +0300 Subject: [PATCH 108/189] Fix cpp procfiler build --- .../cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp index ab2151c84..d453803a6 100644 --- a/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp +++ b/Procfiler/src/cpp/offline/corprofiler/ProcfilerCorProfilerCallback.cpp @@ -69,7 +69,7 @@ void ProcfilerCorProfilerCallback::HandleFunctionTailCall(const FunctionID funcI void ProcfilerCorProfilerCallback::HandleFunctionEnter2(FunctionID funcId, COR_PRF_FUNCTION_ARGUMENT_INFO* argumentInfo) const { - ObjectID id; + UINT64 id; myObjectsManager->TryGetThisObjectId(funcId, argumentInfo, &id); HandleFunctionEnter(funcId); From c1006509651ea04af3343d1ca8530d277e79043a Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 17 Oct 2025 19:01:46 +0300 Subject: [PATCH 109/189] WIP --- .../src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs | 8 ++++---- Procfiler/test_data/source/Ocel2/Program.cs | 9 +++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs b/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs index 3cc892620..55df3bc32 100644 --- a/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs +++ b/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs @@ -58,14 +58,14 @@ public static void LogObjectConsumed(long objectId, string? category = null) OcelEventsSource.Instance.ObjectConsumed(objectId, category, string.Empty); } - public static void LogObjectsConsuneProduceRelation(long objectId, params ulong[] relatedObjectIds) + public static void LogConsumeProduceRelation(long objectId, params ulong[] relatedObjectIds) { if (!IsEnabled()) return; OcelEventsSource.Instance.ConsumeProduceRelation(objectId, string.Join(Delimiter, relatedObjectIds), string.Empty); } - public static void LogObjectsConsuneProduceRelation(T obj, params T[] relatedObjects) + public static void LogConsumeProduceRelation(T obj, params T[] relatedObjects) { if (!IsEnabled()) return; @@ -73,14 +73,14 @@ public static void LogObjectsConsuneProduceRelation(T obj, params T[] related OcelEventsSource.Instance.ConsumeProduceRelation(GetObjectId(obj), relatedObjectIds, string.Empty); } - public static void LogMergedObjectAllocated(long objectId, params long[] relatedObjectIds) + public static void LogMergeAllocateRelation(long objectId, params long[] relatedObjectIds) { if (!IsEnabled()) return; OcelEventsSource.Instance.MergeAllocatedRelation(objectId, JoinObjectsIds(relatedObjectIds), string.Empty); } - public static void LogMergedObjectAllocated(T obj, string? category = null, params T[] relatedObjects) + public static void LogMergeAllocateRelation(T obj, params T[] relatedObjects) { if (!IsEnabled()) return; diff --git a/Procfiler/test_data/source/Ocel2/Program.cs b/Procfiler/test_data/source/Ocel2/Program.cs index 13f7baf6e..311cc02fe 100644 --- a/Procfiler/test_data/source/Ocel2/Program.cs +++ b/Procfiler/test_data/source/Ocel2/Program.cs @@ -11,6 +11,7 @@ public static void Main() { } + private static int ourNextId; private static int NextId() @@ -43,15 +44,15 @@ private static void Method() Method1(); var id7 = NextId(); - OcelLogger.LogMergedObjectAllocated(id7, Type3, id1, id3, id5); + OcelLogger.LogMergeAllocateRelation(id7, id1, id3, id5); var id8 = NextId(); - OcelLogger.LogMergedObjectAllocated(id8, Type1, id2, id4, id6); + OcelLogger.LogMergeAllocateRelation(id8, id2, id4, id6); Method1(); - OcelLogger.LogObjectConsumedWithProduce(id7, Type3); - OcelLogger.LogObjectConsumedWithProduce(id8, Type2); + OcelLogger.LogConsumeProduceRelation(id7); + OcelLogger.LogConsumeProduceRelation(id8); Method1(); } From fcb98b012b38092b89285981a230350a1794ef8d Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 18 Oct 2025 12:58:44 +0300 Subject: [PATCH 110/189] Change API once again --- .../ProcfilerEventSources/OcelEventsSource.cs | 24 +++++----- .../ProcfilerLoggerProvider/OcelLogger.cs | 45 +++++++++++++------ 2 files changed, 44 insertions(+), 25 deletions(-) diff --git a/Procfiler/src/dotnet/ProcfilerEventSources/OcelEventsSource.cs b/Procfiler/src/dotnet/ProcfilerEventSources/OcelEventsSource.cs index 90e0abec4..e798e8261 100644 --- a/Procfiler/src/dotnet/ProcfilerEventSources/OcelEventsSource.cs +++ b/Procfiler/src/dotnet/ProcfilerEventSources/OcelEventsSource.cs @@ -10,8 +10,8 @@ public class OcelEventsSource : EventSource private const int OcelActivityEndId = 7002; private const int OcelGloballyAttachedEventId = 7003; private const int OcelObjectConsumedEventId = 7004; - private const int OcelObjectMergeAllocateRelationEventId = 7005; - private const int OcelObjectConsumeProduceRelationEventId = 7006; + private const int OcelObjectMergeAllocateEventId = 7005; + private const int OcelObjectConsumeProduceEventId = 7006; public static OcelEventsSource Instance { get; } = new(); @@ -23,20 +23,20 @@ private OcelEventsSource() [Event(OcelObjectAllocatedEventId, Level = EventLevel.LogAlways)] - public void ObjectAllocated(long objectId, string? objectCategory, string attributes) => - WriteEvent(OcelObjectAllocatedEventId, objectId, objectCategory, attributes); + public void ObjectAllocated(long objectId, string? type, string attributes) => + WriteEvent(OcelObjectAllocatedEventId, objectId, type, attributes); [Event(OcelObjectConsumedEventId, Level = EventLevel.LogAlways)] - public void ObjectConsumed(long objectId, string? objectCategory, string attributes) => - WriteEvent(OcelObjectConsumedEventId, objectId, objectCategory, attributes); + public void ObjectConsumed(long objectId, string? type, string attributes) => + WriteEvent(OcelObjectConsumedEventId, objectId, type, attributes); - [Event(OcelObjectConsumeProduceRelationEventId, Level = EventLevel.LogAlways)] - public void ConsumeProduceRelation(long objectId, string relatedObjectIds, string attributes) => - WriteEvent(OcelObjectConsumeProduceRelationEventId, objectId, relatedObjectIds, attributes); + [Event(OcelObjectConsumeProduceEventId, Level = EventLevel.LogAlways)] + public void ConsumeProduce(long objectId, string relatedObjectsIds, string relatedObjectsTypes, string attributes) => + WriteEvent(OcelObjectConsumeProduceEventId, objectId, relatedObjectsIds, relatedObjectsTypes, attributes); - [Event(OcelObjectMergeAllocateRelationEventId, Level = EventLevel.LogAlways)] - public void MergeAllocatedRelation(long objectId, string relatedObjectIds, string attributes) => - WriteEvent(OcelObjectMergeAllocateRelationEventId, objectId, relatedObjectIds, attributes); + [Event(OcelObjectMergeAllocateEventId, Level = EventLevel.LogAlways)] + public void MergeAllocate(long objectId, string? type, string relatedObjectIds, string attributes) => + WriteEvent(OcelObjectMergeAllocateEventId, objectId, type, relatedObjectIds, attributes); [Event(OcelActivityBeginId, Level = EventLevel.LogAlways)] public void OcelActivityBegin(Guid activityId, string activity) => WriteEvent(OcelActivityBeginId, activityId, activity); diff --git a/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs b/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs index 55df3bc32..af9da9b43 100644 --- a/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs +++ b/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs @@ -7,7 +7,8 @@ public abstract class OcelObjectBase { private static long ourNextId; - internal long Id { get; } + public long Id { get; } + public virtual string? Type => GetType().FullName; protected OcelObjectBase() @@ -16,6 +17,12 @@ protected OcelObjectBase() } } +public readonly struct OcelObjectDto(long objectId, string? type = null) +{ + public long Id => objectId; + public string? Type => type; +} + public static class OcelLogger { private const char Delimiter = ' '; @@ -37,11 +44,11 @@ public static void LogObjectAllocated(T obj, string? category = null) where T OcelEventsSource.Instance.ObjectAllocated(GetObjectId(obj), category, string.Empty); } - public static void LogObjectAllocated(long objectId, string? category = null) + public static void LogObjectAllocated(in OcelObjectDto dto) { if (!IsEnabled()) return; - OcelEventsSource.Instance.ObjectAllocated(objectId, category, string.Empty); + OcelEventsSource.Instance.ObjectAllocated(dto.Id, dto.Type, string.Empty); } public static void LogObjectConsumed(T obj, string? category = null) @@ -51,44 +58,50 @@ public static void LogObjectConsumed(T obj, string? category = null) OcelEventsSource.Instance.ObjectConsumed(GetObjectId(obj), category, string.Empty); } - public static void LogObjectConsumed(long objectId, string? category = null) + public static void LogObjectConsumed(in OcelObjectDto dto) { if (!IsEnabled()) return; - OcelEventsSource.Instance.ObjectConsumed(objectId, category, string.Empty); + OcelEventsSource.Instance.ObjectConsumed(dto.Id, dto.Type, string.Empty); } - public static void LogConsumeProduceRelation(long objectId, params ulong[] relatedObjectIds) + public static void LogConsumeProduce(long objectId, IReadOnlyList relatedObjectIds) { if (!IsEnabled()) return; - OcelEventsSource.Instance.ConsumeProduceRelation(objectId, string.Join(Delimiter, relatedObjectIds), string.Empty); + var relatedIds = JoinObjectsIds(relatedObjectIds.Select(o => o.Id)); + var relatedTypes = JoinObjectTypes(relatedObjectIds.Select(o => o.Type)); + + OcelEventsSource.Instance.ConsumeProduce(objectId, relatedIds, relatedTypes, string.Empty); } - public static void LogConsumeProduceRelation(T obj, params T[] relatedObjects) + public static void LogConsumeProduce(T obj, params T[] relatedObjects) { if (!IsEnabled()) return; var relatedObjectIds = JoinObjectsIds(relatedObjects.Select(GetObjectId)); - OcelEventsSource.Instance.ConsumeProduceRelation(GetObjectId(obj), relatedObjectIds, string.Empty); + var relatedObjectTypes = JoinObjectTypes(relatedObjectIds.Select(GetObjectType)); + + OcelEventsSource.Instance.ConsumeProduce(GetObjectId(obj), relatedObjectIds, relatedObjectTypes, string.Empty); } - public static void LogMergeAllocateRelation(long objectId, params long[] relatedObjectIds) + public static void LogMergeAllocate(OcelObjectDto allocatedObject, params long[] relatedObjectIds) { if (!IsEnabled()) return; - OcelEventsSource.Instance.MergeAllocatedRelation(objectId, JoinObjectsIds(relatedObjectIds), string.Empty); + OcelEventsSource.Instance.MergeAllocate(allocatedObject.Id, allocatedObject.Type, JoinObjectsIds(relatedObjectIds), string.Empty); } - public static void LogMergeAllocateRelation(T obj, params T[] relatedObjects) + public static void LogMergeAllocate(T obj, params T[] relatedObjects) { if (!IsEnabled()) return; var relatedObjectIds = JoinObjectsIds(relatedObjects.Select(GetObjectId)); - OcelEventsSource.Instance.MergeAllocatedRelation(GetObjectId(obj), relatedObjectIds, string.Empty); + OcelEventsSource.Instance.MergeAllocate(GetObjectId(obj), GetObjectType(obj), relatedObjectIds, string.Empty); } private static string JoinObjectsIds(IEnumerable objectIds) => string.Join(Delimiter, objectIds); + private static string JoinObjectTypes(IEnumerable types) => string.Join(Delimiter, types); private static long GetObjectId(T obj) => obj switch { @@ -96,6 +109,12 @@ public static void LogMergeAllocateRelation(T obj, params T[] relatedObjects) _ => RuntimeHelpers.GetHashCode(obj) }; + private static string? GetObjectType(T obj) => obj switch + { + OcelObjectBase @base => @base.Type, + _ => obj?.GetType().FullName + }; + private static bool IsEnabled() => OcelEventsSource.Instance.IsEnabled(); public static void LogGloballyAttachedObject(T obj, string activityName, string? category = null) where T : class From 91bfac300516906077cd04d7dbccf442f842fec8 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 18 Oct 2025 13:10:34 +0300 Subject: [PATCH 111/189] Fixes --- .../ProcfilerLoggerProvider/OcelLogger.cs | 8 +++---- Procfiler/test_data/source/Ocel2/Program.cs | 24 +++++++++---------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs b/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs index af9da9b43..a24896722 100644 --- a/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs +++ b/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs @@ -44,7 +44,7 @@ public static void LogObjectAllocated(T obj, string? category = null) where T OcelEventsSource.Instance.ObjectAllocated(GetObjectId(obj), category, string.Empty); } - public static void LogObjectAllocated(in OcelObjectDto dto) + public static void LogObjectAllocatedRaw(in OcelObjectDto dto) { if (!IsEnabled()) return; @@ -58,14 +58,14 @@ public static void LogObjectConsumed(T obj, string? category = null) OcelEventsSource.Instance.ObjectConsumed(GetObjectId(obj), category, string.Empty); } - public static void LogObjectConsumed(in OcelObjectDto dto) + public static void LogObjectConsumedRaw(in OcelObjectDto dto) { if (!IsEnabled()) return; OcelEventsSource.Instance.ObjectConsumed(dto.Id, dto.Type, string.Empty); } - public static void LogConsumeProduce(long objectId, IReadOnlyList relatedObjectIds) + public static void LogConsumeProduceRaw(long objectId, params OcelObjectDto[] relatedObjectIds) { if (!IsEnabled()) return; @@ -85,7 +85,7 @@ public static void LogConsumeProduce(T obj, params T[] relatedObjects) OcelEventsSource.Instance.ConsumeProduce(GetObjectId(obj), relatedObjectIds, relatedObjectTypes, string.Empty); } - public static void LogMergeAllocate(OcelObjectDto allocatedObject, params long[] relatedObjectIds) + public static void LogMergeAllocateRaw(OcelObjectDto allocatedObject, params long[] relatedObjectIds) { if (!IsEnabled()) return; diff --git a/Procfiler/test_data/source/Ocel2/Program.cs b/Procfiler/test_data/source/Ocel2/Program.cs index 311cc02fe..14d0d542c 100644 --- a/Procfiler/test_data/source/Ocel2/Program.cs +++ b/Procfiler/test_data/source/Ocel2/Program.cs @@ -12,9 +12,9 @@ public static void Main() } - private static int ourNextId; + private static long ourNextId; - private static int NextId() + private static long NextId() { ourNextId++; return ourNextId; @@ -29,30 +29,30 @@ private static void Method() var id1 = NextId(); var id2 = NextId(); var id3 = NextId(); - OcelLogger.LogObjectAllocated(id1, Type1); - OcelLogger.LogObjectAllocated(id2, Type1); - OcelLogger.LogObjectAllocated(id3, Type1); + OcelLogger.LogObjectAllocatedRaw(new OcelObjectDto(id1, Type1)); + OcelLogger.LogObjectAllocatedRaw(new OcelObjectDto(id2, Type1)); + OcelLogger.LogObjectAllocatedRaw(new OcelObjectDto(id3, Type1)); var id4 = NextId(); var id5 = NextId(); var id6 = NextId(); - OcelLogger.LogObjectAllocated(id4, Type2); - OcelLogger.LogObjectAllocated(id5, Type2); - OcelLogger.LogObjectAllocated(id6, Type2); + OcelLogger.LogObjectAllocatedRaw(new OcelObjectDto(id4, Type2)); + OcelLogger.LogObjectAllocatedRaw(new OcelObjectDto(id5, Type2)); + OcelLogger.LogObjectAllocatedRaw(new OcelObjectDto(id6, Type2)); Method1(); var id7 = NextId(); - OcelLogger.LogMergeAllocateRelation(id7, id1, id3, id5); + OcelLogger.LogMergeAllocateRaw(new OcelObjectDto(id7, Type1), id1, id3, id5); var id8 = NextId(); - OcelLogger.LogMergeAllocateRelation(id8, id2, id4, id6); + OcelLogger.LogMergeAllocateRaw(new OcelObjectDto(id8, Type1), id2, id4, id6); Method1(); - OcelLogger.LogConsumeProduceRelation(id7); - OcelLogger.LogConsumeProduceRelation(id8); + OcelLogger.LogConsumeProduceRaw(id7); + OcelLogger.LogConsumeProduceRaw(id8); Method1(); } From 189c338e86ab41c8845ec955ffe276500ff1ee4b Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 18 Oct 2025 19:25:19 +0300 Subject: [PATCH 112/189] Add "Ocel" prefix to methods --- .../Core/Events/EventRecord/EventRecord.cs | 2 ++ .../Filters/OnlyKnownEventsFilterer.cs | 2 +- .../ProcfilerEventSources/OcelEventsSource.cs | 8 ++++---- .../ProcfilerLoggerProvider/OcelLogger.cs | 18 +++++++++--------- 4 files changed, 16 insertions(+), 14 deletions(-) diff --git a/Procfiler/src/dotnet/Core/Events/EventRecord/EventRecord.cs b/Procfiler/src/dotnet/Core/Events/EventRecord/EventRecord.cs index ddb56b978..2ebae6340 100644 --- a/Procfiler/src/dotnet/Core/Events/EventRecord/EventRecord.cs +++ b/Procfiler/src/dotnet/Core/Events/EventRecord/EventRecord.cs @@ -29,6 +29,8 @@ public class EventRecord : OcelObjectBase public string EventName { get; set; } public int StackTraceId { get; } + public override string? Type => EventClass; + public EventRecord(EventRecordTime time, string eventClass, long managedThreadId, long nativeThreadId, Guid activityId, int stackTraceId) diff --git a/Procfiler/src/dotnet/Procfiler/src/Core/EventsProcessing/Filters/OnlyKnownEventsFilterer.cs b/Procfiler/src/dotnet/Procfiler/src/Core/EventsProcessing/Filters/OnlyKnownEventsFilterer.cs index 923bbc9eb..2ba1bf999 100644 --- a/Procfiler/src/dotnet/Procfiler/src/Core/EventsProcessing/Filters/OnlyKnownEventsFilterer.cs +++ b/Procfiler/src/dotnet/Procfiler/src/Core/EventsProcessing/Filters/OnlyKnownEventsFilterer.cs @@ -157,7 +157,7 @@ public void Filter(IEventsCollection events) { if (ourAllowedEvents.Contains(eventRecord.EventClass)) continue; - OcelLogger.LogObjectAllocated(eventRecord, eventRecord.EventClass); + OcelLogger.LogObjectAllocated(eventRecord); events.Remove(ptr); } } diff --git a/Procfiler/src/dotnet/ProcfilerEventSources/OcelEventsSource.cs b/Procfiler/src/dotnet/ProcfilerEventSources/OcelEventsSource.cs index e798e8261..864da16d7 100644 --- a/Procfiler/src/dotnet/ProcfilerEventSources/OcelEventsSource.cs +++ b/Procfiler/src/dotnet/ProcfilerEventSources/OcelEventsSource.cs @@ -23,19 +23,19 @@ private OcelEventsSource() [Event(OcelObjectAllocatedEventId, Level = EventLevel.LogAlways)] - public void ObjectAllocated(long objectId, string? type, string attributes) => + public void OcelObjectAllocated(long objectId, string? type, string attributes) => WriteEvent(OcelObjectAllocatedEventId, objectId, type, attributes); [Event(OcelObjectConsumedEventId, Level = EventLevel.LogAlways)] - public void ObjectConsumed(long objectId, string? type, string attributes) => + public void OcelObjectConsumed(long objectId, string? type, string attributes) => WriteEvent(OcelObjectConsumedEventId, objectId, type, attributes); [Event(OcelObjectConsumeProduceEventId, Level = EventLevel.LogAlways)] - public void ConsumeProduce(long objectId, string relatedObjectsIds, string relatedObjectsTypes, string attributes) => + public void OcelConsumeProduce(long objectId, string relatedObjectsIds, string relatedObjectsTypes, string attributes) => WriteEvent(OcelObjectConsumeProduceEventId, objectId, relatedObjectsIds, relatedObjectsTypes, attributes); [Event(OcelObjectMergeAllocateEventId, Level = EventLevel.LogAlways)] - public void MergeAllocate(long objectId, string? type, string relatedObjectIds, string attributes) => + public void OcelMergeAllocate(long objectId, string? type, string relatedObjectIds, string attributes) => WriteEvent(OcelObjectMergeAllocateEventId, objectId, type, relatedObjectIds, attributes); [Event(OcelActivityBeginId, Level = EventLevel.LogAlways)] diff --git a/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs b/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs index a24896722..02e791d13 100644 --- a/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs +++ b/Procfiler/src/dotnet/ProcfilerLoggerProvider/OcelLogger.cs @@ -37,32 +37,32 @@ public void Dispose() } - public static void LogObjectAllocated(T obj, string? category = null) where T : class + public static void LogObjectAllocated(T obj) where T : class { if (!IsEnabled()) return; - OcelEventsSource.Instance.ObjectAllocated(GetObjectId(obj), category, string.Empty); + OcelEventsSource.Instance.OcelObjectAllocated(GetObjectId(obj), GetObjectType(obj), string.Empty); } public static void LogObjectAllocatedRaw(in OcelObjectDto dto) { if (!IsEnabled()) return; - OcelEventsSource.Instance.ObjectAllocated(dto.Id, dto.Type, string.Empty); + OcelEventsSource.Instance.OcelObjectAllocated(dto.Id, dto.Type, string.Empty); } public static void LogObjectConsumed(T obj, string? category = null) { if (!IsEnabled()) return; - OcelEventsSource.Instance.ObjectConsumed(GetObjectId(obj), category, string.Empty); + OcelEventsSource.Instance.OcelObjectConsumed(GetObjectId(obj), category, string.Empty); } public static void LogObjectConsumedRaw(in OcelObjectDto dto) { if (!IsEnabled()) return; - OcelEventsSource.Instance.ObjectConsumed(dto.Id, dto.Type, string.Empty); + OcelEventsSource.Instance.OcelObjectConsumed(dto.Id, dto.Type, string.Empty); } public static void LogConsumeProduceRaw(long objectId, params OcelObjectDto[] relatedObjectIds) @@ -72,7 +72,7 @@ public static void LogConsumeProduceRaw(long objectId, params OcelObjectDto[] re var relatedIds = JoinObjectsIds(relatedObjectIds.Select(o => o.Id)); var relatedTypes = JoinObjectTypes(relatedObjectIds.Select(o => o.Type)); - OcelEventsSource.Instance.ConsumeProduce(objectId, relatedIds, relatedTypes, string.Empty); + OcelEventsSource.Instance.OcelConsumeProduce(objectId, relatedIds, relatedTypes, string.Empty); } public static void LogConsumeProduce(T obj, params T[] relatedObjects) @@ -82,14 +82,14 @@ public static void LogConsumeProduce(T obj, params T[] relatedObjects) var relatedObjectIds = JoinObjectsIds(relatedObjects.Select(GetObjectId)); var relatedObjectTypes = JoinObjectTypes(relatedObjectIds.Select(GetObjectType)); - OcelEventsSource.Instance.ConsumeProduce(GetObjectId(obj), relatedObjectIds, relatedObjectTypes, string.Empty); + OcelEventsSource.Instance.OcelConsumeProduce(GetObjectId(obj), relatedObjectIds, relatedObjectTypes, string.Empty); } public static void LogMergeAllocateRaw(OcelObjectDto allocatedObject, params long[] relatedObjectIds) { if (!IsEnabled()) return; - OcelEventsSource.Instance.MergeAllocate(allocatedObject.Id, allocatedObject.Type, JoinObjectsIds(relatedObjectIds), string.Empty); + OcelEventsSource.Instance.OcelMergeAllocate(allocatedObject.Id, allocatedObject.Type, JoinObjectsIds(relatedObjectIds), string.Empty); } public static void LogMergeAllocate(T obj, params T[] relatedObjects) @@ -97,7 +97,7 @@ public static void LogMergeAllocate(T obj, params T[] relatedObjects) if (!IsEnabled()) return; var relatedObjectIds = JoinObjectsIds(relatedObjects.Select(GetObjectId)); - OcelEventsSource.Instance.MergeAllocate(GetObjectId(obj), GetObjectType(obj), relatedObjectIds, string.Empty); + OcelEventsSource.Instance.OcelMergeAllocate(GetObjectId(obj), GetObjectType(obj), relatedObjectIds, string.Empty); } private static string JoinObjectsIds(IEnumerable objectIds) => string.Join(Delimiter, objectIds); From 1ddc8849c74fe190eba29df71007b1fab844d4f4 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 18 Oct 2025 19:25:27 +0300 Subject: [PATCH 113/189] Update test data and gold --- .../gold/linux/OcelEventsTest/SimpleTest.gold | 6902 ++++++++--------- .../gold/macos/OcelEventsTest/SimpleTest.gold | 6902 ++++++++--------- .../windows/OcelEventsTest/SimpleTest.gold | 6902 ++++++++--------- Procfiler/test_data/source/Ocel/Program.cs | 12 +- Procfiler/test_data/source/Ocel2/Program.cs | 4 +- 5 files changed, 10361 insertions(+), 10361 deletions(-) diff --git a/Procfiler/test_data/gold/linux/OcelEventsTest/SimpleTest.gold b/Procfiler/test_data/gold/linux/OcelEventsTest/SimpleTest.gold index c861ab42d..586484719 100644 --- a/Procfiler/test_data/gold/linux/OcelEventsTest/SimpleTest.gold +++ b/Procfiler/test_data/gold/linux/OcelEventsTest/SimpleTest.gold @@ -1,3797 +1,3797 @@ OcelActivityBegin {"activity":"Initializing"} OcelGloballyAttachedEvent {"objectId":"1","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"1","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"2","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"3","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"1","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"2","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"3","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"4","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"4","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"5","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"6","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"4","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"5","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"6","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"7","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"7","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"8","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"9","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"7","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"8","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"9","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"10","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"10","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"11","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"12","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"10","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"11","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"12","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"13","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"13","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"14","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"15","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"13","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"14","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"15","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"16","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"16","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"17","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"18","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"16","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"17","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"18","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"19","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"19","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"20","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"21","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"19","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"20","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"21","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"22","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"22","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"23","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"24","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"22","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"23","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"24","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"25","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"25","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"26","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"27","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"25","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"26","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"27","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"28","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"28","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"29","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"30","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"28","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"29","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"30","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"31","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"31","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"32","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"33","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"31","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"32","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"33","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"34","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"34","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"35","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"36","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"34","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"35","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"36","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"37","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"37","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"38","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"39","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"37","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"38","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"39","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"40","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"40","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"41","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"42","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"40","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"41","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"42","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"43","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"43","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"44","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"45","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"43","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"44","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"45","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"46","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"46","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"47","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"48","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"46","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"47","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"48","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"49","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"49","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"50","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"51","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"49","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"50","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"51","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"52","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"52","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"53","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"54","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"52","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"53","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"54","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"55","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"55","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"56","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"57","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"55","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"56","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"57","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"58","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"58","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"59","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"60","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"58","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"59","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"60","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"61","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"61","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"62","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"63","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"61","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"62","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"63","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"64","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"64","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"65","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"66","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"64","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"65","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"66","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"67","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"67","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"68","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"69","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"67","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"68","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"69","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"70","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"70","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"71","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"72","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"70","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"71","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"72","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"73","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"73","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"74","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"75","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"73","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"74","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"75","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"76","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"76","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"77","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"78","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"76","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"77","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"78","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"79","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"79","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"80","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"81","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"79","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"80","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"81","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"82","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"82","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"83","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"84","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"82","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"83","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"84","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"85","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"85","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"86","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"87","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"85","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"86","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"87","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"88","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"88","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"89","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"90","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"88","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"89","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"90","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"91","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"91","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"92","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"93","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"91","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"92","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"93","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"94","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"94","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"95","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"96","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"94","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"95","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"96","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"97","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"97","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"98","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"99","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"97","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"98","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"99","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"100","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"100","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"101","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"102","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"100","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"101","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"102","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"103","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"103","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"104","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"105","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"103","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"104","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"105","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"106","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"106","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"107","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"108","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"106","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"107","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"108","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"109","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"109","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"110","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"111","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"109","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"110","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"111","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"112","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"112","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"113","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"114","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"112","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"113","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"114","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"115","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"115","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"116","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"117","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"115","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"116","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"117","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"118","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"118","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"119","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"120","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"118","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"119","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"120","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"121","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"121","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"122","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"123","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"121","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"122","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"123","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"124","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"124","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"125","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"126","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"124","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"125","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"126","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"127","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"127","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"128","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"129","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"127","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"128","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"129","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"130","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"130","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"131","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"132","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"130","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"131","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"132","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"133","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"133","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"134","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"135","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"133","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"134","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"135","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"136","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"136","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"137","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"138","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"136","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"137","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"138","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"139","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"139","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"140","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"141","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"139","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"140","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"141","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"142","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"142","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"143","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"144","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"142","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"143","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"144","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"145","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"145","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"146","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"147","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"145","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"146","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"147","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"148","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"148","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"149","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"150","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"148","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"149","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"150","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"151","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"151","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"152","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"153","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"151","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"152","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"153","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"154","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"154","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"155","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"156","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"154","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"155","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"156","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"157","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"157","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"158","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"159","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"157","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"158","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"159","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"160","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"160","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"161","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"162","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"160","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"161","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"162","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"163","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"163","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"164","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"165","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"163","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"164","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"165","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"166","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"166","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"167","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"168","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"166","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"167","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"168","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"169","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"169","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"170","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"171","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"169","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"170","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"171","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"172","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"172","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"173","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"174","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"172","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"173","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"174","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"175","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"175","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"176","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"177","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"175","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"176","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"177","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"178","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"178","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"179","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"180","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"178","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"179","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"180","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"181","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"181","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"182","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"183","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"181","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"182","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"183","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"184","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"184","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"185","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"186","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"184","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"185","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"186","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"187","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"187","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"188","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"189","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"187","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"188","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"189","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"190","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"190","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"191","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"192","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"190","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"191","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"192","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"193","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"193","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"194","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"195","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"193","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"194","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"195","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"196","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"196","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"197","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"198","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"196","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"197","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"198","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"199","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"199","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"200","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"201","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"199","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"200","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"201","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"202","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"202","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"203","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"204","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"202","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"203","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"204","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"205","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"205","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"206","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"207","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"205","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"206","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"207","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"208","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"208","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"209","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"210","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"208","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"209","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"210","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"211","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"211","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"212","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"213","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"211","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"212","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"213","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"214","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"214","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"215","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"216","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"214","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"215","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"216","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"217","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"217","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"218","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"219","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"217","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"218","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"219","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"220","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"220","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"221","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"222","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"220","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"221","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"222","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"223","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"223","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"224","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"225","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"223","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"224","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"225","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"226","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"226","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"227","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"228","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"226","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"227","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"228","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"229","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"229","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"230","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"231","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"229","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"230","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"231","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"232","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"232","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"233","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"234","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"232","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"233","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"234","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"235","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"235","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"236","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"237","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"235","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"236","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"237","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"238","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"238","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"239","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"240","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"238","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"239","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"240","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"241","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"241","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"242","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"243","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"241","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"242","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"243","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"244","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"244","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"245","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"246","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"244","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"245","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"246","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"247","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"247","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"248","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"249","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"247","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"248","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"249","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"250","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"250","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"251","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"252","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"250","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"251","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"252","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"253","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"253","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"254","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"255","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"253","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"254","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"255","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"256","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"256","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"257","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"258","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"256","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"257","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"258","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"259","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"259","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"260","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"261","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"259","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"260","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"261","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"262","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"262","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"263","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"264","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"262","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"263","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"264","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"265","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"265","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"266","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"267","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"265","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"266","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"267","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"268","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"268","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"269","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"270","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"268","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"269","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"270","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"271","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"271","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"272","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"273","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"271","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"272","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"273","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"274","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"274","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"275","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"276","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"274","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"275","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"276","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"277","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"277","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"278","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"279","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"277","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"278","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"279","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"280","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"280","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"281","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"282","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"280","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"281","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"282","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"283","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"283","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"284","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"285","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"283","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"284","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"285","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"286","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"286","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"287","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"288","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"286","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"287","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"288","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"289","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"289","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"290","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"291","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"289","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"290","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"291","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"292","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"292","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"293","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"294","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"292","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"293","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"294","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"295","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"295","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"296","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"297","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"295","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"296","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"297","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"298","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"298","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"299","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"300","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"298","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"299","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"300","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"301","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"301","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"302","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"303","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"301","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"302","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"303","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"304","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"304","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"305","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"306","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"304","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"305","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"306","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"307","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"307","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"308","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"309","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"307","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"308","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"309","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"310","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"310","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"311","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"312","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"310","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"311","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"312","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"313","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"313","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"314","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"315","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"313","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"314","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"315","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"316","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"316","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"317","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"318","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"316","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"317","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"318","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"319","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"319","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"320","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"321","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"319","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"320","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"321","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"322","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"322","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"323","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"324","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"322","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"323","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"324","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"325","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"325","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"326","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"327","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"325","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"326","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"327","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"328","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"328","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"329","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"330","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"328","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"329","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"330","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"331","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"331","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"332","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"333","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"331","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"332","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"333","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"334","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"334","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"335","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"336","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"334","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"335","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"336","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"337","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"337","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"338","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"339","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"337","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"338","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"339","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"340","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"340","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"341","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"342","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"340","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"341","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"342","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"343","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"343","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"344","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"345","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"343","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"344","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"345","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"346","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"346","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"347","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"348","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"346","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"347","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"348","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"349","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"349","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"350","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"351","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"349","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"350","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"351","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"352","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"352","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"353","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"354","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"352","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"353","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"354","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"355","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"355","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"356","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"357","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"355","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"356","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"357","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"358","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"358","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"359","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"360","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"358","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"359","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"360","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"361","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"361","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"362","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"363","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"361","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"362","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"363","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"364","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"364","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"365","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"366","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"364","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"365","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"366","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"367","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"367","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"368","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"369","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"367","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"368","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"369","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"370","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"370","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"371","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"372","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"370","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"371","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"372","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"373","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"373","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"374","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"375","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"373","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"374","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"375","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"376","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"376","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"377","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"378","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"376","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"377","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"378","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"379","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"379","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"380","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"381","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"379","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"380","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"381","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"382","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"382","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"383","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"384","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"382","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"383","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"384","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"385","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"385","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"386","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"387","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"385","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"386","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"387","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"388","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"388","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"389","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"390","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"388","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"389","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"390","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"391","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"391","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"392","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"393","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"391","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"392","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"393","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"394","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"394","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"395","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"396","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"394","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"395","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"396","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"397","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"397","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"398","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"399","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"397","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"398","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"399","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"400","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"400","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"401","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"402","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"400","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"401","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"402","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"403","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"403","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"404","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"405","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"403","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"404","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"405","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"406","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"406","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"407","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"408","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"406","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"407","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"408","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"409","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"409","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"410","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"411","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"409","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"410","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"411","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"412","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"412","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"413","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"414","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"412","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"413","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"414","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"415","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"415","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"416","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"417","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"415","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"416","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"417","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"418","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"418","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"419","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"420","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"418","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"419","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"420","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"421","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"421","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"422","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"423","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"421","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"422","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"423","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"424","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"424","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"425","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"426","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"424","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"425","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"426","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"427","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"427","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"428","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"429","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"427","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"428","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"429","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"430","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"430","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"431","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"432","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"430","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"431","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"432","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"433","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"433","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"434","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"435","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"433","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"434","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"435","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"436","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"436","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"437","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"438","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"436","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"437","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"438","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"439","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"439","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"440","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"441","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"439","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"440","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"441","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"442","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"442","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"443","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"444","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"442","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"443","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"444","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"445","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"445","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"446","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"447","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"445","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"446","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"447","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"448","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"448","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"449","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"450","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"448","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"449","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"450","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"451","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"451","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"452","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"453","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"451","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"452","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"453","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"454","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"454","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"455","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"456","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"454","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"455","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"456","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"457","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"457","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"458","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"459","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"457","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"458","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"459","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"460","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"460","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"461","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"462","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"460","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"461","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"462","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"463","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"463","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"464","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"465","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"463","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"464","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"465","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"466","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"466","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"467","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"468","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"466","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"467","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"468","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"469","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"469","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"470","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"471","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"469","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"470","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"471","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"472","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"472","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"473","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"474","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"472","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"473","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"474","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"475","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"475","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"476","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"477","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"475","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"476","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"477","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"478","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"478","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"479","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"480","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"478","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"479","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"480","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"481","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"481","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"482","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"483","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"481","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"482","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"483","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"484","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"484","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"485","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"486","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"484","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"485","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"486","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"487","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"487","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"488","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"489","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"487","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"488","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"489","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"490","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"490","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"491","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"492","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"490","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"491","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"492","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"493","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"493","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"494","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"495","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"493","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"494","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"495","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"496","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"496","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"497","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"498","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"496","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"497","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"498","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"499","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"499","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"500","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"501","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"499","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"500","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"501","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"502","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"502","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"503","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"504","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"502","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"503","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"504","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"505","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"505","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"506","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"507","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"505","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"506","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"507","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"508","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"508","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"509","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"510","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"508","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"509","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"510","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"511","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"511","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"512","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"513","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"511","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"512","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"513","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"514","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"514","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"515","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"516","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"514","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"515","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"516","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"517","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"517","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"518","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"519","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"517","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"518","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"519","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"520","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"520","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"521","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"522","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"520","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"521","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"522","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"523","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"523","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"524","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"525","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"523","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"524","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"525","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"526","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"526","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"527","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"528","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"526","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"527","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"528","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"529","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"529","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"530","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"531","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"529","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"530","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"531","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"532","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"532","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"533","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"534","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"532","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"533","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"534","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"535","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"535","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"536","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"537","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"535","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"536","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"537","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"538","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"538","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"539","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"540","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"538","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"539","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"540","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"541","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"541","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"542","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"543","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"541","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"542","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"543","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"544","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"544","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"545","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"546","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"544","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"545","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"546","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"547","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"547","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"548","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"549","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"547","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"548","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"549","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"550","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"550","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"551","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"552","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"550","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"551","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"552","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"553","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"553","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"554","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"555","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"553","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"554","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"555","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"556","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"556","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"557","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"558","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"556","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"557","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"558","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"559","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"559","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"560","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"561","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"559","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"560","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"561","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"562","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"562","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"563","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"564","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"562","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"563","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"564","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"565","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"565","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"566","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"567","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"565","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"566","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"567","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"568","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"568","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"569","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"570","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"568","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"569","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"570","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"571","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"571","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"572","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"573","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"571","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"572","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"573","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"574","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"574","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"575","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"576","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"574","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"575","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"576","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"577","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"577","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"578","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"579","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"577","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"578","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"579","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"580","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"580","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"581","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"582","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"580","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"581","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"582","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"583","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"583","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"584","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"585","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"583","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"584","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"585","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"586","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"586","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"587","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"588","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"586","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"587","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"588","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"589","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"589","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"590","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"591","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"589","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"590","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"591","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"592","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"592","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"593","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"594","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"592","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"593","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"594","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"595","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"595","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"596","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"597","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"595","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"596","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"597","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"598","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"598","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"599","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"600","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"598","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"599","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"600","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"601","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"601","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"602","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"603","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"601","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"602","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"603","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"604","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"604","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"605","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"606","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"604","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"605","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"606","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"607","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"607","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"608","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"609","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"607","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"608","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"609","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"610","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"610","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"611","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"612","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"610","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"611","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"612","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"613","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"613","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"614","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"615","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"613","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"614","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"615","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"616","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"616","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"617","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"618","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"616","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"617","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"618","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"619","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"619","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"620","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"621","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"619","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"620","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"621","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"622","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"622","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"623","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"624","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"622","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"623","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"624","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"625","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"625","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"626","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"627","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"625","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"626","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"627","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"628","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"628","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"629","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"630","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"628","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"629","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"630","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"631","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"631","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"632","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"633","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"631","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"632","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"633","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"634","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"634","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"635","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"636","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"634","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"635","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"636","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"637","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"637","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"638","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"639","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"637","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"638","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"639","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"640","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"640","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"641","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"642","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"640","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"641","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"642","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"643","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"643","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"644","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"645","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"643","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"644","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"645","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"646","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"646","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"647","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"648","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"646","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"647","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"648","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"649","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"649","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"650","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"651","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"649","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"650","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"651","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"652","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"652","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"653","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"654","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"652","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"653","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"654","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"655","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"655","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"656","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"657","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"655","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"656","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"657","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"658","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"658","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"659","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"660","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"658","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"659","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"660","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"661","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"661","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"662","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"663","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"661","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"662","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"663","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"664","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"664","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"665","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"666","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"664","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"665","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"666","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"667","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"667","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"668","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"669","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"667","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"668","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"669","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"670","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"670","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"671","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"672","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"670","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"671","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"672","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"673","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"673","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"674","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"675","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"673","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"674","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"675","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"676","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"676","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"677","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"678","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"676","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"677","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"678","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"679","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"679","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"680","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"681","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"679","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"680","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"681","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"682","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"682","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"683","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"684","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"682","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"683","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"684","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"685","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"685","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"686","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"687","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"685","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"686","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"687","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"688","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"688","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"689","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"690","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"688","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"689","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"690","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"691","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"691","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"692","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"693","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"691","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"692","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"693","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"694","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"694","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"695","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"696","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"694","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"695","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"696","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"697","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"697","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"698","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"699","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"697","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"698","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"699","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"700","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"700","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"701","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"702","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"700","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"701","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"702","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"703","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"703","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"704","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"705","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"703","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"704","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"705","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"706","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"706","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"707","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"708","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"706","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"707","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"708","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"709","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"709","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"710","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"711","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"709","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"710","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"711","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"712","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"712","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"713","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"714","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"712","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"713","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"714","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"715","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"715","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"716","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"717","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"715","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"716","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"717","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"718","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"718","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"719","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"720","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"718","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"719","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"720","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"721","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"721","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"722","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"723","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"721","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"722","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"723","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"724","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"724","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"725","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"726","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"724","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"725","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"726","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"727","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"727","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"728","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"729","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"727","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"728","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"729","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"730","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"730","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"731","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"732","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"730","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"731","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"732","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"733","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"733","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"734","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"735","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"733","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"734","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"735","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"736","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"736","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"737","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"738","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"736","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"737","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"738","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"739","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"739","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"740","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"741","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"739","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"740","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"741","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"742","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"742","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"743","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"744","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"742","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"743","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"744","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"745","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"745","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"746","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"747","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"745","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"746","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"747","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"748","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"748","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"749","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"750","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"748","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"749","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"750","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"751","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"751","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"752","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"753","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"751","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"752","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"753","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"754","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"754","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"755","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"756","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"754","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"755","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"756","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"757","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"757","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"758","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"759","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"757","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"758","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"759","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"760","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"760","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"761","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"762","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"760","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"761","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"762","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"763","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"763","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"764","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"765","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"763","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"764","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"765","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"766","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"766","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"767","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"768","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"766","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"767","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"768","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"769","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"769","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"770","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"771","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"769","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"770","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"771","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"772","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"772","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"773","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"774","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"772","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"773","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"774","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"775","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"775","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"776","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"777","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"775","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"776","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"777","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"778","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"778","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"779","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"780","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"778","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"779","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"780","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"781","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"781","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"782","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"783","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"781","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"782","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"783","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"784","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"784","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"785","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"786","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"784","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"785","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"786","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"787","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"787","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"788","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"789","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"787","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"788","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"789","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"790","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"790","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"791","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"792","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"790","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"791","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"792","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"793","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"793","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"794","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"795","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"793","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"794","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"795","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"796","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"796","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"797","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"798","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"796","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"797","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"798","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"799","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"799","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"800","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"801","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"799","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"800","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"801","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"802","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"802","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"803","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"804","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"802","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"803","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"804","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"805","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"805","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"806","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"807","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"805","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"806","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"807","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"808","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"808","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"809","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"810","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"808","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"809","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"810","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"811","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"811","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"812","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"813","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"811","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"812","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"813","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"814","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"814","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"815","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"816","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"814","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"815","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"816","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"817","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"817","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"818","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"819","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"817","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"818","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"819","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"820","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"820","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"821","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"822","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"820","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"821","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"822","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"823","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"823","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"824","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"825","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"823","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"824","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"825","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"826","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"826","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"827","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"828","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"826","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"827","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"828","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"829","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"829","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"830","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"831","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"829","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"830","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"831","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"832","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"832","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"833","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"834","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"832","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"833","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"834","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"835","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"835","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"836","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"837","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"835","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"836","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"837","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"838","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"838","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"839","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"840","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"838","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"839","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"840","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"841","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"841","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"842","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"843","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"841","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"842","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"843","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"844","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"844","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"845","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"846","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"844","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"845","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"846","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"847","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"847","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"848","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"849","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"847","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"848","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"849","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"850","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"850","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"851","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"852","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"850","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"851","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"852","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"853","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"853","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"854","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"855","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"853","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"854","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"855","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"856","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"856","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"857","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"858","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"856","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"857","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"858","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"859","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"859","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"860","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"861","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"859","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"860","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"861","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"862","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"862","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"863","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"864","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"862","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"863","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"864","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"865","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"865","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"866","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"867","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"865","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"866","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"867","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"868","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"868","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"869","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"870","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"868","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"869","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"870","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"871","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"871","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"872","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"873","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"871","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"872","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"873","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"874","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"874","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"875","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"876","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"874","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"875","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"876","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"877","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"877","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"878","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"879","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"877","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"878","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"879","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"880","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"880","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"881","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"882","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"880","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"881","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"882","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"883","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"883","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"884","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"885","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"883","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"884","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"885","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"886","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"886","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"887","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"888","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"886","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"887","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"888","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"889","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"889","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"890","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"891","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"889","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"890","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"891","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"892","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"892","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"893","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"894","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"892","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"893","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"894","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"895","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"895","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"896","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"897","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"895","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"896","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"897","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"898","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"898","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"899","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"900","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"898","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"899","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"900","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"901","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"901","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"902","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"903","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"901","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"902","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"903","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"904","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"904","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"905","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"906","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"904","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"905","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"906","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"907","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"907","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"908","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"909","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"907","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"908","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"909","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"910","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"910","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"911","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"912","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"910","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"911","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"912","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"913","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"913","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"914","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"915","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"913","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"914","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"915","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"916","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"916","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"917","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"918","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"916","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"917","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"918","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"919","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"919","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"920","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"921","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"919","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"920","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"921","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"922","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"922","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"923","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"924","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"922","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"923","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"924","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"925","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"925","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"926","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"927","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"925","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"926","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"927","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"928","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"928","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"929","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"930","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"928","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"929","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"930","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"931","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"931","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"932","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"933","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"931","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"932","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"933","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"934","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"934","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"935","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"936","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"934","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"935","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"936","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"937","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"937","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"938","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"939","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"937","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"938","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"939","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"940","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"940","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"941","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"942","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"940","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"941","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"942","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"943","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"943","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"944","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"945","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"943","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"944","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"945","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"946","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"946","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"947","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"948","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"946","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"947","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"948","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"949","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"949","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"950","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"951","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"949","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"950","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"951","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"952","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"952","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"953","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"954","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"952","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"953","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"954","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"955","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"955","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"956","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"957","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"955","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"956","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"957","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"958","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"958","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"959","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"960","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"958","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"959","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"960","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"961","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"961","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"962","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"963","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"961","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"962","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"963","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"964","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"964","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"965","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"966","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"964","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"965","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"966","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"967","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"967","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"968","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"969","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"967","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"968","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"969","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"970","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"970","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"971","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"972","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"970","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"971","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"972","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"973","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"973","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"974","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"975","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"973","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"974","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"975","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"976","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"976","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"977","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"978","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"976","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"977","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"978","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"979","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"979","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"980","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"981","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"979","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"980","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"981","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"982","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"982","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"983","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"984","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"982","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"983","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"984","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"985","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"985","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"986","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"987","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"985","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"986","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"987","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"988","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"988","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"989","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"990","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"988","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"989","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"990","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"991","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"991","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"992","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"993","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"991","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"992","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"993","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"994","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"994","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"995","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"996","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"994","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"995","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"996","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"997","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"997","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"998","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"999","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"997","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"998","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"999","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"1000","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"1000","objectCategory":"Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"1000","type":"Ocel.Dog","attributes":""} OcelActivityEnd {"activity":"Initializing"} OcelActivityBegin {"activity":"Cleaning"} -OcelEvent {"objectId":"1","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"3","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"5","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"7","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"9","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"11","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"13","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"15","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"17","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"19","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"21","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"23","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"25","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"27","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"29","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"31","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"33","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"35","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"37","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"39","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"41","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"43","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"45","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"47","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"49","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"51","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"53","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"55","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"57","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"59","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"61","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"63","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"65","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"67","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"69","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"71","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"73","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"75","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"77","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"79","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"81","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"83","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"85","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"87","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"89","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"91","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"93","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"95","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"97","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"99","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"101","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"103","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"105","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"107","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"109","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"111","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"113","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"115","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"117","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"119","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"121","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"123","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"125","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"127","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"129","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"131","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"133","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"135","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"137","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"139","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"141","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"143","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"145","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"147","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"149","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"151","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"153","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"155","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"157","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"159","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"161","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"163","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"165","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"167","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"169","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"171","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"173","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"175","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"177","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"179","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"181","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"183","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"185","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"187","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"189","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"191","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"193","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"195","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"197","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"199","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"201","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"203","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"205","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"207","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"209","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"211","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"213","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"215","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"217","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"219","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"221","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"223","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"225","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"227","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"229","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"231","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"233","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"235","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"237","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"239","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"241","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"243","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"245","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"247","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"249","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"251","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"253","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"255","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"257","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"259","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"261","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"263","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"265","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"267","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"269","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"271","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"273","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"275","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"277","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"279","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"281","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"283","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"285","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"287","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"289","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"291","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"293","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"295","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"297","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"299","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"301","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"303","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"305","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"307","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"309","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"311","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"313","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"315","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"317","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"319","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"321","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"323","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"325","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"327","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"329","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"331","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"333","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"335","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"337","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"339","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"341","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"343","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"345","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"347","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"349","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"351","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"353","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"355","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"357","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"359","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"361","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"363","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"365","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"367","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"369","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"371","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"373","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"375","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"377","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"379","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"381","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"383","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"385","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"387","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"389","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"391","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"393","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"395","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"397","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"399","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"401","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"403","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"405","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"407","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"409","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"411","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"413","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"415","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"417","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"419","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"421","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"423","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"425","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"427","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"429","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"431","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"433","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"435","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"437","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"439","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"441","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"443","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"445","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"447","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"449","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"451","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"453","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"455","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"457","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"459","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"461","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"463","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"465","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"467","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"469","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"471","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"473","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"475","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"477","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"479","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"481","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"483","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"485","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"487","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"489","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"491","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"493","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"495","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"497","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"499","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"501","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"503","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"505","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"507","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"509","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"511","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"513","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"515","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"517","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"519","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"521","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"523","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"525","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"527","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"529","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"531","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"533","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"535","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"537","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"539","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"541","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"543","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"545","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"547","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"549","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"551","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"553","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"555","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"557","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"559","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"561","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"563","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"565","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"567","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"569","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"571","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"573","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"575","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"577","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"579","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"581","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"583","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"585","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"587","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"589","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"591","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"593","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"595","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"597","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"599","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"601","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"603","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"605","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"607","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"609","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"611","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"613","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"615","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"617","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"619","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"621","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"623","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"625","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"627","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"629","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"631","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"633","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"635","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"637","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"639","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"641","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"643","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"645","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"647","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"649","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"651","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"653","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"655","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"657","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"659","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"661","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"663","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"665","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"667","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"669","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"671","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"673","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"675","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"677","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"679","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"681","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"683","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"685","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"687","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"689","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"691","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"693","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"695","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"697","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"699","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"701","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"703","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"705","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"707","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"709","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"711","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"713","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"715","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"717","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"719","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"721","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"723","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"725","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"727","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"729","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"731","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"733","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"735","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"737","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"739","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"741","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"743","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"745","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"747","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"749","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"751","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"753","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"755","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"757","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"759","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"761","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"763","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"765","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"767","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"769","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"771","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"773","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"775","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"777","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"779","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"781","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"783","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"785","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"787","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"789","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"791","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"793","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"795","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"797","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"799","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"801","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"803","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"805","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"807","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"809","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"811","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"813","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"815","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"817","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"819","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"821","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"823","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"825","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"827","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"829","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"831","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"833","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"835","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"837","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"839","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"841","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"843","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"845","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"847","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"849","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"851","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"853","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"855","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"857","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"859","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"861","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"863","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"865","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"867","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"869","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"871","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"873","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"875","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"877","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"879","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"881","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"883","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"885","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"887","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"889","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"891","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"893","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"895","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"897","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"899","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"901","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"903","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"905","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"907","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"909","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"911","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"913","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"915","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"917","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"919","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"921","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"923","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"925","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"927","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"929","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"931","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"933","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"935","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"937","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"939","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"941","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"943","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"945","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"947","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"949","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"951","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"953","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"955","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"957","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"959","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"961","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"963","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"965","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"967","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"969","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"971","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"973","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"975","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"977","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"979","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"981","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"983","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"985","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"987","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"989","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"991","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"993","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"995","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"997","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"999","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"3","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"5","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"7","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"9","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"11","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"13","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"15","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"17","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"19","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"21","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"23","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"25","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"27","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"29","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"31","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"33","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"35","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"37","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"39","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"41","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"43","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"45","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"47","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"49","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"51","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"53","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"55","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"57","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"59","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"61","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"63","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"65","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"67","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"69","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"71","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"73","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"75","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"77","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"79","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"81","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"83","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"85","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"87","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"89","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"91","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"93","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"95","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"97","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"99","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"101","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"103","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"105","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"107","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"109","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"111","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"113","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"115","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"117","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"119","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"121","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"123","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"125","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"127","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"129","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"131","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"133","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"135","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"137","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"139","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"141","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"143","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"145","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"147","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"149","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"151","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"153","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"155","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"157","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"159","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"161","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"163","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"165","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"167","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"169","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"171","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"173","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"175","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"177","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"179","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"181","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"183","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"185","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"187","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"189","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"191","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"193","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"195","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"197","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"199","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"201","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"203","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"205","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"207","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"209","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"211","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"213","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"215","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"217","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"219","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"221","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"223","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"225","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"227","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"229","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"231","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"233","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"235","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"237","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"239","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"241","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"243","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"245","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"247","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"249","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"251","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"253","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"255","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"257","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"259","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"261","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"263","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"265","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"267","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"269","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"271","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"273","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"275","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"277","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"279","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"281","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"283","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"285","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"287","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"289","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"291","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"293","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"295","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"297","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"299","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"301","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"303","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"305","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"307","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"309","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"311","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"313","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"315","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"317","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"319","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"321","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"323","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"325","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"327","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"329","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"331","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"333","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"335","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"337","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"339","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"341","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"343","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"345","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"347","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"349","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"351","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"353","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"355","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"357","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"359","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"361","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"363","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"365","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"367","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"369","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"371","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"373","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"375","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"377","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"379","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"381","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"383","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"385","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"387","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"389","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"391","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"393","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"395","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"397","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"399","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"401","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"403","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"405","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"407","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"409","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"411","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"413","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"415","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"417","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"419","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"421","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"423","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"425","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"427","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"429","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"431","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"433","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"435","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"437","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"439","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"441","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"443","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"445","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"447","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"449","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"451","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"453","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"455","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"457","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"459","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"461","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"463","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"465","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"467","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"469","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"471","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"473","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"475","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"477","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"479","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"481","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"483","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"485","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"487","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"489","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"491","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"493","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"495","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"497","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"499","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"501","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"503","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"505","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"507","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"509","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"511","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"513","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"515","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"517","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"519","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"521","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"523","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"525","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"527","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"529","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"531","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"533","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"535","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"537","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"539","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"541","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"543","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"545","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"547","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"549","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"551","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"553","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"555","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"557","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"559","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"561","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"563","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"565","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"567","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"569","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"571","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"573","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"575","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"577","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"579","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"581","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"583","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"585","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"587","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"589","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"591","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"593","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"595","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"597","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"599","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"601","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"603","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"605","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"607","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"609","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"611","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"613","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"615","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"617","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"619","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"621","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"623","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"625","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"627","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"629","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"631","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"633","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"635","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"637","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"639","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"641","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"643","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"645","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"647","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"649","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"651","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"653","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"655","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"657","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"659","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"661","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"663","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"665","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"667","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"669","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"671","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"673","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"675","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"677","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"679","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"681","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"683","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"685","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"687","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"689","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"691","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"693","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"695","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"697","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"699","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"701","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"703","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"705","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"707","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"709","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"711","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"713","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"715","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"717","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"719","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"721","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"723","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"725","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"727","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"729","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"731","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"733","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"735","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"737","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"739","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"741","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"743","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"745","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"747","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"749","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"751","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"753","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"755","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"757","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"759","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"761","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"763","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"765","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"767","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"769","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"771","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"773","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"775","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"777","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"779","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"781","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"783","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"785","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"787","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"789","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"791","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"793","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"795","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"797","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"799","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"801","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"803","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"805","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"807","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"809","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"811","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"813","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"815","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"817","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"819","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"821","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"823","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"825","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"827","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"829","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"831","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"833","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"835","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"837","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"839","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"841","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"843","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"845","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"847","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"849","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"851","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"853","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"855","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"857","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"859","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"861","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"863","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"865","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"867","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"869","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"871","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"873","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"875","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"877","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"879","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"881","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"883","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"885","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"887","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"889","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"891","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"893","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"895","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"897","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"899","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"901","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"903","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"905","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"907","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"909","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"911","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"913","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"915","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"917","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"919","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"921","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"923","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"925","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"927","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"929","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"931","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"933","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"935","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"937","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"939","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"941","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"943","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"945","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"947","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"949","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"951","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"953","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"955","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"957","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"959","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"961","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"963","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"965","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"967","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"969","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"971","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"973","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"975","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"977","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"979","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"981","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"983","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"985","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"987","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"989","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"991","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"993","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"995","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"997","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"999","type":"Ocel.Sheep","attributes":""} OcelActivityEnd {"activity":"Cleaning"} OcelActivityBegin {"activity":"VetClinic"} -OcelEvent {"objectId":"1","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"4","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"7","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"10","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"13","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"16","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"19","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"22","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"25","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"28","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"31","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"34","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"37","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"40","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"43","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"46","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"49","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"52","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"55","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"58","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"61","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"64","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"67","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"70","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"73","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"76","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"79","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"82","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"85","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"88","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"91","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"94","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"97","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"100","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"103","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"106","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"109","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"112","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"115","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"118","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"121","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"124","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"127","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"130","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"133","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"136","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"139","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"142","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"145","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"148","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"151","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"154","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"157","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"160","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"163","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"166","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"169","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"172","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"175","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"178","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"181","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"184","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"187","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"190","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"193","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"196","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"199","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"202","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"205","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"208","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"211","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"214","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"217","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"220","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"223","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"226","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"229","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"232","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"235","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"238","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"241","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"244","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"247","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"250","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"253","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"256","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"259","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"262","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"265","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"268","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"271","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"274","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"277","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"280","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"283","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"286","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"289","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"292","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"295","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"298","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"301","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"304","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"307","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"310","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"313","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"316","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"319","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"322","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"325","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"328","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"331","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"334","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"337","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"340","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"343","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"346","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"349","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"352","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"355","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"358","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"361","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"364","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"367","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"370","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"373","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"376","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"379","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"382","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"385","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"388","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"391","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"394","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"397","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"400","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"403","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"406","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"409","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"412","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"415","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"418","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"421","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"424","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"427","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"430","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"433","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"436","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"439","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"442","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"445","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"448","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"451","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"454","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"457","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"460","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"463","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"466","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"469","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"472","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"475","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"478","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"481","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"484","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"487","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"490","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"493","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"496","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"499","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"502","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"505","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"508","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"511","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"514","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"517","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"520","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"523","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"526","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"529","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"532","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"535","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"538","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"541","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"544","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"547","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"550","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"553","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"556","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"559","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"562","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"565","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"568","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"571","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"574","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"577","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"580","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"583","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"586","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"589","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"592","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"595","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"598","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"601","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"604","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"607","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"610","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"613","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"616","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"619","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"622","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"625","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"628","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"631","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"634","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"637","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"640","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"643","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"646","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"649","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"652","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"655","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"658","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"661","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"664","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"667","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"670","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"673","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"676","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"679","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"682","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"685","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"688","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"691","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"694","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"697","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"700","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"703","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"706","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"709","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"712","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"715","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"718","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"721","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"724","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"727","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"730","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"733","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"736","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"739","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"742","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"745","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"748","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"751","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"754","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"757","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"760","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"763","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"766","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"769","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"772","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"775","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"778","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"781","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"784","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"787","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"790","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"793","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"796","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"799","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"802","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"805","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"808","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"811","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"814","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"817","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"820","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"823","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"826","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"829","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"832","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"835","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"838","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"841","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"844","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"847","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"850","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"853","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"856","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"859","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"862","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"865","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"868","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"871","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"874","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"877","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"880","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"883","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"886","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"889","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"892","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"895","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"898","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"901","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"904","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"907","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"910","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"913","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"916","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"919","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"922","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"925","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"928","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"931","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"934","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"937","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"940","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"943","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"946","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"949","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"952","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"955","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"958","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"961","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"964","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"967","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"970","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"973","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"976","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"979","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"982","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"985","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"988","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"991","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"994","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"997","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1000","objectCategory":"Dog","attributes":""} +OcelObjectAllocated {"objectId":"1","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"4","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"7","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"10","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"13","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"16","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"19","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"22","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"25","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"28","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"31","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"34","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"37","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"40","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"43","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"46","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"49","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"52","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"55","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"58","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"61","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"64","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"67","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"70","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"73","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"76","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"79","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"82","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"85","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"88","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"91","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"94","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"97","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"100","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"103","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"106","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"109","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"112","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"115","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"118","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"121","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"124","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"127","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"130","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"133","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"136","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"139","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"142","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"145","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"148","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"151","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"154","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"157","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"160","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"163","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"166","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"169","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"172","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"175","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"178","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"181","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"184","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"187","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"190","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"193","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"196","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"199","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"202","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"205","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"208","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"211","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"214","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"217","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"220","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"223","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"226","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"229","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"232","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"235","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"238","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"241","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"244","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"247","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"250","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"253","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"256","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"259","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"262","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"265","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"268","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"271","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"274","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"277","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"280","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"283","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"286","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"289","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"292","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"295","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"298","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"301","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"304","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"307","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"310","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"313","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"316","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"319","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"322","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"325","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"328","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"331","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"334","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"337","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"340","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"343","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"346","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"349","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"352","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"355","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"358","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"361","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"364","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"367","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"370","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"373","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"376","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"379","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"382","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"385","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"388","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"391","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"394","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"397","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"400","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"403","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"406","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"409","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"412","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"415","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"418","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"421","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"424","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"427","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"430","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"433","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"436","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"439","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"442","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"445","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"448","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"451","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"454","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"457","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"460","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"463","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"466","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"469","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"472","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"475","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"478","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"481","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"484","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"487","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"490","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"493","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"496","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"499","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"502","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"505","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"508","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"511","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"514","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"517","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"520","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"523","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"526","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"529","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"532","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"535","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"538","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"541","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"544","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"547","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"550","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"553","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"556","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"559","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"562","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"565","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"568","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"571","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"574","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"577","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"580","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"583","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"586","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"589","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"592","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"595","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"598","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"601","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"604","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"607","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"610","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"613","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"616","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"619","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"622","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"625","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"628","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"631","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"634","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"637","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"640","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"643","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"646","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"649","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"652","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"655","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"658","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"661","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"664","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"667","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"670","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"673","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"676","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"679","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"682","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"685","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"688","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"691","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"694","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"697","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"700","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"703","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"706","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"709","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"712","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"715","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"718","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"721","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"724","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"727","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"730","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"733","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"736","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"739","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"742","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"745","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"748","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"751","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"754","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"757","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"760","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"763","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"766","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"769","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"772","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"775","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"778","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"781","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"784","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"787","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"790","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"793","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"796","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"799","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"802","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"805","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"808","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"811","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"814","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"817","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"820","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"823","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"826","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"829","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"832","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"835","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"838","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"841","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"844","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"847","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"850","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"853","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"856","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"859","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"862","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"865","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"868","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"871","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"874","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"877","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"880","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"883","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"886","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"889","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"892","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"895","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"898","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"901","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"904","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"907","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"910","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"913","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"916","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"919","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"922","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"925","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"928","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"931","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"934","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"937","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"940","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"943","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"946","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"949","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"952","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"955","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"958","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"961","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"964","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"967","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"970","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"973","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"976","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"979","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"982","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"985","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"988","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"991","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"994","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"997","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1000","type":"Ocel.Dog","attributes":""} OcelActivityEnd {"activity":"VetClinic"} OcelActivityBegin {"activity":"Playground"} -OcelEvent {"objectId":"1","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"5","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"9","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"13","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"17","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"21","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"25","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"29","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"33","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"37","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"41","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"45","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"49","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"53","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"57","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"61","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"65","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"69","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"73","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"77","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"81","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"85","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"89","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"93","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"97","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"101","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"105","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"109","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"113","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"117","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"121","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"125","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"129","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"133","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"137","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"141","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"145","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"149","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"153","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"157","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"161","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"165","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"169","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"173","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"177","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"181","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"185","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"189","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"193","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"197","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"201","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"205","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"209","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"213","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"217","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"221","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"225","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"229","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"233","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"237","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"241","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"245","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"249","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"253","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"257","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"261","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"265","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"269","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"273","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"277","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"281","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"285","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"289","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"293","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"297","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"301","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"305","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"309","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"313","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"317","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"321","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"325","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"329","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"333","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"337","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"341","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"345","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"349","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"353","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"357","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"361","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"365","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"369","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"373","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"377","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"381","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"385","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"389","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"393","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"397","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"401","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"405","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"409","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"413","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"417","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"421","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"425","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"429","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"433","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"437","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"441","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"445","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"449","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"453","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"457","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"461","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"465","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"469","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"473","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"477","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"481","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"485","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"489","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"493","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"497","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"501","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"505","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"509","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"513","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"517","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"521","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"525","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"529","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"533","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"537","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"541","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"545","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"549","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"553","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"557","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"561","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"565","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"569","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"573","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"577","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"581","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"585","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"589","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"593","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"597","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"601","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"605","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"609","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"613","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"617","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"621","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"625","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"629","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"633","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"637","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"641","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"645","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"649","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"653","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"657","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"661","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"665","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"669","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"673","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"677","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"681","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"685","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"689","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"693","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"697","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"701","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"705","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"709","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"713","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"717","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"721","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"725","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"729","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"733","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"737","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"741","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"745","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"749","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"753","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"757","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"761","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"765","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"769","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"773","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"777","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"781","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"785","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"789","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"793","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"797","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"801","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"805","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"809","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"813","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"817","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"821","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"825","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"829","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"833","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"837","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"841","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"845","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"849","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"853","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"857","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"861","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"865","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"869","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"873","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"877","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"881","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"885","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"889","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"893","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"897","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"901","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"905","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"909","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"913","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"917","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"921","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"925","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"929","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"933","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"937","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"941","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"945","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"949","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"953","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"957","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"961","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"965","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"969","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"973","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"977","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"981","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"985","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"989","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"993","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"997","objectCategory":"Dog","attributes":""} +OcelObjectAllocated {"objectId":"1","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"5","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"9","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"13","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"17","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"21","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"25","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"29","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"33","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"37","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"41","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"45","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"49","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"53","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"57","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"61","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"65","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"69","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"73","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"77","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"81","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"85","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"89","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"93","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"97","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"101","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"105","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"109","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"113","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"117","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"121","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"125","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"129","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"133","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"137","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"141","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"145","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"149","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"153","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"157","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"161","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"165","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"169","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"173","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"177","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"181","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"185","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"189","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"193","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"197","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"201","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"205","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"209","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"213","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"217","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"221","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"225","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"229","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"233","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"237","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"241","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"245","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"249","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"253","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"257","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"261","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"265","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"269","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"273","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"277","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"281","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"285","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"289","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"293","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"297","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"301","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"305","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"309","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"313","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"317","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"321","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"325","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"329","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"333","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"337","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"341","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"345","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"349","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"353","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"357","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"361","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"365","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"369","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"373","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"377","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"381","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"385","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"389","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"393","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"397","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"401","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"405","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"409","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"413","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"417","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"421","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"425","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"429","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"433","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"437","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"441","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"445","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"449","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"453","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"457","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"461","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"465","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"469","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"473","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"477","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"481","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"485","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"489","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"493","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"497","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"501","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"505","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"509","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"513","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"517","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"521","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"525","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"529","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"533","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"537","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"541","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"545","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"549","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"553","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"557","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"561","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"565","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"569","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"573","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"577","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"581","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"585","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"589","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"593","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"597","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"601","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"605","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"609","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"613","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"617","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"621","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"625","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"629","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"633","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"637","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"641","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"645","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"649","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"653","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"657","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"661","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"665","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"669","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"673","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"677","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"681","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"685","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"689","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"693","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"697","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"701","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"705","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"709","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"713","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"717","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"721","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"725","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"729","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"733","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"737","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"741","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"745","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"749","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"753","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"757","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"761","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"765","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"769","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"773","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"777","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"781","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"785","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"789","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"793","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"797","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"801","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"805","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"809","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"813","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"817","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"821","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"825","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"829","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"833","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"837","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"841","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"845","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"849","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"853","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"857","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"861","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"865","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"869","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"873","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"877","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"881","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"885","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"889","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"893","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"897","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"901","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"905","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"909","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"913","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"917","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"921","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"925","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"929","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"933","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"937","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"941","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"945","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"949","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"953","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"957","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"961","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"965","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"969","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"973","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"977","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"981","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"985","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"989","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"993","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"997","type":"Ocel.Dog","attributes":""} OcelActivityEnd {"activity":"Playground"} OcelActivityBegin {"activity":"Cleaning"} -OcelEvent {"objectId":"1","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"6","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"11","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"16","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"21","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"26","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"31","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"36","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"41","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"46","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"51","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"56","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"61","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"66","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"71","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"76","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"81","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"86","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"91","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"96","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"101","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"106","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"111","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"116","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"121","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"126","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"131","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"136","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"141","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"146","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"151","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"156","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"161","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"166","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"171","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"176","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"181","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"186","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"191","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"196","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"201","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"206","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"211","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"216","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"221","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"226","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"231","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"236","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"241","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"246","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"251","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"256","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"261","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"266","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"271","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"276","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"281","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"286","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"291","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"296","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"301","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"306","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"311","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"316","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"321","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"326","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"331","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"336","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"341","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"346","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"351","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"356","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"361","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"366","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"371","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"376","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"381","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"386","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"391","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"396","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"401","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"406","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"411","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"416","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"421","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"426","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"431","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"436","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"441","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"446","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"451","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"456","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"461","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"466","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"471","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"476","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"481","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"486","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"491","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"496","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"501","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"506","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"511","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"516","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"521","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"526","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"531","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"536","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"541","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"546","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"551","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"556","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"561","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"566","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"571","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"576","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"581","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"586","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"591","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"596","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"601","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"606","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"611","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"616","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"621","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"626","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"631","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"636","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"641","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"646","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"651","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"656","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"661","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"666","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"671","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"676","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"681","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"686","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"691","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"696","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"701","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"706","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"711","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"716","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"721","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"726","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"731","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"736","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"741","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"746","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"751","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"756","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"761","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"766","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"771","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"776","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"781","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"786","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"791","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"796","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"801","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"806","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"811","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"816","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"821","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"826","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"831","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"836","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"841","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"846","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"851","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"856","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"861","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"866","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"871","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"876","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"881","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"886","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"891","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"896","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"901","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"906","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"911","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"916","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"921","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"926","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"931","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"936","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"941","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"946","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"951","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"956","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"961","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"966","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"971","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"976","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"981","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"986","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"991","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"996","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"6","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"11","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"16","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"21","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"26","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"31","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"36","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"41","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"46","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"51","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"56","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"61","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"66","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"71","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"76","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"81","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"86","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"91","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"96","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"101","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"106","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"111","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"116","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"121","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"126","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"131","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"136","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"141","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"146","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"151","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"156","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"161","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"166","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"171","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"176","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"181","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"186","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"191","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"196","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"201","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"206","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"211","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"216","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"221","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"226","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"231","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"236","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"241","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"246","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"251","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"256","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"261","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"266","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"271","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"276","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"281","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"286","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"291","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"296","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"301","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"306","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"311","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"316","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"321","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"326","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"331","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"336","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"341","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"346","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"351","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"356","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"361","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"366","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"371","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"376","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"381","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"386","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"391","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"396","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"401","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"406","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"411","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"416","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"421","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"426","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"431","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"436","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"441","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"446","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"451","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"456","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"461","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"466","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"471","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"476","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"481","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"486","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"491","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"496","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"501","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"506","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"511","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"516","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"521","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"526","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"531","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"536","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"541","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"546","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"551","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"556","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"561","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"566","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"571","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"576","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"581","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"586","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"591","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"596","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"601","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"606","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"611","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"616","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"621","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"626","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"631","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"636","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"641","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"646","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"651","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"656","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"661","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"666","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"671","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"676","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"681","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"686","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"691","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"696","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"701","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"706","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"711","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"716","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"721","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"726","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"731","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"736","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"741","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"746","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"751","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"756","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"761","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"766","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"771","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"776","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"781","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"786","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"791","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"796","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"801","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"806","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"811","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"816","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"821","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"826","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"831","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"836","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"841","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"846","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"851","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"856","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"861","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"866","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"871","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"876","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"881","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"886","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"891","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"896","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"901","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"906","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"911","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"916","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"921","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"926","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"931","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"936","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"941","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"946","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"951","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"956","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"961","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"966","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"971","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"976","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"981","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"986","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"991","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"996","type":"Ocel.Sheep","attributes":""} OcelActivityEnd {"activity":"Cleaning"} OcelActivityBegin {"activity":"Farm"} -OcelEvent {"objectId":"1","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"7","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"13","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"19","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"25","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"31","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"37","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"43","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"49","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"55","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"61","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"67","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"73","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"79","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"85","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"91","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"97","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"103","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"109","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"115","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"121","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"127","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"133","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"139","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"145","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"151","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"157","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"163","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"169","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"175","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"181","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"187","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"193","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"199","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"205","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"211","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"217","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"223","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"229","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"235","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"241","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"247","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"253","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"259","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"265","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"271","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"277","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"283","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"289","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"295","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"301","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"307","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"313","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"319","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"325","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"331","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"337","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"343","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"349","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"355","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"361","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"367","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"373","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"379","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"385","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"391","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"397","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"403","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"409","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"415","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"421","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"427","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"433","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"439","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"445","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"451","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"457","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"463","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"469","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"475","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"481","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"487","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"493","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"499","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"505","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"511","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"517","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"523","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"529","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"535","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"541","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"547","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"553","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"559","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"565","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"571","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"577","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"583","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"589","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"595","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"601","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"607","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"613","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"619","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"625","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"631","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"637","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"643","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"649","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"655","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"661","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"667","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"673","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"679","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"685","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"691","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"697","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"703","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"709","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"715","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"721","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"727","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"733","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"739","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"745","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"751","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"757","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"763","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"769","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"775","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"781","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"787","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"793","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"799","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"805","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"811","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"817","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"823","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"829","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"835","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"841","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"847","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"853","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"859","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"865","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"871","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"877","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"883","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"889","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"895","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"901","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"907","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"913","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"919","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"925","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"931","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"937","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"943","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"949","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"955","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"961","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"967","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"973","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"979","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"985","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"991","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"997","objectCategory":"Dog","attributes":""} +OcelObjectAllocated {"objectId":"1","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"7","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"13","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"19","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"25","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"31","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"37","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"43","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"49","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"55","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"61","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"67","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"73","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"79","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"85","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"91","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"97","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"103","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"109","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"115","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"121","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"127","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"133","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"139","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"145","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"151","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"157","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"163","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"169","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"175","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"181","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"187","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"193","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"199","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"205","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"211","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"217","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"223","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"229","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"235","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"241","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"247","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"253","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"259","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"265","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"271","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"277","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"283","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"289","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"295","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"301","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"307","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"313","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"319","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"325","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"331","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"337","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"343","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"349","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"355","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"361","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"367","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"373","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"379","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"385","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"391","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"397","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"403","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"409","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"415","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"421","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"427","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"433","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"439","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"445","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"451","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"457","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"463","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"469","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"475","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"481","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"487","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"493","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"499","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"505","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"511","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"517","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"523","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"529","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"535","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"541","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"547","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"553","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"559","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"565","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"571","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"577","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"583","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"589","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"595","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"601","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"607","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"613","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"619","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"625","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"631","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"637","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"643","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"649","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"655","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"661","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"667","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"673","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"679","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"685","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"691","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"697","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"703","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"709","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"715","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"721","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"727","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"733","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"739","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"745","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"751","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"757","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"763","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"769","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"775","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"781","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"787","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"793","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"799","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"805","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"811","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"817","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"823","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"829","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"835","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"841","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"847","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"853","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"859","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"865","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"871","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"877","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"883","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"889","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"895","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"901","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"907","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"913","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"919","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"925","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"931","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"937","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"943","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"949","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"955","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"961","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"967","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"973","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"979","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"985","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"991","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"997","type":"Ocel.Dog","attributes":""} OcelActivityEnd {"activity":"Farm"} \ No newline at end of file diff --git a/Procfiler/test_data/gold/macos/OcelEventsTest/SimpleTest.gold b/Procfiler/test_data/gold/macos/OcelEventsTest/SimpleTest.gold index c861ab42d..586484719 100644 --- a/Procfiler/test_data/gold/macos/OcelEventsTest/SimpleTest.gold +++ b/Procfiler/test_data/gold/macos/OcelEventsTest/SimpleTest.gold @@ -1,3797 +1,3797 @@ OcelActivityBegin {"activity":"Initializing"} OcelGloballyAttachedEvent {"objectId":"1","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"1","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"2","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"3","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"1","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"2","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"3","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"4","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"4","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"5","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"6","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"4","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"5","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"6","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"7","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"7","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"8","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"9","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"7","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"8","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"9","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"10","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"10","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"11","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"12","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"10","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"11","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"12","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"13","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"13","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"14","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"15","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"13","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"14","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"15","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"16","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"16","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"17","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"18","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"16","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"17","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"18","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"19","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"19","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"20","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"21","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"19","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"20","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"21","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"22","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"22","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"23","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"24","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"22","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"23","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"24","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"25","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"25","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"26","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"27","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"25","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"26","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"27","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"28","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"28","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"29","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"30","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"28","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"29","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"30","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"31","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"31","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"32","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"33","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"31","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"32","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"33","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"34","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"34","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"35","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"36","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"34","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"35","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"36","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"37","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"37","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"38","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"39","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"37","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"38","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"39","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"40","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"40","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"41","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"42","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"40","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"41","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"42","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"43","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"43","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"44","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"45","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"43","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"44","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"45","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"46","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"46","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"47","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"48","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"46","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"47","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"48","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"49","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"49","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"50","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"51","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"49","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"50","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"51","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"52","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"52","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"53","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"54","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"52","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"53","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"54","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"55","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"55","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"56","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"57","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"55","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"56","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"57","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"58","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"58","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"59","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"60","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"58","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"59","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"60","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"61","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"61","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"62","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"63","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"61","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"62","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"63","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"64","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"64","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"65","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"66","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"64","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"65","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"66","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"67","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"67","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"68","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"69","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"67","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"68","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"69","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"70","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"70","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"71","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"72","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"70","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"71","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"72","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"73","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"73","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"74","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"75","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"73","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"74","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"75","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"76","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"76","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"77","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"78","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"76","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"77","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"78","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"79","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"79","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"80","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"81","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"79","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"80","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"81","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"82","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"82","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"83","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"84","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"82","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"83","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"84","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"85","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"85","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"86","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"87","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"85","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"86","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"87","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"88","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"88","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"89","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"90","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"88","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"89","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"90","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"91","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"91","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"92","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"93","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"91","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"92","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"93","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"94","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"94","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"95","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"96","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"94","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"95","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"96","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"97","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"97","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"98","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"99","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"97","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"98","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"99","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"100","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"100","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"101","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"102","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"100","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"101","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"102","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"103","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"103","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"104","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"105","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"103","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"104","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"105","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"106","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"106","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"107","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"108","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"106","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"107","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"108","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"109","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"109","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"110","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"111","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"109","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"110","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"111","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"112","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"112","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"113","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"114","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"112","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"113","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"114","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"115","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"115","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"116","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"117","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"115","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"116","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"117","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"118","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"118","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"119","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"120","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"118","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"119","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"120","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"121","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"121","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"122","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"123","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"121","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"122","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"123","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"124","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"124","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"125","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"126","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"124","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"125","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"126","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"127","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"127","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"128","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"129","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"127","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"128","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"129","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"130","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"130","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"131","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"132","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"130","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"131","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"132","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"133","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"133","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"134","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"135","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"133","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"134","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"135","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"136","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"136","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"137","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"138","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"136","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"137","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"138","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"139","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"139","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"140","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"141","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"139","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"140","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"141","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"142","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"142","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"143","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"144","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"142","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"143","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"144","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"145","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"145","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"146","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"147","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"145","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"146","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"147","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"148","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"148","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"149","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"150","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"148","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"149","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"150","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"151","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"151","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"152","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"153","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"151","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"152","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"153","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"154","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"154","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"155","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"156","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"154","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"155","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"156","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"157","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"157","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"158","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"159","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"157","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"158","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"159","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"160","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"160","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"161","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"162","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"160","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"161","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"162","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"163","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"163","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"164","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"165","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"163","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"164","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"165","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"166","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"166","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"167","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"168","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"166","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"167","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"168","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"169","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"169","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"170","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"171","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"169","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"170","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"171","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"172","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"172","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"173","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"174","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"172","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"173","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"174","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"175","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"175","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"176","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"177","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"175","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"176","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"177","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"178","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"178","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"179","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"180","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"178","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"179","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"180","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"181","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"181","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"182","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"183","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"181","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"182","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"183","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"184","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"184","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"185","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"186","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"184","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"185","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"186","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"187","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"187","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"188","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"189","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"187","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"188","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"189","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"190","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"190","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"191","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"192","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"190","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"191","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"192","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"193","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"193","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"194","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"195","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"193","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"194","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"195","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"196","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"196","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"197","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"198","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"196","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"197","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"198","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"199","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"199","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"200","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"201","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"199","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"200","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"201","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"202","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"202","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"203","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"204","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"202","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"203","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"204","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"205","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"205","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"206","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"207","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"205","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"206","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"207","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"208","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"208","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"209","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"210","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"208","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"209","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"210","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"211","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"211","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"212","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"213","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"211","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"212","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"213","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"214","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"214","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"215","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"216","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"214","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"215","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"216","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"217","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"217","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"218","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"219","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"217","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"218","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"219","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"220","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"220","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"221","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"222","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"220","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"221","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"222","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"223","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"223","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"224","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"225","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"223","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"224","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"225","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"226","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"226","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"227","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"228","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"226","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"227","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"228","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"229","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"229","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"230","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"231","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"229","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"230","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"231","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"232","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"232","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"233","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"234","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"232","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"233","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"234","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"235","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"235","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"236","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"237","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"235","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"236","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"237","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"238","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"238","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"239","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"240","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"238","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"239","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"240","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"241","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"241","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"242","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"243","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"241","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"242","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"243","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"244","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"244","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"245","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"246","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"244","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"245","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"246","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"247","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"247","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"248","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"249","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"247","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"248","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"249","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"250","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"250","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"251","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"252","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"250","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"251","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"252","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"253","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"253","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"254","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"255","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"253","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"254","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"255","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"256","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"256","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"257","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"258","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"256","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"257","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"258","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"259","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"259","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"260","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"261","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"259","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"260","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"261","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"262","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"262","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"263","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"264","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"262","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"263","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"264","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"265","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"265","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"266","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"267","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"265","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"266","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"267","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"268","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"268","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"269","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"270","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"268","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"269","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"270","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"271","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"271","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"272","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"273","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"271","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"272","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"273","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"274","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"274","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"275","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"276","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"274","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"275","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"276","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"277","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"277","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"278","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"279","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"277","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"278","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"279","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"280","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"280","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"281","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"282","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"280","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"281","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"282","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"283","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"283","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"284","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"285","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"283","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"284","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"285","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"286","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"286","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"287","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"288","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"286","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"287","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"288","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"289","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"289","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"290","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"291","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"289","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"290","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"291","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"292","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"292","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"293","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"294","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"292","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"293","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"294","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"295","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"295","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"296","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"297","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"295","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"296","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"297","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"298","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"298","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"299","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"300","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"298","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"299","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"300","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"301","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"301","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"302","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"303","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"301","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"302","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"303","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"304","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"304","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"305","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"306","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"304","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"305","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"306","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"307","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"307","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"308","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"309","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"307","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"308","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"309","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"310","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"310","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"311","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"312","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"310","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"311","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"312","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"313","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"313","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"314","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"315","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"313","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"314","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"315","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"316","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"316","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"317","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"318","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"316","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"317","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"318","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"319","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"319","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"320","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"321","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"319","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"320","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"321","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"322","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"322","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"323","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"324","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"322","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"323","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"324","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"325","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"325","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"326","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"327","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"325","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"326","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"327","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"328","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"328","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"329","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"330","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"328","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"329","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"330","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"331","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"331","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"332","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"333","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"331","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"332","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"333","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"334","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"334","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"335","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"336","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"334","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"335","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"336","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"337","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"337","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"338","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"339","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"337","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"338","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"339","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"340","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"340","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"341","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"342","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"340","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"341","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"342","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"343","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"343","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"344","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"345","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"343","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"344","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"345","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"346","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"346","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"347","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"348","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"346","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"347","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"348","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"349","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"349","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"350","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"351","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"349","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"350","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"351","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"352","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"352","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"353","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"354","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"352","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"353","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"354","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"355","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"355","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"356","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"357","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"355","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"356","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"357","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"358","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"358","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"359","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"360","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"358","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"359","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"360","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"361","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"361","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"362","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"363","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"361","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"362","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"363","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"364","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"364","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"365","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"366","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"364","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"365","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"366","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"367","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"367","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"368","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"369","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"367","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"368","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"369","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"370","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"370","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"371","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"372","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"370","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"371","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"372","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"373","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"373","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"374","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"375","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"373","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"374","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"375","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"376","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"376","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"377","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"378","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"376","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"377","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"378","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"379","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"379","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"380","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"381","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"379","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"380","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"381","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"382","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"382","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"383","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"384","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"382","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"383","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"384","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"385","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"385","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"386","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"387","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"385","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"386","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"387","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"388","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"388","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"389","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"390","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"388","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"389","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"390","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"391","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"391","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"392","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"393","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"391","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"392","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"393","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"394","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"394","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"395","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"396","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"394","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"395","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"396","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"397","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"397","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"398","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"399","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"397","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"398","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"399","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"400","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"400","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"401","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"402","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"400","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"401","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"402","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"403","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"403","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"404","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"405","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"403","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"404","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"405","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"406","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"406","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"407","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"408","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"406","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"407","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"408","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"409","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"409","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"410","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"411","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"409","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"410","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"411","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"412","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"412","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"413","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"414","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"412","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"413","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"414","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"415","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"415","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"416","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"417","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"415","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"416","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"417","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"418","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"418","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"419","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"420","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"418","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"419","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"420","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"421","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"421","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"422","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"423","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"421","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"422","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"423","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"424","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"424","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"425","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"426","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"424","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"425","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"426","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"427","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"427","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"428","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"429","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"427","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"428","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"429","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"430","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"430","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"431","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"432","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"430","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"431","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"432","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"433","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"433","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"434","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"435","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"433","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"434","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"435","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"436","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"436","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"437","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"438","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"436","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"437","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"438","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"439","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"439","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"440","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"441","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"439","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"440","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"441","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"442","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"442","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"443","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"444","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"442","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"443","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"444","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"445","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"445","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"446","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"447","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"445","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"446","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"447","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"448","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"448","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"449","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"450","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"448","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"449","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"450","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"451","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"451","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"452","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"453","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"451","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"452","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"453","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"454","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"454","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"455","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"456","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"454","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"455","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"456","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"457","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"457","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"458","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"459","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"457","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"458","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"459","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"460","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"460","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"461","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"462","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"460","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"461","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"462","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"463","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"463","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"464","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"465","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"463","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"464","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"465","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"466","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"466","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"467","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"468","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"466","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"467","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"468","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"469","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"469","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"470","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"471","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"469","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"470","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"471","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"472","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"472","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"473","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"474","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"472","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"473","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"474","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"475","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"475","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"476","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"477","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"475","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"476","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"477","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"478","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"478","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"479","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"480","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"478","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"479","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"480","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"481","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"481","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"482","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"483","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"481","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"482","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"483","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"484","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"484","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"485","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"486","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"484","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"485","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"486","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"487","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"487","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"488","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"489","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"487","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"488","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"489","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"490","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"490","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"491","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"492","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"490","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"491","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"492","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"493","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"493","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"494","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"495","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"493","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"494","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"495","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"496","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"496","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"497","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"498","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"496","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"497","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"498","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"499","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"499","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"500","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"501","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"499","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"500","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"501","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"502","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"502","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"503","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"504","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"502","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"503","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"504","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"505","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"505","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"506","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"507","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"505","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"506","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"507","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"508","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"508","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"509","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"510","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"508","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"509","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"510","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"511","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"511","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"512","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"513","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"511","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"512","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"513","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"514","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"514","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"515","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"516","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"514","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"515","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"516","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"517","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"517","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"518","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"519","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"517","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"518","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"519","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"520","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"520","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"521","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"522","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"520","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"521","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"522","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"523","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"523","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"524","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"525","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"523","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"524","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"525","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"526","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"526","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"527","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"528","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"526","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"527","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"528","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"529","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"529","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"530","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"531","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"529","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"530","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"531","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"532","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"532","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"533","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"534","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"532","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"533","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"534","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"535","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"535","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"536","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"537","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"535","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"536","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"537","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"538","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"538","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"539","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"540","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"538","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"539","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"540","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"541","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"541","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"542","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"543","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"541","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"542","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"543","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"544","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"544","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"545","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"546","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"544","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"545","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"546","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"547","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"547","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"548","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"549","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"547","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"548","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"549","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"550","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"550","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"551","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"552","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"550","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"551","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"552","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"553","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"553","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"554","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"555","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"553","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"554","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"555","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"556","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"556","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"557","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"558","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"556","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"557","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"558","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"559","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"559","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"560","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"561","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"559","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"560","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"561","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"562","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"562","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"563","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"564","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"562","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"563","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"564","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"565","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"565","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"566","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"567","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"565","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"566","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"567","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"568","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"568","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"569","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"570","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"568","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"569","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"570","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"571","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"571","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"572","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"573","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"571","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"572","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"573","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"574","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"574","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"575","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"576","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"574","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"575","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"576","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"577","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"577","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"578","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"579","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"577","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"578","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"579","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"580","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"580","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"581","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"582","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"580","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"581","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"582","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"583","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"583","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"584","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"585","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"583","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"584","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"585","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"586","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"586","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"587","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"588","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"586","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"587","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"588","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"589","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"589","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"590","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"591","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"589","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"590","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"591","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"592","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"592","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"593","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"594","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"592","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"593","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"594","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"595","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"595","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"596","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"597","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"595","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"596","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"597","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"598","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"598","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"599","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"600","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"598","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"599","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"600","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"601","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"601","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"602","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"603","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"601","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"602","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"603","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"604","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"604","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"605","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"606","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"604","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"605","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"606","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"607","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"607","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"608","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"609","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"607","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"608","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"609","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"610","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"610","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"611","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"612","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"610","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"611","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"612","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"613","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"613","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"614","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"615","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"613","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"614","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"615","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"616","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"616","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"617","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"618","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"616","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"617","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"618","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"619","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"619","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"620","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"621","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"619","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"620","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"621","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"622","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"622","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"623","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"624","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"622","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"623","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"624","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"625","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"625","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"626","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"627","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"625","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"626","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"627","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"628","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"628","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"629","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"630","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"628","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"629","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"630","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"631","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"631","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"632","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"633","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"631","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"632","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"633","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"634","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"634","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"635","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"636","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"634","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"635","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"636","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"637","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"637","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"638","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"639","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"637","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"638","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"639","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"640","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"640","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"641","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"642","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"640","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"641","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"642","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"643","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"643","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"644","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"645","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"643","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"644","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"645","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"646","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"646","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"647","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"648","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"646","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"647","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"648","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"649","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"649","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"650","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"651","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"649","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"650","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"651","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"652","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"652","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"653","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"654","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"652","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"653","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"654","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"655","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"655","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"656","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"657","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"655","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"656","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"657","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"658","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"658","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"659","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"660","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"658","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"659","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"660","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"661","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"661","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"662","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"663","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"661","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"662","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"663","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"664","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"664","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"665","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"666","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"664","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"665","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"666","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"667","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"667","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"668","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"669","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"667","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"668","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"669","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"670","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"670","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"671","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"672","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"670","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"671","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"672","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"673","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"673","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"674","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"675","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"673","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"674","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"675","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"676","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"676","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"677","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"678","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"676","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"677","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"678","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"679","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"679","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"680","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"681","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"679","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"680","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"681","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"682","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"682","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"683","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"684","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"682","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"683","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"684","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"685","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"685","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"686","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"687","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"685","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"686","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"687","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"688","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"688","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"689","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"690","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"688","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"689","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"690","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"691","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"691","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"692","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"693","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"691","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"692","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"693","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"694","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"694","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"695","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"696","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"694","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"695","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"696","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"697","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"697","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"698","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"699","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"697","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"698","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"699","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"700","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"700","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"701","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"702","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"700","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"701","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"702","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"703","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"703","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"704","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"705","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"703","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"704","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"705","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"706","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"706","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"707","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"708","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"706","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"707","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"708","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"709","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"709","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"710","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"711","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"709","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"710","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"711","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"712","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"712","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"713","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"714","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"712","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"713","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"714","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"715","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"715","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"716","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"717","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"715","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"716","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"717","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"718","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"718","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"719","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"720","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"718","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"719","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"720","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"721","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"721","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"722","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"723","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"721","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"722","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"723","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"724","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"724","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"725","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"726","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"724","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"725","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"726","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"727","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"727","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"728","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"729","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"727","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"728","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"729","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"730","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"730","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"731","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"732","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"730","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"731","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"732","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"733","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"733","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"734","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"735","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"733","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"734","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"735","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"736","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"736","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"737","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"738","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"736","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"737","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"738","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"739","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"739","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"740","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"741","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"739","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"740","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"741","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"742","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"742","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"743","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"744","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"742","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"743","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"744","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"745","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"745","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"746","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"747","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"745","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"746","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"747","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"748","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"748","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"749","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"750","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"748","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"749","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"750","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"751","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"751","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"752","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"753","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"751","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"752","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"753","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"754","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"754","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"755","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"756","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"754","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"755","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"756","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"757","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"757","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"758","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"759","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"757","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"758","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"759","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"760","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"760","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"761","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"762","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"760","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"761","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"762","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"763","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"763","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"764","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"765","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"763","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"764","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"765","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"766","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"766","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"767","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"768","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"766","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"767","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"768","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"769","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"769","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"770","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"771","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"769","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"770","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"771","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"772","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"772","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"773","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"774","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"772","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"773","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"774","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"775","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"775","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"776","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"777","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"775","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"776","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"777","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"778","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"778","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"779","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"780","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"778","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"779","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"780","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"781","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"781","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"782","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"783","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"781","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"782","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"783","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"784","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"784","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"785","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"786","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"784","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"785","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"786","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"787","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"787","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"788","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"789","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"787","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"788","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"789","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"790","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"790","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"791","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"792","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"790","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"791","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"792","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"793","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"793","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"794","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"795","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"793","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"794","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"795","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"796","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"796","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"797","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"798","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"796","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"797","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"798","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"799","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"799","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"800","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"801","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"799","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"800","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"801","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"802","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"802","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"803","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"804","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"802","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"803","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"804","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"805","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"805","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"806","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"807","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"805","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"806","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"807","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"808","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"808","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"809","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"810","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"808","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"809","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"810","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"811","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"811","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"812","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"813","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"811","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"812","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"813","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"814","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"814","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"815","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"816","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"814","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"815","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"816","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"817","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"817","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"818","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"819","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"817","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"818","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"819","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"820","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"820","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"821","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"822","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"820","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"821","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"822","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"823","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"823","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"824","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"825","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"823","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"824","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"825","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"826","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"826","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"827","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"828","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"826","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"827","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"828","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"829","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"829","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"830","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"831","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"829","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"830","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"831","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"832","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"832","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"833","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"834","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"832","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"833","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"834","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"835","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"835","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"836","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"837","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"835","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"836","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"837","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"838","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"838","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"839","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"840","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"838","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"839","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"840","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"841","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"841","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"842","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"843","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"841","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"842","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"843","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"844","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"844","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"845","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"846","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"844","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"845","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"846","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"847","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"847","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"848","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"849","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"847","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"848","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"849","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"850","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"850","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"851","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"852","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"850","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"851","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"852","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"853","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"853","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"854","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"855","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"853","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"854","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"855","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"856","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"856","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"857","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"858","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"856","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"857","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"858","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"859","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"859","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"860","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"861","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"859","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"860","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"861","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"862","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"862","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"863","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"864","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"862","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"863","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"864","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"865","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"865","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"866","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"867","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"865","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"866","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"867","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"868","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"868","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"869","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"870","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"868","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"869","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"870","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"871","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"871","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"872","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"873","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"871","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"872","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"873","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"874","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"874","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"875","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"876","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"874","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"875","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"876","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"877","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"877","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"878","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"879","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"877","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"878","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"879","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"880","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"880","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"881","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"882","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"880","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"881","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"882","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"883","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"883","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"884","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"885","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"883","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"884","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"885","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"886","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"886","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"887","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"888","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"886","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"887","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"888","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"889","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"889","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"890","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"891","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"889","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"890","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"891","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"892","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"892","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"893","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"894","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"892","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"893","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"894","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"895","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"895","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"896","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"897","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"895","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"896","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"897","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"898","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"898","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"899","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"900","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"898","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"899","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"900","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"901","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"901","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"902","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"903","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"901","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"902","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"903","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"904","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"904","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"905","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"906","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"904","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"905","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"906","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"907","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"907","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"908","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"909","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"907","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"908","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"909","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"910","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"910","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"911","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"912","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"910","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"911","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"912","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"913","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"913","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"914","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"915","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"913","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"914","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"915","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"916","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"916","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"917","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"918","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"916","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"917","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"918","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"919","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"919","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"920","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"921","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"919","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"920","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"921","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"922","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"922","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"923","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"924","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"922","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"923","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"924","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"925","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"925","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"926","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"927","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"925","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"926","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"927","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"928","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"928","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"929","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"930","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"928","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"929","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"930","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"931","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"931","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"932","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"933","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"931","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"932","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"933","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"934","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"934","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"935","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"936","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"934","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"935","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"936","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"937","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"937","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"938","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"939","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"937","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"938","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"939","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"940","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"940","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"941","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"942","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"940","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"941","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"942","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"943","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"943","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"944","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"945","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"943","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"944","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"945","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"946","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"946","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"947","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"948","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"946","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"947","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"948","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"949","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"949","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"950","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"951","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"949","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"950","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"951","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"952","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"952","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"953","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"954","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"952","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"953","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"954","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"955","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"955","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"956","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"957","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"955","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"956","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"957","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"958","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"958","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"959","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"960","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"958","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"959","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"960","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"961","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"961","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"962","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"963","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"961","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"962","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"963","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"964","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"964","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"965","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"966","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"964","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"965","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"966","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"967","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"967","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"968","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"969","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"967","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"968","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"969","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"970","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"970","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"971","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"972","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"970","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"971","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"972","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"973","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"973","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"974","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"975","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"973","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"974","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"975","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"976","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"976","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"977","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"978","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"976","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"977","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"978","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"979","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"979","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"980","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"981","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"979","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"980","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"981","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"982","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"982","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"983","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"984","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"982","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"983","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"984","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"985","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"985","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"986","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"987","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"985","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"986","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"987","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"988","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"988","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"989","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"990","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"988","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"989","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"990","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"991","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"991","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"992","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"993","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"991","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"992","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"993","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"994","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"994","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"995","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"996","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"994","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"995","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"996","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"997","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"997","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"998","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"999","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"997","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"998","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"999","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"1000","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"1000","objectCategory":"Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"1000","type":"Ocel.Dog","attributes":""} OcelActivityEnd {"activity":"Initializing"} OcelActivityBegin {"activity":"Cleaning"} -OcelEvent {"objectId":"1","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"3","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"5","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"7","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"9","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"11","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"13","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"15","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"17","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"19","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"21","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"23","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"25","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"27","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"29","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"31","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"33","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"35","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"37","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"39","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"41","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"43","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"45","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"47","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"49","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"51","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"53","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"55","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"57","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"59","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"61","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"63","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"65","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"67","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"69","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"71","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"73","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"75","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"77","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"79","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"81","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"83","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"85","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"87","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"89","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"91","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"93","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"95","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"97","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"99","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"101","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"103","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"105","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"107","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"109","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"111","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"113","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"115","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"117","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"119","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"121","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"123","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"125","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"127","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"129","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"131","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"133","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"135","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"137","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"139","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"141","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"143","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"145","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"147","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"149","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"151","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"153","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"155","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"157","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"159","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"161","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"163","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"165","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"167","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"169","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"171","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"173","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"175","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"177","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"179","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"181","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"183","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"185","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"187","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"189","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"191","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"193","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"195","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"197","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"199","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"201","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"203","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"205","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"207","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"209","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"211","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"213","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"215","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"217","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"219","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"221","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"223","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"225","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"227","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"229","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"231","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"233","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"235","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"237","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"239","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"241","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"243","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"245","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"247","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"249","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"251","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"253","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"255","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"257","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"259","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"261","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"263","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"265","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"267","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"269","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"271","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"273","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"275","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"277","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"279","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"281","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"283","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"285","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"287","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"289","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"291","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"293","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"295","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"297","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"299","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"301","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"303","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"305","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"307","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"309","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"311","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"313","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"315","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"317","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"319","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"321","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"323","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"325","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"327","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"329","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"331","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"333","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"335","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"337","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"339","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"341","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"343","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"345","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"347","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"349","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"351","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"353","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"355","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"357","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"359","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"361","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"363","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"365","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"367","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"369","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"371","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"373","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"375","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"377","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"379","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"381","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"383","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"385","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"387","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"389","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"391","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"393","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"395","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"397","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"399","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"401","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"403","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"405","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"407","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"409","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"411","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"413","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"415","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"417","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"419","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"421","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"423","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"425","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"427","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"429","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"431","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"433","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"435","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"437","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"439","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"441","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"443","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"445","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"447","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"449","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"451","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"453","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"455","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"457","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"459","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"461","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"463","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"465","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"467","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"469","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"471","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"473","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"475","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"477","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"479","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"481","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"483","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"485","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"487","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"489","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"491","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"493","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"495","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"497","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"499","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"501","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"503","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"505","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"507","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"509","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"511","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"513","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"515","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"517","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"519","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"521","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"523","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"525","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"527","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"529","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"531","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"533","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"535","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"537","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"539","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"541","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"543","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"545","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"547","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"549","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"551","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"553","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"555","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"557","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"559","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"561","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"563","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"565","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"567","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"569","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"571","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"573","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"575","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"577","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"579","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"581","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"583","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"585","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"587","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"589","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"591","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"593","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"595","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"597","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"599","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"601","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"603","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"605","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"607","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"609","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"611","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"613","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"615","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"617","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"619","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"621","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"623","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"625","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"627","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"629","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"631","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"633","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"635","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"637","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"639","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"641","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"643","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"645","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"647","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"649","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"651","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"653","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"655","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"657","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"659","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"661","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"663","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"665","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"667","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"669","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"671","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"673","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"675","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"677","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"679","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"681","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"683","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"685","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"687","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"689","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"691","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"693","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"695","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"697","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"699","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"701","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"703","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"705","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"707","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"709","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"711","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"713","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"715","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"717","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"719","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"721","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"723","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"725","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"727","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"729","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"731","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"733","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"735","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"737","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"739","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"741","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"743","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"745","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"747","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"749","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"751","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"753","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"755","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"757","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"759","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"761","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"763","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"765","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"767","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"769","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"771","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"773","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"775","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"777","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"779","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"781","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"783","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"785","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"787","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"789","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"791","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"793","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"795","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"797","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"799","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"801","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"803","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"805","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"807","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"809","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"811","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"813","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"815","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"817","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"819","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"821","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"823","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"825","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"827","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"829","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"831","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"833","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"835","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"837","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"839","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"841","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"843","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"845","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"847","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"849","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"851","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"853","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"855","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"857","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"859","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"861","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"863","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"865","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"867","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"869","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"871","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"873","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"875","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"877","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"879","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"881","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"883","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"885","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"887","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"889","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"891","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"893","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"895","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"897","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"899","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"901","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"903","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"905","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"907","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"909","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"911","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"913","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"915","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"917","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"919","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"921","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"923","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"925","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"927","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"929","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"931","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"933","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"935","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"937","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"939","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"941","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"943","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"945","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"947","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"949","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"951","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"953","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"955","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"957","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"959","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"961","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"963","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"965","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"967","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"969","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"971","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"973","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"975","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"977","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"979","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"981","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"983","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"985","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"987","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"989","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"991","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"993","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"995","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"997","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"999","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"3","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"5","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"7","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"9","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"11","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"13","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"15","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"17","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"19","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"21","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"23","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"25","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"27","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"29","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"31","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"33","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"35","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"37","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"39","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"41","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"43","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"45","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"47","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"49","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"51","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"53","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"55","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"57","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"59","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"61","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"63","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"65","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"67","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"69","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"71","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"73","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"75","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"77","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"79","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"81","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"83","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"85","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"87","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"89","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"91","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"93","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"95","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"97","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"99","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"101","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"103","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"105","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"107","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"109","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"111","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"113","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"115","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"117","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"119","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"121","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"123","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"125","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"127","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"129","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"131","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"133","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"135","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"137","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"139","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"141","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"143","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"145","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"147","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"149","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"151","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"153","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"155","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"157","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"159","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"161","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"163","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"165","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"167","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"169","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"171","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"173","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"175","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"177","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"179","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"181","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"183","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"185","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"187","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"189","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"191","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"193","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"195","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"197","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"199","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"201","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"203","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"205","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"207","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"209","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"211","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"213","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"215","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"217","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"219","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"221","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"223","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"225","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"227","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"229","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"231","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"233","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"235","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"237","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"239","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"241","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"243","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"245","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"247","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"249","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"251","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"253","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"255","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"257","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"259","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"261","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"263","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"265","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"267","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"269","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"271","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"273","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"275","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"277","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"279","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"281","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"283","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"285","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"287","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"289","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"291","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"293","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"295","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"297","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"299","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"301","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"303","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"305","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"307","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"309","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"311","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"313","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"315","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"317","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"319","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"321","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"323","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"325","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"327","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"329","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"331","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"333","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"335","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"337","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"339","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"341","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"343","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"345","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"347","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"349","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"351","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"353","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"355","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"357","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"359","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"361","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"363","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"365","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"367","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"369","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"371","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"373","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"375","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"377","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"379","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"381","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"383","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"385","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"387","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"389","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"391","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"393","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"395","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"397","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"399","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"401","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"403","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"405","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"407","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"409","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"411","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"413","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"415","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"417","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"419","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"421","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"423","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"425","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"427","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"429","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"431","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"433","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"435","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"437","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"439","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"441","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"443","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"445","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"447","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"449","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"451","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"453","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"455","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"457","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"459","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"461","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"463","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"465","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"467","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"469","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"471","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"473","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"475","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"477","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"479","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"481","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"483","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"485","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"487","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"489","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"491","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"493","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"495","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"497","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"499","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"501","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"503","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"505","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"507","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"509","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"511","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"513","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"515","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"517","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"519","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"521","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"523","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"525","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"527","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"529","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"531","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"533","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"535","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"537","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"539","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"541","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"543","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"545","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"547","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"549","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"551","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"553","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"555","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"557","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"559","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"561","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"563","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"565","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"567","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"569","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"571","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"573","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"575","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"577","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"579","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"581","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"583","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"585","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"587","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"589","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"591","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"593","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"595","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"597","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"599","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"601","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"603","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"605","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"607","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"609","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"611","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"613","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"615","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"617","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"619","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"621","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"623","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"625","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"627","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"629","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"631","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"633","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"635","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"637","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"639","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"641","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"643","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"645","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"647","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"649","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"651","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"653","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"655","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"657","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"659","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"661","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"663","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"665","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"667","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"669","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"671","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"673","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"675","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"677","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"679","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"681","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"683","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"685","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"687","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"689","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"691","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"693","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"695","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"697","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"699","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"701","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"703","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"705","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"707","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"709","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"711","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"713","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"715","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"717","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"719","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"721","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"723","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"725","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"727","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"729","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"731","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"733","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"735","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"737","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"739","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"741","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"743","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"745","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"747","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"749","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"751","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"753","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"755","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"757","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"759","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"761","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"763","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"765","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"767","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"769","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"771","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"773","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"775","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"777","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"779","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"781","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"783","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"785","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"787","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"789","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"791","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"793","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"795","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"797","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"799","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"801","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"803","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"805","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"807","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"809","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"811","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"813","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"815","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"817","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"819","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"821","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"823","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"825","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"827","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"829","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"831","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"833","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"835","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"837","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"839","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"841","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"843","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"845","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"847","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"849","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"851","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"853","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"855","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"857","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"859","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"861","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"863","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"865","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"867","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"869","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"871","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"873","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"875","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"877","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"879","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"881","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"883","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"885","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"887","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"889","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"891","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"893","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"895","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"897","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"899","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"901","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"903","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"905","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"907","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"909","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"911","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"913","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"915","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"917","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"919","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"921","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"923","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"925","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"927","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"929","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"931","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"933","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"935","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"937","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"939","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"941","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"943","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"945","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"947","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"949","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"951","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"953","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"955","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"957","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"959","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"961","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"963","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"965","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"967","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"969","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"971","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"973","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"975","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"977","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"979","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"981","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"983","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"985","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"987","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"989","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"991","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"993","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"995","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"997","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"999","type":"Ocel.Sheep","attributes":""} OcelActivityEnd {"activity":"Cleaning"} OcelActivityBegin {"activity":"VetClinic"} -OcelEvent {"objectId":"1","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"4","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"7","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"10","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"13","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"16","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"19","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"22","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"25","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"28","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"31","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"34","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"37","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"40","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"43","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"46","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"49","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"52","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"55","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"58","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"61","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"64","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"67","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"70","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"73","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"76","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"79","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"82","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"85","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"88","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"91","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"94","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"97","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"100","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"103","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"106","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"109","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"112","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"115","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"118","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"121","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"124","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"127","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"130","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"133","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"136","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"139","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"142","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"145","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"148","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"151","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"154","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"157","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"160","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"163","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"166","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"169","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"172","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"175","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"178","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"181","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"184","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"187","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"190","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"193","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"196","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"199","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"202","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"205","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"208","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"211","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"214","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"217","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"220","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"223","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"226","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"229","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"232","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"235","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"238","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"241","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"244","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"247","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"250","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"253","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"256","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"259","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"262","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"265","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"268","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"271","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"274","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"277","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"280","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"283","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"286","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"289","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"292","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"295","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"298","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"301","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"304","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"307","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"310","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"313","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"316","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"319","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"322","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"325","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"328","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"331","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"334","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"337","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"340","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"343","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"346","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"349","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"352","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"355","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"358","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"361","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"364","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"367","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"370","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"373","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"376","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"379","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"382","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"385","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"388","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"391","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"394","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"397","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"400","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"403","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"406","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"409","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"412","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"415","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"418","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"421","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"424","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"427","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"430","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"433","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"436","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"439","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"442","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"445","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"448","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"451","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"454","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"457","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"460","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"463","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"466","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"469","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"472","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"475","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"478","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"481","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"484","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"487","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"490","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"493","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"496","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"499","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"502","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"505","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"508","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"511","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"514","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"517","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"520","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"523","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"526","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"529","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"532","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"535","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"538","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"541","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"544","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"547","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"550","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"553","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"556","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"559","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"562","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"565","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"568","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"571","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"574","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"577","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"580","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"583","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"586","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"589","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"592","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"595","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"598","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"601","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"604","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"607","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"610","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"613","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"616","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"619","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"622","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"625","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"628","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"631","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"634","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"637","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"640","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"643","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"646","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"649","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"652","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"655","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"658","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"661","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"664","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"667","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"670","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"673","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"676","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"679","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"682","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"685","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"688","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"691","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"694","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"697","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"700","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"703","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"706","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"709","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"712","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"715","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"718","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"721","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"724","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"727","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"730","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"733","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"736","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"739","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"742","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"745","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"748","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"751","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"754","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"757","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"760","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"763","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"766","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"769","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"772","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"775","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"778","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"781","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"784","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"787","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"790","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"793","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"796","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"799","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"802","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"805","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"808","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"811","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"814","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"817","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"820","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"823","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"826","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"829","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"832","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"835","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"838","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"841","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"844","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"847","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"850","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"853","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"856","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"859","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"862","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"865","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"868","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"871","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"874","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"877","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"880","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"883","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"886","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"889","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"892","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"895","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"898","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"901","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"904","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"907","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"910","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"913","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"916","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"919","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"922","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"925","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"928","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"931","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"934","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"937","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"940","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"943","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"946","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"949","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"952","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"955","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"958","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"961","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"964","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"967","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"970","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"973","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"976","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"979","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"982","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"985","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"988","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"991","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"994","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"997","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1000","objectCategory":"Dog","attributes":""} +OcelObjectAllocated {"objectId":"1","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"4","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"7","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"10","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"13","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"16","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"19","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"22","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"25","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"28","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"31","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"34","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"37","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"40","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"43","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"46","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"49","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"52","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"55","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"58","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"61","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"64","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"67","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"70","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"73","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"76","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"79","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"82","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"85","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"88","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"91","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"94","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"97","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"100","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"103","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"106","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"109","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"112","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"115","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"118","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"121","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"124","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"127","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"130","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"133","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"136","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"139","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"142","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"145","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"148","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"151","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"154","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"157","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"160","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"163","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"166","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"169","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"172","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"175","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"178","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"181","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"184","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"187","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"190","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"193","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"196","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"199","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"202","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"205","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"208","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"211","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"214","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"217","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"220","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"223","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"226","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"229","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"232","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"235","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"238","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"241","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"244","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"247","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"250","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"253","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"256","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"259","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"262","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"265","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"268","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"271","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"274","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"277","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"280","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"283","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"286","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"289","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"292","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"295","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"298","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"301","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"304","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"307","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"310","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"313","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"316","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"319","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"322","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"325","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"328","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"331","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"334","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"337","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"340","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"343","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"346","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"349","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"352","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"355","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"358","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"361","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"364","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"367","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"370","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"373","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"376","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"379","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"382","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"385","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"388","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"391","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"394","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"397","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"400","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"403","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"406","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"409","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"412","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"415","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"418","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"421","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"424","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"427","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"430","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"433","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"436","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"439","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"442","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"445","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"448","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"451","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"454","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"457","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"460","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"463","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"466","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"469","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"472","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"475","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"478","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"481","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"484","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"487","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"490","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"493","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"496","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"499","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"502","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"505","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"508","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"511","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"514","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"517","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"520","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"523","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"526","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"529","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"532","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"535","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"538","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"541","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"544","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"547","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"550","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"553","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"556","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"559","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"562","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"565","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"568","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"571","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"574","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"577","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"580","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"583","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"586","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"589","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"592","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"595","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"598","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"601","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"604","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"607","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"610","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"613","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"616","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"619","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"622","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"625","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"628","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"631","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"634","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"637","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"640","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"643","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"646","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"649","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"652","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"655","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"658","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"661","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"664","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"667","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"670","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"673","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"676","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"679","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"682","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"685","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"688","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"691","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"694","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"697","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"700","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"703","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"706","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"709","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"712","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"715","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"718","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"721","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"724","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"727","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"730","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"733","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"736","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"739","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"742","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"745","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"748","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"751","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"754","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"757","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"760","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"763","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"766","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"769","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"772","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"775","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"778","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"781","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"784","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"787","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"790","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"793","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"796","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"799","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"802","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"805","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"808","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"811","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"814","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"817","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"820","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"823","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"826","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"829","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"832","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"835","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"838","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"841","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"844","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"847","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"850","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"853","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"856","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"859","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"862","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"865","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"868","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"871","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"874","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"877","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"880","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"883","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"886","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"889","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"892","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"895","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"898","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"901","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"904","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"907","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"910","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"913","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"916","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"919","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"922","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"925","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"928","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"931","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"934","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"937","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"940","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"943","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"946","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"949","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"952","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"955","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"958","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"961","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"964","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"967","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"970","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"973","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"976","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"979","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"982","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"985","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"988","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"991","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"994","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"997","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1000","type":"Ocel.Dog","attributes":""} OcelActivityEnd {"activity":"VetClinic"} OcelActivityBegin {"activity":"Playground"} -OcelEvent {"objectId":"1","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"5","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"9","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"13","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"17","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"21","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"25","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"29","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"33","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"37","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"41","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"45","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"49","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"53","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"57","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"61","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"65","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"69","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"73","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"77","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"81","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"85","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"89","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"93","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"97","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"101","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"105","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"109","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"113","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"117","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"121","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"125","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"129","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"133","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"137","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"141","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"145","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"149","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"153","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"157","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"161","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"165","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"169","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"173","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"177","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"181","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"185","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"189","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"193","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"197","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"201","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"205","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"209","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"213","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"217","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"221","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"225","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"229","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"233","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"237","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"241","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"245","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"249","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"253","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"257","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"261","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"265","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"269","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"273","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"277","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"281","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"285","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"289","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"293","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"297","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"301","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"305","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"309","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"313","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"317","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"321","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"325","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"329","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"333","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"337","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"341","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"345","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"349","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"353","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"357","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"361","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"365","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"369","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"373","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"377","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"381","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"385","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"389","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"393","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"397","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"401","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"405","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"409","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"413","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"417","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"421","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"425","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"429","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"433","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"437","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"441","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"445","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"449","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"453","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"457","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"461","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"465","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"469","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"473","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"477","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"481","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"485","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"489","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"493","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"497","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"501","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"505","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"509","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"513","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"517","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"521","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"525","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"529","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"533","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"537","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"541","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"545","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"549","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"553","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"557","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"561","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"565","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"569","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"573","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"577","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"581","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"585","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"589","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"593","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"597","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"601","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"605","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"609","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"613","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"617","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"621","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"625","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"629","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"633","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"637","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"641","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"645","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"649","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"653","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"657","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"661","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"665","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"669","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"673","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"677","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"681","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"685","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"689","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"693","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"697","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"701","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"705","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"709","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"713","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"717","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"721","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"725","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"729","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"733","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"737","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"741","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"745","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"749","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"753","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"757","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"761","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"765","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"769","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"773","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"777","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"781","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"785","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"789","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"793","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"797","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"801","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"805","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"809","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"813","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"817","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"821","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"825","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"829","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"833","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"837","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"841","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"845","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"849","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"853","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"857","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"861","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"865","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"869","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"873","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"877","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"881","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"885","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"889","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"893","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"897","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"901","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"905","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"909","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"913","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"917","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"921","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"925","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"929","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"933","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"937","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"941","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"945","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"949","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"953","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"957","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"961","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"965","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"969","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"973","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"977","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"981","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"985","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"989","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"993","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"997","objectCategory":"Dog","attributes":""} +OcelObjectAllocated {"objectId":"1","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"5","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"9","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"13","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"17","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"21","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"25","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"29","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"33","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"37","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"41","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"45","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"49","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"53","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"57","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"61","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"65","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"69","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"73","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"77","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"81","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"85","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"89","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"93","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"97","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"101","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"105","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"109","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"113","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"117","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"121","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"125","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"129","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"133","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"137","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"141","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"145","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"149","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"153","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"157","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"161","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"165","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"169","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"173","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"177","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"181","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"185","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"189","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"193","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"197","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"201","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"205","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"209","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"213","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"217","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"221","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"225","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"229","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"233","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"237","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"241","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"245","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"249","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"253","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"257","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"261","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"265","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"269","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"273","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"277","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"281","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"285","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"289","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"293","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"297","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"301","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"305","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"309","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"313","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"317","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"321","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"325","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"329","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"333","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"337","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"341","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"345","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"349","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"353","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"357","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"361","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"365","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"369","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"373","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"377","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"381","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"385","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"389","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"393","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"397","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"401","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"405","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"409","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"413","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"417","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"421","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"425","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"429","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"433","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"437","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"441","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"445","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"449","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"453","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"457","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"461","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"465","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"469","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"473","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"477","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"481","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"485","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"489","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"493","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"497","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"501","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"505","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"509","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"513","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"517","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"521","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"525","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"529","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"533","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"537","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"541","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"545","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"549","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"553","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"557","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"561","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"565","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"569","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"573","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"577","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"581","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"585","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"589","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"593","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"597","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"601","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"605","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"609","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"613","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"617","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"621","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"625","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"629","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"633","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"637","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"641","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"645","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"649","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"653","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"657","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"661","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"665","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"669","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"673","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"677","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"681","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"685","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"689","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"693","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"697","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"701","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"705","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"709","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"713","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"717","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"721","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"725","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"729","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"733","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"737","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"741","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"745","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"749","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"753","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"757","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"761","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"765","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"769","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"773","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"777","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"781","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"785","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"789","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"793","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"797","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"801","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"805","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"809","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"813","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"817","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"821","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"825","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"829","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"833","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"837","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"841","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"845","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"849","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"853","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"857","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"861","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"865","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"869","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"873","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"877","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"881","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"885","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"889","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"893","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"897","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"901","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"905","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"909","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"913","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"917","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"921","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"925","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"929","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"933","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"937","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"941","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"945","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"949","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"953","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"957","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"961","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"965","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"969","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"973","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"977","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"981","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"985","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"989","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"993","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"997","type":"Ocel.Dog","attributes":""} OcelActivityEnd {"activity":"Playground"} OcelActivityBegin {"activity":"Cleaning"} -OcelEvent {"objectId":"1","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"6","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"11","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"16","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"21","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"26","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"31","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"36","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"41","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"46","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"51","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"56","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"61","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"66","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"71","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"76","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"81","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"86","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"91","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"96","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"101","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"106","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"111","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"116","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"121","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"126","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"131","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"136","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"141","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"146","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"151","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"156","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"161","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"166","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"171","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"176","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"181","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"186","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"191","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"196","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"201","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"206","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"211","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"216","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"221","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"226","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"231","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"236","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"241","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"246","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"251","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"256","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"261","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"266","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"271","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"276","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"281","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"286","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"291","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"296","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"301","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"306","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"311","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"316","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"321","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"326","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"331","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"336","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"341","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"346","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"351","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"356","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"361","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"366","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"371","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"376","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"381","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"386","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"391","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"396","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"401","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"406","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"411","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"416","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"421","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"426","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"431","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"436","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"441","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"446","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"451","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"456","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"461","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"466","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"471","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"476","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"481","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"486","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"491","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"496","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"501","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"506","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"511","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"516","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"521","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"526","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"531","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"536","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"541","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"546","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"551","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"556","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"561","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"566","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"571","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"576","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"581","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"586","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"591","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"596","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"601","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"606","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"611","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"616","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"621","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"626","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"631","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"636","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"641","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"646","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"651","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"656","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"661","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"666","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"671","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"676","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"681","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"686","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"691","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"696","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"701","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"706","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"711","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"716","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"721","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"726","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"731","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"736","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"741","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"746","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"751","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"756","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"761","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"766","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"771","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"776","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"781","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"786","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"791","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"796","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"801","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"806","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"811","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"816","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"821","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"826","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"831","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"836","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"841","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"846","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"851","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"856","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"861","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"866","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"871","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"876","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"881","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"886","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"891","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"896","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"901","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"906","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"911","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"916","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"921","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"926","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"931","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"936","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"941","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"946","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"951","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"956","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"961","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"966","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"971","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"976","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"981","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"986","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"991","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"996","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"6","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"11","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"16","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"21","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"26","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"31","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"36","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"41","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"46","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"51","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"56","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"61","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"66","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"71","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"76","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"81","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"86","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"91","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"96","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"101","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"106","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"111","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"116","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"121","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"126","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"131","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"136","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"141","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"146","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"151","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"156","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"161","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"166","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"171","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"176","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"181","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"186","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"191","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"196","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"201","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"206","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"211","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"216","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"221","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"226","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"231","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"236","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"241","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"246","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"251","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"256","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"261","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"266","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"271","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"276","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"281","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"286","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"291","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"296","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"301","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"306","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"311","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"316","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"321","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"326","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"331","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"336","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"341","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"346","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"351","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"356","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"361","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"366","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"371","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"376","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"381","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"386","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"391","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"396","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"401","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"406","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"411","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"416","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"421","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"426","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"431","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"436","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"441","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"446","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"451","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"456","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"461","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"466","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"471","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"476","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"481","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"486","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"491","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"496","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"501","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"506","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"511","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"516","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"521","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"526","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"531","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"536","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"541","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"546","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"551","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"556","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"561","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"566","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"571","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"576","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"581","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"586","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"591","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"596","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"601","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"606","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"611","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"616","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"621","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"626","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"631","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"636","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"641","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"646","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"651","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"656","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"661","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"666","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"671","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"676","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"681","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"686","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"691","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"696","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"701","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"706","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"711","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"716","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"721","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"726","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"731","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"736","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"741","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"746","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"751","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"756","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"761","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"766","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"771","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"776","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"781","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"786","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"791","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"796","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"801","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"806","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"811","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"816","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"821","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"826","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"831","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"836","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"841","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"846","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"851","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"856","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"861","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"866","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"871","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"876","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"881","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"886","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"891","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"896","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"901","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"906","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"911","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"916","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"921","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"926","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"931","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"936","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"941","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"946","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"951","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"956","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"961","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"966","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"971","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"976","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"981","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"986","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"991","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"996","type":"Ocel.Sheep","attributes":""} OcelActivityEnd {"activity":"Cleaning"} OcelActivityBegin {"activity":"Farm"} -OcelEvent {"objectId":"1","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"7","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"13","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"19","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"25","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"31","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"37","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"43","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"49","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"55","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"61","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"67","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"73","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"79","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"85","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"91","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"97","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"103","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"109","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"115","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"121","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"127","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"133","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"139","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"145","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"151","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"157","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"163","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"169","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"175","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"181","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"187","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"193","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"199","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"205","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"211","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"217","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"223","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"229","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"235","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"241","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"247","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"253","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"259","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"265","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"271","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"277","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"283","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"289","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"295","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"301","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"307","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"313","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"319","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"325","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"331","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"337","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"343","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"349","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"355","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"361","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"367","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"373","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"379","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"385","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"391","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"397","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"403","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"409","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"415","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"421","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"427","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"433","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"439","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"445","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"451","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"457","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"463","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"469","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"475","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"481","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"487","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"493","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"499","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"505","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"511","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"517","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"523","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"529","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"535","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"541","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"547","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"553","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"559","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"565","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"571","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"577","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"583","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"589","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"595","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"601","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"607","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"613","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"619","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"625","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"631","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"637","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"643","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"649","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"655","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"661","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"667","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"673","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"679","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"685","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"691","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"697","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"703","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"709","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"715","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"721","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"727","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"733","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"739","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"745","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"751","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"757","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"763","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"769","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"775","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"781","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"787","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"793","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"799","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"805","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"811","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"817","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"823","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"829","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"835","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"841","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"847","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"853","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"859","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"865","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"871","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"877","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"883","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"889","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"895","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"901","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"907","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"913","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"919","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"925","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"931","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"937","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"943","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"949","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"955","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"961","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"967","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"973","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"979","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"985","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"991","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"997","objectCategory":"Dog","attributes":""} +OcelObjectAllocated {"objectId":"1","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"7","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"13","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"19","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"25","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"31","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"37","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"43","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"49","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"55","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"61","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"67","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"73","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"79","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"85","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"91","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"97","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"103","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"109","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"115","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"121","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"127","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"133","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"139","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"145","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"151","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"157","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"163","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"169","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"175","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"181","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"187","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"193","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"199","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"205","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"211","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"217","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"223","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"229","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"235","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"241","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"247","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"253","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"259","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"265","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"271","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"277","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"283","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"289","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"295","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"301","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"307","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"313","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"319","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"325","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"331","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"337","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"343","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"349","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"355","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"361","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"367","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"373","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"379","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"385","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"391","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"397","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"403","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"409","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"415","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"421","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"427","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"433","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"439","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"445","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"451","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"457","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"463","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"469","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"475","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"481","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"487","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"493","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"499","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"505","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"511","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"517","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"523","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"529","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"535","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"541","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"547","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"553","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"559","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"565","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"571","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"577","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"583","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"589","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"595","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"601","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"607","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"613","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"619","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"625","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"631","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"637","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"643","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"649","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"655","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"661","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"667","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"673","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"679","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"685","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"691","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"697","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"703","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"709","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"715","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"721","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"727","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"733","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"739","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"745","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"751","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"757","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"763","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"769","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"775","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"781","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"787","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"793","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"799","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"805","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"811","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"817","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"823","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"829","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"835","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"841","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"847","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"853","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"859","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"865","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"871","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"877","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"883","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"889","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"895","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"901","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"907","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"913","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"919","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"925","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"931","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"937","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"943","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"949","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"955","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"961","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"967","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"973","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"979","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"985","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"991","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"997","type":"Ocel.Dog","attributes":""} OcelActivityEnd {"activity":"Farm"} \ No newline at end of file diff --git a/Procfiler/test_data/gold/windows/OcelEventsTest/SimpleTest.gold b/Procfiler/test_data/gold/windows/OcelEventsTest/SimpleTest.gold index c861ab42d..586484719 100644 --- a/Procfiler/test_data/gold/windows/OcelEventsTest/SimpleTest.gold +++ b/Procfiler/test_data/gold/windows/OcelEventsTest/SimpleTest.gold @@ -1,3797 +1,3797 @@ OcelActivityBegin {"activity":"Initializing"} OcelGloballyAttachedEvent {"objectId":"1","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"1","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"2","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"3","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"1","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"2","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"3","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"4","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"4","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"5","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"6","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"4","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"5","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"6","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"7","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"7","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"8","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"9","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"7","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"8","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"9","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"10","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"10","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"11","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"12","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"10","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"11","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"12","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"13","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"13","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"14","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"15","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"13","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"14","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"15","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"16","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"16","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"17","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"18","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"16","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"17","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"18","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"19","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"19","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"20","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"21","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"19","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"20","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"21","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"22","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"22","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"23","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"24","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"22","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"23","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"24","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"25","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"25","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"26","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"27","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"25","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"26","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"27","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"28","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"28","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"29","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"30","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"28","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"29","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"30","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"31","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"31","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"32","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"33","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"31","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"32","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"33","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"34","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"34","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"35","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"36","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"34","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"35","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"36","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"37","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"37","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"38","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"39","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"37","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"38","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"39","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"40","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"40","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"41","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"42","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"40","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"41","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"42","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"43","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"43","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"44","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"45","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"43","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"44","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"45","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"46","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"46","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"47","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"48","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"46","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"47","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"48","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"49","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"49","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"50","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"51","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"49","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"50","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"51","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"52","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"52","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"53","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"54","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"52","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"53","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"54","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"55","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"55","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"56","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"57","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"55","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"56","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"57","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"58","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"58","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"59","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"60","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"58","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"59","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"60","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"61","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"61","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"62","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"63","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"61","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"62","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"63","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"64","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"64","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"65","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"66","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"64","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"65","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"66","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"67","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"67","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"68","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"69","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"67","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"68","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"69","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"70","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"70","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"71","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"72","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"70","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"71","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"72","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"73","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"73","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"74","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"75","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"73","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"74","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"75","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"76","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"76","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"77","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"78","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"76","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"77","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"78","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"79","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"79","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"80","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"81","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"79","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"80","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"81","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"82","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"82","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"83","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"84","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"82","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"83","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"84","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"85","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"85","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"86","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"87","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"85","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"86","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"87","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"88","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"88","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"89","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"90","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"88","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"89","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"90","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"91","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"91","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"92","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"93","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"91","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"92","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"93","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"94","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"94","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"95","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"96","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"94","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"95","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"96","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"97","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"97","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"98","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"99","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"97","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"98","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"99","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"100","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"100","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"101","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"102","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"100","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"101","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"102","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"103","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"103","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"104","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"105","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"103","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"104","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"105","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"106","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"106","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"107","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"108","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"106","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"107","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"108","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"109","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"109","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"110","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"111","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"109","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"110","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"111","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"112","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"112","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"113","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"114","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"112","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"113","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"114","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"115","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"115","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"116","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"117","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"115","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"116","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"117","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"118","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"118","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"119","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"120","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"118","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"119","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"120","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"121","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"121","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"122","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"123","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"121","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"122","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"123","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"124","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"124","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"125","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"126","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"124","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"125","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"126","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"127","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"127","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"128","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"129","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"127","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"128","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"129","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"130","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"130","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"131","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"132","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"130","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"131","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"132","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"133","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"133","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"134","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"135","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"133","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"134","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"135","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"136","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"136","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"137","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"138","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"136","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"137","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"138","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"139","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"139","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"140","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"141","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"139","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"140","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"141","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"142","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"142","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"143","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"144","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"142","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"143","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"144","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"145","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"145","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"146","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"147","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"145","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"146","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"147","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"148","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"148","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"149","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"150","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"148","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"149","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"150","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"151","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"151","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"152","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"153","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"151","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"152","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"153","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"154","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"154","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"155","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"156","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"154","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"155","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"156","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"157","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"157","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"158","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"159","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"157","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"158","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"159","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"160","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"160","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"161","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"162","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"160","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"161","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"162","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"163","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"163","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"164","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"165","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"163","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"164","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"165","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"166","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"166","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"167","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"168","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"166","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"167","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"168","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"169","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"169","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"170","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"171","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"169","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"170","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"171","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"172","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"172","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"173","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"174","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"172","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"173","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"174","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"175","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"175","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"176","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"177","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"175","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"176","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"177","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"178","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"178","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"179","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"180","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"178","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"179","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"180","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"181","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"181","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"182","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"183","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"181","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"182","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"183","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"184","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"184","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"185","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"186","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"184","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"185","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"186","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"187","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"187","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"188","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"189","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"187","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"188","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"189","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"190","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"190","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"191","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"192","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"190","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"191","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"192","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"193","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"193","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"194","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"195","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"193","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"194","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"195","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"196","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"196","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"197","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"198","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"196","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"197","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"198","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"199","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"199","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"200","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"201","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"199","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"200","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"201","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"202","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"202","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"203","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"204","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"202","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"203","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"204","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"205","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"205","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"206","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"207","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"205","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"206","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"207","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"208","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"208","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"209","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"210","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"208","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"209","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"210","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"211","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"211","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"212","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"213","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"211","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"212","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"213","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"214","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"214","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"215","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"216","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"214","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"215","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"216","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"217","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"217","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"218","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"219","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"217","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"218","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"219","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"220","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"220","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"221","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"222","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"220","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"221","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"222","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"223","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"223","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"224","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"225","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"223","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"224","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"225","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"226","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"226","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"227","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"228","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"226","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"227","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"228","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"229","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"229","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"230","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"231","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"229","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"230","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"231","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"232","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"232","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"233","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"234","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"232","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"233","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"234","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"235","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"235","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"236","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"237","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"235","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"236","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"237","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"238","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"238","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"239","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"240","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"238","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"239","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"240","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"241","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"241","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"242","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"243","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"241","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"242","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"243","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"244","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"244","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"245","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"246","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"244","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"245","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"246","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"247","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"247","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"248","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"249","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"247","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"248","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"249","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"250","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"250","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"251","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"252","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"250","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"251","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"252","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"253","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"253","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"254","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"255","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"253","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"254","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"255","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"256","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"256","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"257","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"258","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"256","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"257","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"258","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"259","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"259","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"260","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"261","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"259","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"260","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"261","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"262","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"262","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"263","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"264","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"262","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"263","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"264","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"265","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"265","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"266","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"267","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"265","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"266","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"267","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"268","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"268","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"269","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"270","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"268","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"269","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"270","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"271","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"271","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"272","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"273","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"271","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"272","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"273","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"274","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"274","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"275","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"276","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"274","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"275","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"276","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"277","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"277","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"278","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"279","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"277","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"278","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"279","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"280","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"280","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"281","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"282","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"280","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"281","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"282","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"283","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"283","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"284","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"285","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"283","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"284","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"285","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"286","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"286","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"287","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"288","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"286","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"287","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"288","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"289","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"289","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"290","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"291","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"289","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"290","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"291","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"292","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"292","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"293","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"294","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"292","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"293","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"294","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"295","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"295","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"296","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"297","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"295","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"296","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"297","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"298","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"298","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"299","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"300","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"298","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"299","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"300","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"301","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"301","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"302","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"303","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"301","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"302","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"303","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"304","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"304","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"305","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"306","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"304","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"305","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"306","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"307","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"307","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"308","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"309","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"307","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"308","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"309","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"310","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"310","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"311","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"312","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"310","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"311","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"312","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"313","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"313","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"314","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"315","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"313","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"314","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"315","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"316","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"316","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"317","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"318","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"316","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"317","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"318","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"319","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"319","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"320","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"321","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"319","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"320","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"321","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"322","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"322","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"323","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"324","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"322","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"323","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"324","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"325","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"325","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"326","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"327","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"325","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"326","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"327","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"328","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"328","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"329","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"330","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"328","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"329","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"330","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"331","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"331","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"332","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"333","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"331","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"332","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"333","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"334","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"334","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"335","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"336","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"334","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"335","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"336","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"337","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"337","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"338","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"339","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"337","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"338","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"339","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"340","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"340","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"341","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"342","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"340","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"341","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"342","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"343","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"343","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"344","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"345","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"343","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"344","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"345","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"346","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"346","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"347","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"348","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"346","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"347","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"348","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"349","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"349","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"350","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"351","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"349","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"350","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"351","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"352","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"352","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"353","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"354","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"352","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"353","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"354","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"355","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"355","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"356","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"357","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"355","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"356","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"357","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"358","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"358","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"359","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"360","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"358","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"359","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"360","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"361","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"361","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"362","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"363","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"361","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"362","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"363","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"364","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"364","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"365","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"366","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"364","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"365","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"366","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"367","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"367","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"368","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"369","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"367","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"368","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"369","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"370","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"370","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"371","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"372","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"370","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"371","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"372","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"373","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"373","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"374","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"375","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"373","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"374","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"375","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"376","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"376","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"377","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"378","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"376","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"377","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"378","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"379","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"379","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"380","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"381","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"379","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"380","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"381","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"382","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"382","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"383","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"384","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"382","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"383","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"384","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"385","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"385","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"386","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"387","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"385","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"386","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"387","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"388","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"388","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"389","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"390","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"388","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"389","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"390","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"391","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"391","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"392","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"393","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"391","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"392","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"393","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"394","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"394","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"395","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"396","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"394","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"395","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"396","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"397","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"397","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"398","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"399","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"397","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"398","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"399","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"400","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"400","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"401","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"402","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"400","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"401","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"402","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"403","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"403","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"404","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"405","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"403","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"404","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"405","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"406","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"406","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"407","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"408","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"406","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"407","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"408","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"409","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"409","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"410","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"411","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"409","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"410","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"411","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"412","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"412","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"413","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"414","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"412","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"413","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"414","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"415","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"415","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"416","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"417","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"415","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"416","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"417","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"418","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"418","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"419","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"420","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"418","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"419","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"420","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"421","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"421","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"422","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"423","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"421","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"422","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"423","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"424","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"424","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"425","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"426","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"424","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"425","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"426","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"427","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"427","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"428","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"429","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"427","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"428","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"429","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"430","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"430","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"431","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"432","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"430","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"431","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"432","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"433","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"433","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"434","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"435","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"433","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"434","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"435","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"436","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"436","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"437","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"438","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"436","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"437","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"438","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"439","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"439","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"440","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"441","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"439","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"440","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"441","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"442","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"442","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"443","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"444","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"442","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"443","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"444","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"445","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"445","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"446","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"447","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"445","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"446","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"447","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"448","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"448","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"449","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"450","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"448","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"449","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"450","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"451","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"451","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"452","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"453","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"451","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"452","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"453","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"454","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"454","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"455","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"456","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"454","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"455","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"456","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"457","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"457","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"458","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"459","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"457","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"458","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"459","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"460","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"460","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"461","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"462","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"460","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"461","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"462","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"463","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"463","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"464","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"465","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"463","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"464","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"465","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"466","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"466","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"467","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"468","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"466","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"467","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"468","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"469","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"469","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"470","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"471","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"469","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"470","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"471","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"472","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"472","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"473","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"474","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"472","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"473","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"474","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"475","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"475","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"476","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"477","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"475","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"476","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"477","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"478","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"478","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"479","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"480","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"478","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"479","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"480","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"481","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"481","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"482","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"483","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"481","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"482","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"483","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"484","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"484","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"485","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"486","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"484","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"485","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"486","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"487","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"487","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"488","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"489","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"487","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"488","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"489","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"490","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"490","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"491","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"492","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"490","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"491","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"492","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"493","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"493","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"494","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"495","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"493","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"494","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"495","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"496","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"496","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"497","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"498","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"496","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"497","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"498","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"499","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"499","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"500","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"501","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"499","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"500","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"501","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"502","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"502","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"503","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"504","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"502","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"503","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"504","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"505","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"505","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"506","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"507","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"505","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"506","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"507","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"508","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"508","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"509","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"510","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"508","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"509","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"510","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"511","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"511","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"512","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"513","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"511","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"512","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"513","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"514","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"514","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"515","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"516","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"514","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"515","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"516","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"517","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"517","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"518","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"519","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"517","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"518","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"519","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"520","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"520","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"521","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"522","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"520","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"521","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"522","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"523","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"523","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"524","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"525","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"523","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"524","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"525","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"526","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"526","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"527","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"528","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"526","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"527","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"528","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"529","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"529","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"530","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"531","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"529","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"530","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"531","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"532","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"532","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"533","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"534","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"532","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"533","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"534","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"535","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"535","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"536","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"537","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"535","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"536","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"537","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"538","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"538","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"539","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"540","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"538","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"539","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"540","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"541","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"541","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"542","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"543","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"541","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"542","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"543","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"544","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"544","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"545","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"546","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"544","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"545","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"546","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"547","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"547","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"548","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"549","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"547","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"548","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"549","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"550","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"550","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"551","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"552","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"550","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"551","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"552","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"553","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"553","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"554","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"555","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"553","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"554","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"555","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"556","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"556","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"557","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"558","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"556","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"557","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"558","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"559","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"559","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"560","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"561","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"559","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"560","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"561","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"562","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"562","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"563","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"564","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"562","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"563","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"564","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"565","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"565","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"566","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"567","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"565","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"566","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"567","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"568","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"568","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"569","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"570","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"568","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"569","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"570","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"571","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"571","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"572","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"573","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"571","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"572","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"573","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"574","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"574","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"575","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"576","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"574","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"575","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"576","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"577","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"577","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"578","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"579","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"577","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"578","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"579","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"580","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"580","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"581","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"582","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"580","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"581","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"582","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"583","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"583","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"584","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"585","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"583","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"584","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"585","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"586","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"586","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"587","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"588","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"586","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"587","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"588","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"589","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"589","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"590","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"591","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"589","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"590","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"591","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"592","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"592","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"593","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"594","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"592","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"593","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"594","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"595","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"595","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"596","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"597","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"595","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"596","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"597","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"598","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"598","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"599","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"600","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"598","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"599","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"600","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"601","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"601","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"602","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"603","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"601","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"602","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"603","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"604","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"604","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"605","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"606","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"604","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"605","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"606","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"607","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"607","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"608","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"609","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"607","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"608","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"609","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"610","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"610","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"611","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"612","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"610","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"611","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"612","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"613","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"613","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"614","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"615","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"613","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"614","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"615","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"616","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"616","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"617","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"618","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"616","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"617","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"618","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"619","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"619","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"620","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"621","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"619","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"620","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"621","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"622","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"622","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"623","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"624","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"622","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"623","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"624","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"625","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"625","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"626","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"627","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"625","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"626","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"627","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"628","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"628","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"629","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"630","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"628","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"629","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"630","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"631","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"631","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"632","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"633","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"631","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"632","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"633","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"634","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"634","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"635","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"636","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"634","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"635","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"636","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"637","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"637","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"638","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"639","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"637","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"638","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"639","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"640","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"640","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"641","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"642","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"640","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"641","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"642","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"643","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"643","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"644","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"645","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"643","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"644","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"645","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"646","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"646","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"647","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"648","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"646","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"647","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"648","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"649","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"649","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"650","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"651","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"649","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"650","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"651","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"652","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"652","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"653","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"654","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"652","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"653","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"654","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"655","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"655","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"656","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"657","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"655","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"656","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"657","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"658","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"658","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"659","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"660","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"658","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"659","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"660","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"661","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"661","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"662","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"663","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"661","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"662","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"663","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"664","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"664","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"665","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"666","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"664","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"665","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"666","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"667","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"667","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"668","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"669","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"667","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"668","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"669","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"670","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"670","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"671","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"672","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"670","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"671","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"672","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"673","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"673","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"674","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"675","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"673","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"674","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"675","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"676","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"676","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"677","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"678","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"676","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"677","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"678","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"679","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"679","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"680","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"681","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"679","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"680","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"681","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"682","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"682","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"683","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"684","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"682","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"683","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"684","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"685","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"685","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"686","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"687","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"685","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"686","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"687","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"688","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"688","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"689","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"690","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"688","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"689","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"690","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"691","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"691","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"692","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"693","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"691","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"692","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"693","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"694","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"694","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"695","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"696","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"694","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"695","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"696","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"697","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"697","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"698","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"699","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"697","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"698","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"699","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"700","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"700","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"701","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"702","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"700","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"701","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"702","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"703","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"703","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"704","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"705","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"703","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"704","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"705","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"706","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"706","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"707","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"708","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"706","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"707","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"708","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"709","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"709","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"710","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"711","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"709","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"710","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"711","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"712","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"712","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"713","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"714","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"712","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"713","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"714","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"715","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"715","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"716","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"717","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"715","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"716","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"717","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"718","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"718","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"719","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"720","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"718","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"719","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"720","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"721","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"721","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"722","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"723","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"721","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"722","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"723","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"724","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"724","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"725","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"726","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"724","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"725","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"726","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"727","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"727","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"728","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"729","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"727","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"728","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"729","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"730","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"730","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"731","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"732","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"730","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"731","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"732","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"733","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"733","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"734","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"735","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"733","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"734","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"735","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"736","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"736","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"737","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"738","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"736","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"737","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"738","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"739","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"739","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"740","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"741","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"739","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"740","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"741","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"742","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"742","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"743","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"744","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"742","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"743","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"744","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"745","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"745","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"746","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"747","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"745","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"746","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"747","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"748","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"748","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"749","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"750","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"748","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"749","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"750","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"751","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"751","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"752","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"753","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"751","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"752","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"753","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"754","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"754","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"755","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"756","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"754","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"755","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"756","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"757","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"757","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"758","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"759","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"757","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"758","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"759","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"760","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"760","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"761","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"762","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"760","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"761","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"762","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"763","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"763","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"764","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"765","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"763","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"764","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"765","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"766","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"766","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"767","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"768","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"766","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"767","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"768","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"769","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"769","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"770","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"771","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"769","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"770","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"771","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"772","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"772","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"773","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"774","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"772","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"773","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"774","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"775","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"775","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"776","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"777","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"775","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"776","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"777","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"778","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"778","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"779","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"780","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"778","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"779","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"780","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"781","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"781","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"782","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"783","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"781","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"782","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"783","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"784","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"784","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"785","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"786","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"784","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"785","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"786","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"787","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"787","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"788","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"789","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"787","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"788","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"789","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"790","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"790","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"791","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"792","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"790","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"791","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"792","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"793","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"793","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"794","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"795","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"793","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"794","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"795","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"796","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"796","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"797","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"798","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"796","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"797","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"798","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"799","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"799","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"800","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"801","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"799","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"800","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"801","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"802","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"802","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"803","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"804","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"802","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"803","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"804","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"805","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"805","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"806","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"807","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"805","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"806","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"807","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"808","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"808","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"809","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"810","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"808","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"809","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"810","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"811","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"811","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"812","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"813","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"811","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"812","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"813","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"814","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"814","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"815","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"816","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"814","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"815","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"816","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"817","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"817","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"818","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"819","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"817","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"818","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"819","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"820","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"820","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"821","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"822","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"820","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"821","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"822","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"823","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"823","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"824","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"825","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"823","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"824","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"825","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"826","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"826","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"827","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"828","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"826","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"827","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"828","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"829","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"829","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"830","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"831","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"829","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"830","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"831","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"832","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"832","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"833","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"834","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"832","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"833","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"834","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"835","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"835","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"836","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"837","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"835","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"836","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"837","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"838","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"838","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"839","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"840","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"838","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"839","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"840","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"841","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"841","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"842","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"843","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"841","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"842","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"843","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"844","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"844","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"845","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"846","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"844","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"845","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"846","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"847","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"847","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"848","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"849","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"847","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"848","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"849","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"850","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"850","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"851","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"852","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"850","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"851","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"852","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"853","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"853","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"854","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"855","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"853","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"854","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"855","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"856","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"856","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"857","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"858","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"856","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"857","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"858","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"859","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"859","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"860","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"861","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"859","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"860","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"861","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"862","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"862","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"863","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"864","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"862","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"863","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"864","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"865","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"865","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"866","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"867","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"865","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"866","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"867","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"868","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"868","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"869","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"870","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"868","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"869","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"870","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"871","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"871","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"872","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"873","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"871","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"872","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"873","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"874","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"874","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"875","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"876","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"874","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"875","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"876","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"877","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"877","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"878","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"879","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"877","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"878","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"879","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"880","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"880","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"881","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"882","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"880","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"881","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"882","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"883","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"883","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"884","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"885","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"883","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"884","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"885","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"886","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"886","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"887","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"888","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"886","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"887","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"888","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"889","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"889","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"890","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"891","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"889","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"890","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"891","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"892","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"892","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"893","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"894","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"892","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"893","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"894","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"895","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"895","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"896","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"897","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"895","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"896","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"897","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"898","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"898","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"899","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"900","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"898","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"899","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"900","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"901","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"901","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"902","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"903","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"901","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"902","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"903","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"904","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"904","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"905","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"906","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"904","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"905","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"906","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"907","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"907","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"908","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"909","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"907","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"908","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"909","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"910","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"910","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"911","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"912","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"910","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"911","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"912","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"913","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"913","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"914","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"915","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"913","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"914","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"915","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"916","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"916","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"917","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"918","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"916","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"917","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"918","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"919","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"919","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"920","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"921","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"919","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"920","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"921","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"922","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"922","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"923","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"924","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"922","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"923","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"924","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"925","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"925","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"926","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"927","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"925","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"926","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"927","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"928","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"928","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"929","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"930","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"928","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"929","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"930","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"931","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"931","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"932","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"933","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"931","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"932","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"933","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"934","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"934","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"935","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"936","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"934","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"935","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"936","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"937","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"937","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"938","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"939","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"937","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"938","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"939","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"940","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"940","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"941","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"942","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"940","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"941","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"942","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"943","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"943","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"944","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"945","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"943","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"944","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"945","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"946","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"946","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"947","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"948","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"946","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"947","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"948","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"949","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"949","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"950","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"951","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"949","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"950","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"951","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"952","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"952","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"953","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"954","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"952","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"953","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"954","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"955","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"955","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"956","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"957","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"955","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"956","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"957","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"958","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"958","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"959","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"960","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"958","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"959","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"960","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"961","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"961","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"962","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"963","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"961","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"962","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"963","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"964","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"964","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"965","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"966","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"964","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"965","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"966","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"967","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"967","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"968","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"969","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"967","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"968","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"969","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"970","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"970","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"971","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"972","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"970","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"971","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"972","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"973","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"973","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"974","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"975","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"973","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"974","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"975","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"976","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"976","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"977","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"978","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"976","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"977","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"978","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"979","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"979","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"980","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"981","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"979","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"980","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"981","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"982","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"982","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"983","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"984","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"982","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"983","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"984","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"985","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"985","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"986","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"987","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"985","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"986","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"987","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"988","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"988","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"989","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"990","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"988","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"989","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"990","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"991","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"991","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"992","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"993","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"991","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"992","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"993","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"994","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"994","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"995","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"996","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"994","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"995","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"996","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"997","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"997","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"998","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"999","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"997","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"998","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"999","type":"Ocel.Sheep","attributes":""} OcelGloballyAttachedEvent {"objectId":"1000","activity":"GlobalInitializing","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1234","objectCategory":"test","attributes":""} -OcelEvent {"objectId":"1000","objectCategory":"Dog","attributes":""} +OcelObjectAllocated {"objectId":"1234","type":"test","attributes":""} +OcelObjectAllocated {"objectId":"1000","type":"Ocel.Dog","attributes":""} OcelActivityEnd {"activity":"Initializing"} OcelActivityBegin {"activity":"Cleaning"} -OcelEvent {"objectId":"1","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"3","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"5","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"7","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"9","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"11","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"13","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"15","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"17","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"19","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"21","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"23","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"25","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"27","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"29","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"31","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"33","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"35","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"37","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"39","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"41","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"43","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"45","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"47","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"49","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"51","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"53","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"55","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"57","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"59","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"61","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"63","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"65","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"67","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"69","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"71","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"73","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"75","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"77","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"79","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"81","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"83","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"85","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"87","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"89","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"91","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"93","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"95","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"97","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"99","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"101","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"103","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"105","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"107","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"109","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"111","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"113","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"115","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"117","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"119","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"121","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"123","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"125","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"127","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"129","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"131","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"133","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"135","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"137","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"139","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"141","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"143","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"145","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"147","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"149","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"151","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"153","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"155","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"157","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"159","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"161","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"163","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"165","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"167","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"169","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"171","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"173","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"175","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"177","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"179","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"181","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"183","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"185","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"187","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"189","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"191","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"193","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"195","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"197","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"199","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"201","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"203","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"205","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"207","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"209","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"211","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"213","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"215","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"217","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"219","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"221","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"223","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"225","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"227","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"229","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"231","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"233","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"235","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"237","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"239","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"241","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"243","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"245","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"247","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"249","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"251","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"253","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"255","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"257","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"259","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"261","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"263","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"265","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"267","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"269","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"271","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"273","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"275","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"277","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"279","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"281","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"283","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"285","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"287","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"289","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"291","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"293","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"295","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"297","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"299","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"301","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"303","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"305","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"307","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"309","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"311","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"313","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"315","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"317","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"319","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"321","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"323","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"325","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"327","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"329","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"331","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"333","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"335","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"337","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"339","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"341","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"343","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"345","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"347","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"349","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"351","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"353","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"355","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"357","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"359","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"361","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"363","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"365","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"367","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"369","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"371","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"373","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"375","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"377","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"379","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"381","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"383","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"385","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"387","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"389","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"391","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"393","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"395","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"397","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"399","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"401","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"403","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"405","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"407","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"409","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"411","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"413","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"415","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"417","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"419","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"421","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"423","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"425","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"427","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"429","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"431","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"433","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"435","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"437","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"439","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"441","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"443","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"445","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"447","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"449","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"451","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"453","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"455","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"457","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"459","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"461","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"463","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"465","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"467","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"469","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"471","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"473","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"475","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"477","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"479","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"481","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"483","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"485","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"487","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"489","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"491","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"493","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"495","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"497","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"499","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"501","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"503","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"505","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"507","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"509","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"511","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"513","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"515","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"517","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"519","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"521","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"523","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"525","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"527","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"529","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"531","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"533","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"535","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"537","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"539","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"541","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"543","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"545","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"547","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"549","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"551","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"553","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"555","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"557","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"559","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"561","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"563","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"565","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"567","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"569","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"571","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"573","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"575","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"577","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"579","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"581","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"583","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"585","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"587","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"589","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"591","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"593","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"595","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"597","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"599","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"601","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"603","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"605","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"607","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"609","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"611","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"613","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"615","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"617","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"619","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"621","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"623","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"625","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"627","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"629","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"631","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"633","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"635","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"637","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"639","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"641","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"643","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"645","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"647","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"649","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"651","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"653","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"655","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"657","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"659","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"661","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"663","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"665","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"667","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"669","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"671","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"673","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"675","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"677","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"679","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"681","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"683","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"685","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"687","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"689","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"691","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"693","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"695","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"697","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"699","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"701","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"703","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"705","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"707","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"709","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"711","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"713","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"715","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"717","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"719","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"721","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"723","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"725","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"727","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"729","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"731","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"733","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"735","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"737","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"739","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"741","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"743","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"745","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"747","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"749","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"751","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"753","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"755","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"757","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"759","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"761","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"763","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"765","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"767","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"769","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"771","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"773","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"775","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"777","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"779","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"781","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"783","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"785","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"787","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"789","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"791","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"793","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"795","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"797","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"799","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"801","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"803","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"805","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"807","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"809","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"811","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"813","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"815","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"817","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"819","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"821","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"823","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"825","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"827","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"829","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"831","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"833","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"835","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"837","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"839","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"841","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"843","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"845","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"847","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"849","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"851","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"853","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"855","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"857","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"859","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"861","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"863","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"865","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"867","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"869","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"871","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"873","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"875","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"877","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"879","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"881","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"883","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"885","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"887","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"889","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"891","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"893","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"895","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"897","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"899","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"901","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"903","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"905","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"907","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"909","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"911","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"913","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"915","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"917","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"919","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"921","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"923","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"925","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"927","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"929","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"931","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"933","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"935","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"937","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"939","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"941","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"943","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"945","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"947","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"949","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"951","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"953","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"955","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"957","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"959","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"961","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"963","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"965","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"967","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"969","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"971","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"973","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"975","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"977","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"979","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"981","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"983","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"985","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"987","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"989","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"991","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"993","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"995","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"997","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"999","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"3","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"5","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"7","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"9","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"11","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"13","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"15","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"17","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"19","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"21","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"23","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"25","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"27","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"29","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"31","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"33","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"35","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"37","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"39","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"41","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"43","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"45","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"47","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"49","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"51","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"53","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"55","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"57","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"59","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"61","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"63","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"65","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"67","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"69","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"71","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"73","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"75","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"77","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"79","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"81","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"83","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"85","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"87","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"89","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"91","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"93","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"95","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"97","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"99","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"101","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"103","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"105","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"107","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"109","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"111","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"113","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"115","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"117","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"119","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"121","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"123","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"125","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"127","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"129","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"131","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"133","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"135","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"137","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"139","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"141","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"143","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"145","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"147","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"149","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"151","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"153","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"155","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"157","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"159","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"161","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"163","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"165","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"167","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"169","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"171","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"173","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"175","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"177","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"179","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"181","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"183","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"185","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"187","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"189","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"191","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"193","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"195","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"197","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"199","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"201","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"203","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"205","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"207","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"209","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"211","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"213","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"215","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"217","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"219","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"221","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"223","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"225","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"227","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"229","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"231","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"233","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"235","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"237","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"239","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"241","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"243","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"245","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"247","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"249","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"251","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"253","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"255","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"257","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"259","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"261","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"263","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"265","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"267","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"269","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"271","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"273","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"275","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"277","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"279","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"281","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"283","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"285","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"287","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"289","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"291","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"293","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"295","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"297","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"299","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"301","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"303","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"305","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"307","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"309","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"311","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"313","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"315","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"317","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"319","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"321","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"323","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"325","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"327","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"329","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"331","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"333","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"335","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"337","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"339","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"341","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"343","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"345","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"347","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"349","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"351","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"353","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"355","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"357","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"359","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"361","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"363","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"365","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"367","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"369","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"371","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"373","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"375","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"377","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"379","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"381","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"383","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"385","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"387","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"389","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"391","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"393","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"395","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"397","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"399","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"401","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"403","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"405","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"407","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"409","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"411","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"413","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"415","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"417","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"419","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"421","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"423","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"425","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"427","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"429","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"431","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"433","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"435","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"437","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"439","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"441","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"443","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"445","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"447","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"449","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"451","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"453","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"455","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"457","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"459","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"461","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"463","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"465","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"467","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"469","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"471","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"473","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"475","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"477","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"479","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"481","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"483","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"485","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"487","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"489","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"491","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"493","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"495","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"497","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"499","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"501","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"503","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"505","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"507","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"509","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"511","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"513","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"515","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"517","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"519","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"521","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"523","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"525","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"527","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"529","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"531","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"533","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"535","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"537","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"539","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"541","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"543","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"545","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"547","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"549","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"551","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"553","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"555","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"557","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"559","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"561","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"563","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"565","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"567","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"569","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"571","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"573","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"575","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"577","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"579","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"581","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"583","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"585","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"587","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"589","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"591","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"593","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"595","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"597","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"599","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"601","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"603","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"605","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"607","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"609","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"611","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"613","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"615","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"617","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"619","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"621","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"623","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"625","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"627","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"629","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"631","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"633","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"635","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"637","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"639","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"641","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"643","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"645","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"647","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"649","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"651","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"653","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"655","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"657","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"659","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"661","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"663","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"665","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"667","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"669","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"671","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"673","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"675","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"677","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"679","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"681","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"683","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"685","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"687","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"689","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"691","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"693","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"695","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"697","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"699","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"701","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"703","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"705","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"707","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"709","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"711","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"713","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"715","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"717","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"719","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"721","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"723","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"725","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"727","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"729","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"731","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"733","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"735","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"737","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"739","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"741","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"743","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"745","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"747","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"749","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"751","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"753","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"755","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"757","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"759","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"761","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"763","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"765","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"767","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"769","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"771","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"773","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"775","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"777","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"779","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"781","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"783","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"785","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"787","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"789","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"791","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"793","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"795","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"797","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"799","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"801","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"803","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"805","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"807","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"809","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"811","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"813","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"815","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"817","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"819","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"821","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"823","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"825","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"827","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"829","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"831","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"833","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"835","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"837","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"839","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"841","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"843","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"845","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"847","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"849","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"851","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"853","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"855","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"857","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"859","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"861","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"863","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"865","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"867","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"869","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"871","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"873","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"875","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"877","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"879","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"881","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"883","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"885","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"887","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"889","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"891","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"893","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"895","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"897","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"899","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"901","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"903","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"905","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"907","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"909","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"911","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"913","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"915","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"917","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"919","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"921","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"923","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"925","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"927","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"929","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"931","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"933","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"935","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"937","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"939","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"941","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"943","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"945","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"947","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"949","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"951","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"953","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"955","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"957","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"959","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"961","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"963","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"965","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"967","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"969","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"971","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"973","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"975","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"977","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"979","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"981","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"983","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"985","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"987","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"989","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"991","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"993","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"995","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"997","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"999","type":"Ocel.Sheep","attributes":""} OcelActivityEnd {"activity":"Cleaning"} OcelActivityBegin {"activity":"VetClinic"} -OcelEvent {"objectId":"1","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"4","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"7","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"10","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"13","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"16","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"19","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"22","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"25","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"28","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"31","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"34","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"37","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"40","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"43","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"46","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"49","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"52","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"55","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"58","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"61","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"64","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"67","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"70","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"73","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"76","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"79","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"82","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"85","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"88","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"91","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"94","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"97","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"100","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"103","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"106","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"109","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"112","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"115","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"118","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"121","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"124","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"127","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"130","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"133","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"136","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"139","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"142","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"145","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"148","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"151","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"154","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"157","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"160","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"163","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"166","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"169","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"172","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"175","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"178","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"181","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"184","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"187","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"190","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"193","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"196","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"199","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"202","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"205","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"208","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"211","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"214","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"217","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"220","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"223","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"226","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"229","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"232","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"235","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"238","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"241","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"244","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"247","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"250","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"253","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"256","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"259","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"262","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"265","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"268","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"271","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"274","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"277","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"280","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"283","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"286","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"289","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"292","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"295","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"298","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"301","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"304","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"307","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"310","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"313","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"316","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"319","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"322","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"325","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"328","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"331","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"334","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"337","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"340","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"343","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"346","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"349","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"352","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"355","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"358","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"361","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"364","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"367","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"370","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"373","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"376","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"379","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"382","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"385","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"388","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"391","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"394","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"397","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"400","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"403","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"406","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"409","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"412","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"415","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"418","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"421","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"424","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"427","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"430","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"433","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"436","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"439","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"442","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"445","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"448","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"451","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"454","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"457","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"460","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"463","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"466","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"469","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"472","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"475","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"478","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"481","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"484","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"487","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"490","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"493","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"496","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"499","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"502","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"505","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"508","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"511","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"514","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"517","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"520","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"523","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"526","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"529","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"532","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"535","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"538","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"541","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"544","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"547","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"550","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"553","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"556","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"559","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"562","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"565","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"568","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"571","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"574","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"577","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"580","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"583","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"586","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"589","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"592","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"595","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"598","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"601","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"604","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"607","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"610","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"613","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"616","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"619","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"622","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"625","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"628","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"631","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"634","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"637","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"640","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"643","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"646","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"649","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"652","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"655","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"658","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"661","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"664","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"667","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"670","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"673","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"676","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"679","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"682","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"685","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"688","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"691","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"694","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"697","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"700","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"703","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"706","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"709","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"712","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"715","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"718","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"721","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"724","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"727","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"730","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"733","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"736","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"739","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"742","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"745","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"748","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"751","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"754","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"757","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"760","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"763","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"766","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"769","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"772","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"775","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"778","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"781","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"784","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"787","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"790","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"793","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"796","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"799","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"802","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"805","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"808","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"811","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"814","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"817","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"820","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"823","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"826","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"829","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"832","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"835","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"838","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"841","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"844","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"847","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"850","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"853","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"856","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"859","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"862","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"865","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"868","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"871","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"874","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"877","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"880","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"883","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"886","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"889","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"892","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"895","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"898","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"901","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"904","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"907","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"910","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"913","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"916","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"919","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"922","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"925","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"928","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"931","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"934","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"937","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"940","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"943","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"946","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"949","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"952","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"955","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"958","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"961","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"964","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"967","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"970","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"973","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"976","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"979","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"982","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"985","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"988","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"991","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"994","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"997","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"1000","objectCategory":"Dog","attributes":""} +OcelObjectAllocated {"objectId":"1","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"4","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"7","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"10","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"13","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"16","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"19","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"22","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"25","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"28","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"31","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"34","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"37","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"40","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"43","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"46","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"49","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"52","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"55","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"58","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"61","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"64","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"67","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"70","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"73","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"76","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"79","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"82","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"85","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"88","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"91","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"94","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"97","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"100","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"103","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"106","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"109","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"112","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"115","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"118","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"121","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"124","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"127","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"130","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"133","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"136","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"139","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"142","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"145","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"148","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"151","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"154","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"157","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"160","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"163","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"166","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"169","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"172","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"175","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"178","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"181","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"184","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"187","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"190","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"193","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"196","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"199","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"202","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"205","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"208","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"211","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"214","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"217","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"220","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"223","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"226","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"229","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"232","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"235","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"238","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"241","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"244","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"247","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"250","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"253","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"256","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"259","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"262","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"265","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"268","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"271","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"274","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"277","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"280","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"283","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"286","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"289","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"292","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"295","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"298","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"301","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"304","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"307","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"310","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"313","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"316","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"319","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"322","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"325","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"328","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"331","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"334","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"337","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"340","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"343","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"346","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"349","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"352","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"355","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"358","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"361","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"364","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"367","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"370","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"373","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"376","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"379","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"382","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"385","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"388","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"391","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"394","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"397","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"400","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"403","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"406","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"409","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"412","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"415","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"418","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"421","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"424","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"427","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"430","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"433","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"436","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"439","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"442","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"445","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"448","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"451","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"454","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"457","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"460","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"463","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"466","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"469","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"472","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"475","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"478","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"481","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"484","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"487","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"490","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"493","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"496","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"499","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"502","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"505","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"508","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"511","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"514","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"517","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"520","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"523","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"526","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"529","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"532","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"535","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"538","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"541","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"544","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"547","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"550","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"553","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"556","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"559","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"562","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"565","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"568","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"571","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"574","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"577","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"580","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"583","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"586","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"589","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"592","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"595","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"598","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"601","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"604","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"607","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"610","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"613","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"616","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"619","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"622","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"625","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"628","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"631","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"634","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"637","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"640","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"643","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"646","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"649","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"652","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"655","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"658","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"661","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"664","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"667","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"670","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"673","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"676","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"679","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"682","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"685","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"688","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"691","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"694","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"697","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"700","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"703","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"706","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"709","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"712","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"715","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"718","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"721","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"724","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"727","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"730","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"733","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"736","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"739","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"742","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"745","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"748","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"751","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"754","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"757","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"760","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"763","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"766","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"769","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"772","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"775","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"778","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"781","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"784","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"787","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"790","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"793","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"796","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"799","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"802","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"805","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"808","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"811","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"814","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"817","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"820","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"823","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"826","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"829","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"832","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"835","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"838","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"841","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"844","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"847","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"850","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"853","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"856","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"859","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"862","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"865","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"868","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"871","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"874","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"877","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"880","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"883","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"886","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"889","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"892","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"895","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"898","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"901","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"904","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"907","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"910","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"913","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"916","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"919","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"922","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"925","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"928","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"931","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"934","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"937","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"940","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"943","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"946","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"949","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"952","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"955","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"958","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"961","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"964","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"967","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"970","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"973","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"976","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"979","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"982","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"985","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"988","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"991","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"994","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"997","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"1000","type":"Ocel.Dog","attributes":""} OcelActivityEnd {"activity":"VetClinic"} OcelActivityBegin {"activity":"Playground"} -OcelEvent {"objectId":"1","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"5","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"9","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"13","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"17","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"21","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"25","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"29","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"33","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"37","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"41","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"45","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"49","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"53","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"57","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"61","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"65","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"69","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"73","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"77","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"81","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"85","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"89","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"93","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"97","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"101","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"105","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"109","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"113","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"117","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"121","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"125","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"129","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"133","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"137","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"141","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"145","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"149","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"153","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"157","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"161","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"165","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"169","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"173","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"177","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"181","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"185","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"189","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"193","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"197","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"201","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"205","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"209","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"213","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"217","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"221","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"225","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"229","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"233","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"237","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"241","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"245","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"249","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"253","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"257","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"261","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"265","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"269","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"273","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"277","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"281","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"285","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"289","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"293","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"297","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"301","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"305","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"309","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"313","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"317","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"321","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"325","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"329","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"333","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"337","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"341","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"345","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"349","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"353","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"357","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"361","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"365","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"369","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"373","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"377","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"381","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"385","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"389","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"393","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"397","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"401","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"405","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"409","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"413","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"417","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"421","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"425","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"429","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"433","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"437","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"441","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"445","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"449","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"453","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"457","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"461","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"465","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"469","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"473","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"477","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"481","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"485","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"489","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"493","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"497","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"501","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"505","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"509","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"513","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"517","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"521","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"525","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"529","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"533","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"537","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"541","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"545","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"549","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"553","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"557","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"561","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"565","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"569","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"573","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"577","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"581","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"585","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"589","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"593","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"597","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"601","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"605","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"609","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"613","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"617","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"621","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"625","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"629","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"633","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"637","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"641","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"645","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"649","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"653","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"657","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"661","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"665","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"669","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"673","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"677","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"681","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"685","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"689","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"693","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"697","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"701","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"705","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"709","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"713","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"717","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"721","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"725","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"729","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"733","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"737","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"741","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"745","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"749","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"753","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"757","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"761","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"765","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"769","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"773","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"777","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"781","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"785","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"789","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"793","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"797","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"801","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"805","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"809","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"813","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"817","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"821","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"825","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"829","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"833","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"837","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"841","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"845","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"849","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"853","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"857","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"861","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"865","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"869","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"873","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"877","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"881","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"885","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"889","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"893","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"897","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"901","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"905","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"909","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"913","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"917","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"921","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"925","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"929","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"933","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"937","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"941","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"945","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"949","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"953","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"957","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"961","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"965","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"969","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"973","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"977","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"981","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"985","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"989","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"993","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"997","objectCategory":"Dog","attributes":""} +OcelObjectAllocated {"objectId":"1","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"5","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"9","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"13","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"17","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"21","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"25","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"29","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"33","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"37","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"41","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"45","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"49","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"53","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"57","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"61","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"65","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"69","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"73","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"77","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"81","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"85","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"89","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"93","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"97","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"101","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"105","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"109","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"113","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"117","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"121","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"125","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"129","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"133","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"137","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"141","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"145","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"149","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"153","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"157","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"161","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"165","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"169","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"173","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"177","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"181","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"185","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"189","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"193","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"197","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"201","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"205","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"209","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"213","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"217","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"221","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"225","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"229","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"233","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"237","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"241","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"245","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"249","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"253","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"257","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"261","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"265","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"269","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"273","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"277","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"281","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"285","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"289","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"293","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"297","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"301","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"305","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"309","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"313","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"317","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"321","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"325","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"329","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"333","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"337","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"341","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"345","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"349","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"353","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"357","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"361","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"365","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"369","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"373","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"377","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"381","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"385","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"389","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"393","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"397","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"401","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"405","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"409","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"413","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"417","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"421","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"425","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"429","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"433","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"437","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"441","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"445","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"449","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"453","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"457","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"461","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"465","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"469","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"473","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"477","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"481","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"485","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"489","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"493","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"497","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"501","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"505","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"509","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"513","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"517","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"521","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"525","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"529","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"533","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"537","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"541","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"545","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"549","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"553","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"557","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"561","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"565","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"569","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"573","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"577","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"581","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"585","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"589","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"593","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"597","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"601","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"605","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"609","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"613","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"617","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"621","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"625","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"629","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"633","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"637","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"641","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"645","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"649","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"653","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"657","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"661","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"665","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"669","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"673","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"677","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"681","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"685","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"689","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"693","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"697","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"701","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"705","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"709","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"713","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"717","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"721","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"725","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"729","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"733","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"737","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"741","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"745","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"749","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"753","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"757","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"761","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"765","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"769","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"773","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"777","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"781","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"785","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"789","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"793","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"797","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"801","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"805","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"809","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"813","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"817","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"821","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"825","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"829","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"833","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"837","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"841","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"845","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"849","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"853","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"857","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"861","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"865","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"869","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"873","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"877","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"881","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"885","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"889","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"893","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"897","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"901","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"905","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"909","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"913","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"917","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"921","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"925","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"929","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"933","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"937","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"941","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"945","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"949","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"953","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"957","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"961","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"965","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"969","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"973","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"977","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"981","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"985","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"989","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"993","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"997","type":"Ocel.Dog","attributes":""} OcelActivityEnd {"activity":"Playground"} OcelActivityBegin {"activity":"Cleaning"} -OcelEvent {"objectId":"1","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"6","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"11","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"16","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"21","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"26","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"31","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"36","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"41","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"46","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"51","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"56","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"61","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"66","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"71","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"76","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"81","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"86","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"91","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"96","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"101","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"106","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"111","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"116","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"121","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"126","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"131","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"136","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"141","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"146","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"151","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"156","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"161","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"166","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"171","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"176","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"181","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"186","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"191","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"196","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"201","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"206","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"211","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"216","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"221","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"226","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"231","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"236","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"241","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"246","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"251","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"256","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"261","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"266","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"271","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"276","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"281","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"286","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"291","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"296","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"301","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"306","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"311","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"316","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"321","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"326","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"331","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"336","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"341","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"346","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"351","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"356","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"361","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"366","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"371","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"376","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"381","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"386","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"391","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"396","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"401","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"406","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"411","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"416","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"421","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"426","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"431","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"436","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"441","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"446","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"451","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"456","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"461","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"466","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"471","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"476","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"481","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"486","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"491","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"496","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"501","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"506","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"511","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"516","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"521","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"526","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"531","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"536","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"541","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"546","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"551","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"556","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"561","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"566","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"571","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"576","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"581","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"586","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"591","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"596","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"601","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"606","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"611","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"616","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"621","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"626","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"631","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"636","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"641","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"646","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"651","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"656","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"661","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"666","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"671","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"676","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"681","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"686","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"691","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"696","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"701","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"706","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"711","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"716","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"721","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"726","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"731","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"736","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"741","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"746","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"751","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"756","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"761","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"766","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"771","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"776","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"781","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"786","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"791","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"796","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"801","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"806","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"811","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"816","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"821","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"826","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"831","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"836","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"841","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"846","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"851","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"856","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"861","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"866","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"871","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"876","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"881","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"886","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"891","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"896","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"901","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"906","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"911","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"916","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"921","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"926","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"931","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"936","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"941","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"946","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"951","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"956","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"961","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"966","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"971","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"976","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"981","objectCategory":"Sheep","attributes":""} -OcelEvent {"objectId":"986","objectCategory":"Cat","attributes":""} -OcelEvent {"objectId":"991","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"996","objectCategory":"Sheep","attributes":""} +OcelObjectAllocated {"objectId":"1","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"6","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"11","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"16","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"21","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"26","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"31","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"36","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"41","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"46","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"51","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"56","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"61","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"66","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"71","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"76","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"81","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"86","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"91","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"96","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"101","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"106","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"111","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"116","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"121","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"126","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"131","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"136","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"141","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"146","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"151","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"156","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"161","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"166","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"171","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"176","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"181","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"186","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"191","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"196","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"201","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"206","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"211","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"216","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"221","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"226","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"231","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"236","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"241","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"246","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"251","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"256","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"261","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"266","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"271","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"276","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"281","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"286","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"291","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"296","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"301","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"306","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"311","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"316","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"321","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"326","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"331","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"336","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"341","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"346","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"351","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"356","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"361","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"366","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"371","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"376","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"381","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"386","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"391","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"396","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"401","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"406","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"411","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"416","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"421","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"426","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"431","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"436","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"441","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"446","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"451","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"456","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"461","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"466","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"471","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"476","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"481","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"486","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"491","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"496","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"501","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"506","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"511","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"516","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"521","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"526","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"531","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"536","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"541","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"546","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"551","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"556","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"561","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"566","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"571","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"576","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"581","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"586","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"591","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"596","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"601","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"606","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"611","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"616","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"621","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"626","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"631","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"636","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"641","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"646","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"651","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"656","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"661","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"666","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"671","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"676","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"681","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"686","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"691","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"696","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"701","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"706","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"711","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"716","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"721","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"726","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"731","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"736","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"741","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"746","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"751","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"756","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"761","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"766","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"771","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"776","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"781","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"786","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"791","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"796","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"801","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"806","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"811","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"816","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"821","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"826","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"831","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"836","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"841","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"846","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"851","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"856","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"861","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"866","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"871","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"876","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"881","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"886","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"891","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"896","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"901","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"906","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"911","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"916","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"921","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"926","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"931","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"936","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"941","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"946","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"951","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"956","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"961","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"966","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"971","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"976","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"981","type":"Ocel.Sheep","attributes":""} +OcelObjectAllocated {"objectId":"986","type":"Ocel.Cat","attributes":""} +OcelObjectAllocated {"objectId":"991","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"996","type":"Ocel.Sheep","attributes":""} OcelActivityEnd {"activity":"Cleaning"} OcelActivityBegin {"activity":"Farm"} -OcelEvent {"objectId":"1","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"7","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"13","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"19","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"25","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"31","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"37","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"43","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"49","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"55","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"61","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"67","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"73","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"79","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"85","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"91","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"97","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"103","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"109","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"115","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"121","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"127","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"133","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"139","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"145","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"151","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"157","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"163","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"169","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"175","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"181","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"187","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"193","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"199","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"205","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"211","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"217","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"223","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"229","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"235","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"241","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"247","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"253","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"259","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"265","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"271","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"277","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"283","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"289","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"295","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"301","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"307","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"313","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"319","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"325","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"331","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"337","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"343","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"349","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"355","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"361","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"367","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"373","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"379","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"385","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"391","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"397","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"403","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"409","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"415","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"421","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"427","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"433","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"439","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"445","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"451","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"457","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"463","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"469","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"475","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"481","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"487","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"493","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"499","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"505","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"511","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"517","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"523","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"529","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"535","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"541","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"547","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"553","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"559","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"565","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"571","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"577","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"583","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"589","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"595","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"601","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"607","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"613","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"619","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"625","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"631","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"637","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"643","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"649","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"655","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"661","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"667","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"673","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"679","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"685","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"691","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"697","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"703","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"709","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"715","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"721","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"727","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"733","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"739","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"745","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"751","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"757","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"763","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"769","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"775","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"781","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"787","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"793","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"799","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"805","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"811","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"817","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"823","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"829","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"835","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"841","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"847","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"853","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"859","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"865","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"871","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"877","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"883","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"889","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"895","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"901","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"907","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"913","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"919","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"925","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"931","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"937","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"943","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"949","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"955","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"961","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"967","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"973","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"979","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"985","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"991","objectCategory":"Dog","attributes":""} -OcelEvent {"objectId":"997","objectCategory":"Dog","attributes":""} +OcelObjectAllocated {"objectId":"1","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"7","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"13","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"19","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"25","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"31","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"37","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"43","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"49","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"55","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"61","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"67","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"73","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"79","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"85","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"91","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"97","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"103","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"109","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"115","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"121","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"127","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"133","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"139","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"145","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"151","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"157","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"163","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"169","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"175","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"181","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"187","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"193","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"199","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"205","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"211","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"217","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"223","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"229","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"235","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"241","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"247","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"253","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"259","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"265","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"271","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"277","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"283","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"289","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"295","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"301","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"307","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"313","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"319","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"325","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"331","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"337","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"343","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"349","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"355","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"361","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"367","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"373","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"379","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"385","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"391","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"397","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"403","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"409","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"415","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"421","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"427","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"433","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"439","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"445","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"451","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"457","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"463","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"469","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"475","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"481","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"487","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"493","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"499","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"505","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"511","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"517","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"523","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"529","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"535","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"541","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"547","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"553","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"559","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"565","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"571","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"577","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"583","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"589","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"595","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"601","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"607","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"613","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"619","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"625","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"631","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"637","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"643","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"649","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"655","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"661","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"667","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"673","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"679","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"685","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"691","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"697","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"703","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"709","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"715","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"721","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"727","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"733","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"739","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"745","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"751","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"757","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"763","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"769","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"775","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"781","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"787","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"793","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"799","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"805","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"811","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"817","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"823","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"829","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"835","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"841","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"847","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"853","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"859","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"865","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"871","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"877","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"883","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"889","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"895","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"901","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"907","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"913","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"919","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"925","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"931","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"937","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"943","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"949","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"955","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"961","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"967","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"973","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"979","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"985","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"991","type":"Ocel.Dog","attributes":""} +OcelObjectAllocated {"objectId":"997","type":"Ocel.Dog","attributes":""} OcelActivityEnd {"activity":"Farm"} \ No newline at end of file diff --git a/Procfiler/test_data/source/Ocel/Program.cs b/Procfiler/test_data/source/Ocel/Program.cs index 5a48dd6c8..6e50676e7 100644 --- a/Procfiler/test_data/source/Ocel/Program.cs +++ b/Procfiler/test_data/source/Ocel/Program.cs @@ -26,8 +26,8 @@ public static void Main() OcelLogger.LogGloballyAttachedObject(myObject, "GlobalInitializing", myObject.GetType().Name); } - OcelLogger.LogObjectAllocated(1234, "test"); - OcelLogger.LogObjectAllocated(myObject, myObject.GetType().Name); + OcelLogger.LogObjectAllocatedRaw(new OcelObjectDto(1234, "test")); + OcelLogger.LogObjectAllocated(myObject); myObject.Name = "xd"; } @@ -44,7 +44,7 @@ void Cleaning(List objects) using var _ = OcelLogger.StartOcelActivity(nameof(Cleaning)); foreach (var obj in objects) { - OcelLogger.LogObjectAllocated(obj, obj.GetType().Name); + OcelLogger.LogObjectAllocated(obj); } } @@ -53,7 +53,7 @@ void VetClinic(List objects) using var _ = OcelLogger.StartOcelActivity(nameof(VetClinic)); foreach (var obj in objects) { - OcelLogger.LogObjectAllocated(obj, obj.GetType().Name); + OcelLogger.LogObjectAllocated(obj); } } @@ -62,7 +62,7 @@ void Playground(List objects) using var _ = OcelLogger.StartOcelActivity(nameof(Playground)); foreach (var obj in objects) { - OcelLogger.LogObjectAllocated(obj, obj.GetType().Name); + OcelLogger.LogObjectAllocated(obj); } } @@ -71,7 +71,7 @@ void Farm(List objects) using var _ = OcelLogger.StartOcelActivity(nameof(Farm)); foreach (var obj in objects) { - OcelLogger.LogObjectAllocated(obj, obj.GetType().Name); + OcelLogger.LogObjectAllocated(obj); } } } diff --git a/Procfiler/test_data/source/Ocel2/Program.cs b/Procfiler/test_data/source/Ocel2/Program.cs index 14d0d542c..5e4c876e3 100644 --- a/Procfiler/test_data/source/Ocel2/Program.cs +++ b/Procfiler/test_data/source/Ocel2/Program.cs @@ -51,8 +51,8 @@ private static void Method() Method1(); - OcelLogger.LogConsumeProduceRaw(id7); - OcelLogger.LogConsumeProduceRaw(id8); + OcelLogger.LogConsumeProduceRaw(id7, new OcelObjectDto(NextId(), Type3), new OcelObjectDto(NextId(), Type2)); + OcelLogger.LogConsumeProduceRaw(id8, new OcelObjectDto(NextId(), Type3)); Method1(); } From 687ba74e6b94cdb05a9347a3db2bf75ad9e6c47a Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 18 Oct 2025 19:48:35 +0300 Subject: [PATCH 114/189] Add Ocel2 test --- .../Tests/Ocel/OcelEventsTest.cs | 39 ++++++++++++------- .../src/dotnet/TestsUtil/KnownSolution.cs | 1 + .../linux/OcelEventsTest/SimpleTest2.gold | 10 +++++ .../macos/OcelEventsTest/SimpleTest2.gold | 10 +++++ .../windows/OcelEventsTest/SimpleTest2.gold | 10 +++++ Procfiler/test_data/source/Ocel2/Program.cs | 1 + 6 files changed, 58 insertions(+), 13 deletions(-) create mode 100644 Procfiler/test_data/gold/linux/OcelEventsTest/SimpleTest2.gold create mode 100644 Procfiler/test_data/gold/macos/OcelEventsTest/SimpleTest2.gold create mode 100644 Procfiler/test_data/gold/windows/OcelEventsTest/SimpleTest2.gold diff --git a/Procfiler/src/dotnet/ProcfilerTests/Tests/Ocel/OcelEventsTest.cs b/Procfiler/src/dotnet/ProcfilerTests/Tests/Ocel/OcelEventsTest.cs index 3bb116f73..0e252494b 100644 --- a/Procfiler/src/dotnet/ProcfilerTests/Tests/Ocel/OcelEventsTest.cs +++ b/Procfiler/src/dotnet/ProcfilerTests/Tests/Ocel/OcelEventsTest.cs @@ -1,4 +1,6 @@ using System.Text.Json; +using Procfiler.Core.Collector; +using Procfiler.Core.EventRecord.EventsCollection; using ProcfilerTests.Core; using TestsUtil; @@ -11,19 +13,30 @@ public void SimpleTest() { ExecuteTestWithGold( KnownSolution.Ocel.CreateOnlineSerializationContext(), - events => string.Join( - "\n", - events.Events - .Where(e => e.Event.EventClass.StartsWith("Ocel")) - .Select(e => e.Event) - .OrderBy(e => e.Time.QpcStamp) - .Select(e => - { - //its unique Guid so remove it for consistency - e.Metadata.Remove("activityId"); - return $"{e.EventName} {JsonSerializer.Serialize(e.Metadata)}"; - }) - ) + SerializeOcelEvents ); } + + [Test] + public void SimpleTest2() + { + ExecuteTestWithGold( + KnownSolution.Ocel2.CreateOnlineSerializationContext(), + SerializeOcelEvents + ); + } + + private static string SerializeOcelEvents(CollectedEvents events) => string.Join( + "\n", + events.Events + .Where(e => e.Event.EventClass.StartsWith("Ocel")) + .Select(e => e.Event) + .OrderBy(e => e.Time.QpcStamp) + .Select(e => + { + //its unique Guid so remove it for consistency + e.Metadata.Remove("activityId"); + return $"{e.EventName} {JsonSerializer.Serialize(e.Metadata)}"; + }) + ); } \ No newline at end of file diff --git a/Procfiler/src/dotnet/TestsUtil/KnownSolution.cs b/Procfiler/src/dotnet/TestsUtil/KnownSolution.cs index 59832994e..f80bdca27 100644 --- a/Procfiler/src/dotnet/TestsUtil/KnownSolution.cs +++ b/Procfiler/src/dotnet/TestsUtil/KnownSolution.cs @@ -27,6 +27,7 @@ public class KnownSolution public static KnownSolution AsyncDisposable { get; } = new("AsyncDisposable"); public static KnownSolution ProcfilerEventPipeLogger { get; } = new("ProcfilerEventPipeLogger"); public static KnownSolution Ocel { get; } = new("Ocel"); + public static KnownSolution Ocel2 { get; } = new("Ocel2"); public static IEnumerable AllSolutions { get; } = diff --git a/Procfiler/test_data/gold/linux/OcelEventsTest/SimpleTest2.gold b/Procfiler/test_data/gold/linux/OcelEventsTest/SimpleTest2.gold new file mode 100644 index 000000000..519b3fbe1 --- /dev/null +++ b/Procfiler/test_data/gold/linux/OcelEventsTest/SimpleTest2.gold @@ -0,0 +1,10 @@ +OcelObjectAllocated {"objectId":"1","type":"Type1","attributes":""} +OcelObjectAllocated {"objectId":"2","type":"Type1","attributes":""} +OcelObjectAllocated {"objectId":"3","type":"Type1","attributes":""} +OcelObjectAllocated {"objectId":"4","type":"Type2","attributes":""} +OcelObjectAllocated {"objectId":"5","type":"Type2","attributes":""} +OcelObjectAllocated {"objectId":"6","type":"Type2","attributes":""} +OcelMergeAllocate {"objectId":"7","type":"Type1","relatedObjectIds":"1 3 5","attributes":""} +OcelMergeAllocate {"objectId":"8","type":"Type1","relatedObjectIds":"2 4 6","attributes":""} +OcelConsumeProduce {"objectId":"7","relatedObjectsIds":"9 10","relatedObjectsTypes":"Type3 Type2","attributes":""} +OcelConsumeProduce {"objectId":"8","relatedObjectsIds":"11","relatedObjectsTypes":"Type3","attributes":""} \ No newline at end of file diff --git a/Procfiler/test_data/gold/macos/OcelEventsTest/SimpleTest2.gold b/Procfiler/test_data/gold/macos/OcelEventsTest/SimpleTest2.gold new file mode 100644 index 000000000..519b3fbe1 --- /dev/null +++ b/Procfiler/test_data/gold/macos/OcelEventsTest/SimpleTest2.gold @@ -0,0 +1,10 @@ +OcelObjectAllocated {"objectId":"1","type":"Type1","attributes":""} +OcelObjectAllocated {"objectId":"2","type":"Type1","attributes":""} +OcelObjectAllocated {"objectId":"3","type":"Type1","attributes":""} +OcelObjectAllocated {"objectId":"4","type":"Type2","attributes":""} +OcelObjectAllocated {"objectId":"5","type":"Type2","attributes":""} +OcelObjectAllocated {"objectId":"6","type":"Type2","attributes":""} +OcelMergeAllocate {"objectId":"7","type":"Type1","relatedObjectIds":"1 3 5","attributes":""} +OcelMergeAllocate {"objectId":"8","type":"Type1","relatedObjectIds":"2 4 6","attributes":""} +OcelConsumeProduce {"objectId":"7","relatedObjectsIds":"9 10","relatedObjectsTypes":"Type3 Type2","attributes":""} +OcelConsumeProduce {"objectId":"8","relatedObjectsIds":"11","relatedObjectsTypes":"Type3","attributes":""} \ No newline at end of file diff --git a/Procfiler/test_data/gold/windows/OcelEventsTest/SimpleTest2.gold b/Procfiler/test_data/gold/windows/OcelEventsTest/SimpleTest2.gold new file mode 100644 index 000000000..519b3fbe1 --- /dev/null +++ b/Procfiler/test_data/gold/windows/OcelEventsTest/SimpleTest2.gold @@ -0,0 +1,10 @@ +OcelObjectAllocated {"objectId":"1","type":"Type1","attributes":""} +OcelObjectAllocated {"objectId":"2","type":"Type1","attributes":""} +OcelObjectAllocated {"objectId":"3","type":"Type1","attributes":""} +OcelObjectAllocated {"objectId":"4","type":"Type2","attributes":""} +OcelObjectAllocated {"objectId":"5","type":"Type2","attributes":""} +OcelObjectAllocated {"objectId":"6","type":"Type2","attributes":""} +OcelMergeAllocate {"objectId":"7","type":"Type1","relatedObjectIds":"1 3 5","attributes":""} +OcelMergeAllocate {"objectId":"8","type":"Type1","relatedObjectIds":"2 4 6","attributes":""} +OcelConsumeProduce {"objectId":"7","relatedObjectsIds":"9 10","relatedObjectsTypes":"Type3 Type2","attributes":""} +OcelConsumeProduce {"objectId":"8","relatedObjectsIds":"11","relatedObjectsTypes":"Type3","attributes":""} \ No newline at end of file diff --git a/Procfiler/test_data/source/Ocel2/Program.cs b/Procfiler/test_data/source/Ocel2/Program.cs index 5e4c876e3..25954620f 100644 --- a/Procfiler/test_data/source/Ocel2/Program.cs +++ b/Procfiler/test_data/source/Ocel2/Program.cs @@ -9,6 +9,7 @@ public static class Program { public static void Main() { + Method(); } From 4750d823c4aab7af0209f9fcc18c33d8b2248be4 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sun, 19 Oct 2025 15:22:16 +0300 Subject: [PATCH 115/189] Rework OCEL events handling --- Ficus/protos/pipelines_and_context.proto | 35 ++-- .../discovery/ocel/graph_annotation.rs | 28 ++- .../software_data/extraction_config.rs | 34 +++- .../timeline/software_data/extractors/ocel.rs | 182 ++++++++++++------ .../timeline/software_data/models.rs | 26 ++- Ficus/src/rust/ficus/src/grpc/converters.rs | 33 ++-- .../tests/software_data/extractors_tests.rs | 157 +++++---------- 7 files changed, 275 insertions(+), 220 deletions(-) diff --git a/Ficus/protos/pipelines_and_context.proto b/Ficus/protos/pipelines_and_context.proto index 31b227f0e..fe1989fb9 100644 --- a/Ficus/protos/pipelines_and_context.proto +++ b/Ficus/protos/pipelines_and_context.proto @@ -279,23 +279,32 @@ message GrpcSoftwareData { repeated GrpcOcelData ocel_data = 16; } -message GrpcOcelData { - string object_type = 1; - string object_id = 2; - oneof action { - google.protobuf.Empty allocate = 3; - google.protobuf.Empty consume = 4; - GrpcMergedObjectAllocation merged_object_allocation = 5; - GrpcProduceObjectConsumption produce_object_consumption = 6; - } +message GrpcOcelObjectTypeData { + optional string type = 1; +} + +message GrpcOcelAllocateMerge { + optional string type = 1; + repeated string merged_objects_ids = 2; } -message GrpcMergedObjectAllocation { - repeated string consumed_objects_ids = 1; +message GrpcOcelProducedObject { + string id = 1; + optional string type = 2; } -message GrpcProduceObjectConsumption { - repeated string produced_objects_ids = 2; +message GrpcOcelConsumeProduce { + repeated GrpcOcelProducedObject produced_objects = 1; +} + +message GrpcOcelData { + string object_id = 1; + oneof action { + GrpcOcelObjectTypeData allocate = 2; + GrpcOcelObjectTypeData consume = 3; + GrpcOcelAllocateMerge merged_object_allocation = 4; + GrpcOcelConsumeProduce produce_object_consumption = 5; + } } message GrpcActivityDurationData { diff --git a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs index 9ccab0ec0..18cea56ed 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs @@ -109,28 +109,40 @@ pub fn create_ocel_annotation_for_dag(graph: &DefaultGraph) -> Result { - new_node_state.add_allocated_object(obj_type.to_string(), obj_id.to_string())?; + OcelObjectAction::Allocate(data) => { + let obj_type = data.r#type().as_ref().map(|s| s.as_str()).unwrap_or(UNKNOWN_TYPE).to_string(); + new_node_state.add_allocated_object(obj_type, obj_id.to_string())?; } - OcelObjectAction::Consume => { + OcelObjectAction::Consume(data) => { + let obj_type = data.r#type().as_ref().map(|s| s.as_str()).unwrap_or(UNKNOWN_TYPE); if prev_state.final_objects.contains_object(obj_type, obj_id) { return Err(OcelAnnotationCreationError::ConsumeNotExistingObject) } } - OcelObjectAction::AllocateMerged(ids) => { - for id in ids { + OcelObjectAction::AllocateMerged(data) => { + for id in data.data() { if !prev_state.final_objects.contains_unknown_object(id) { return Err(OcelAnnotationCreationError::OneOfMergedObjetsDoesNotExist) } } + + let obj_type = data.r#type().as_ref().map(|s| s.as_str()).unwrap_or(UNKNOWN_TYPE).to_string(); + new_node_state.add_allocated_object(obj_type, obj_id.to_string())?; } - OcelObjectAction::ConsumeWithProduce(_) => { - if !prev_state.final_objects.contains_object(obj_type, obj_id) { + OcelObjectAction::ConsumeWithProduce(data) => { + if !prev_state.final_objects.contains_unknown_object(obj_id) { return Err(OcelAnnotationCreationError::ConsumeNotExistingObject) } + + for produced_obj in data.iter() { + let obj_type = produced_obj.r#type().as_ref().map(|s| s.as_str()).unwrap_or(UNKNOWN_TYPE).to_string(); + let id = produced_obj.id().to_string(); + new_node_state.add_allocated_object(obj_type, id)?; + } } } } diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs index 23eb0b67e..3c2759ce2 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs @@ -14,7 +14,7 @@ pub struct SoftwareDataExtractionConfig { #[getset(get = "pub", set = "pub")] allocation: Option>, #[getset(get = "pub", set = "pub")] - ocel: Option>, + ocel: Option, #[getset(get = "pub", set = "pub")] raw_control_flow_regexes: Vec, @@ -64,15 +64,41 @@ impl SoftwareDataExtractionConfig { } #[derive(Clone, Debug, Getters, Serialize, Deserialize, new)] -pub struct OcelDataExtractionConfig { +pub struct OcelUnitedExtractionConfig { + #[getset(get = "pub")] + allocated: Option>, + #[getset(get = "pub")] + consumed: Option>, + #[getset(get = "pub")] + allocated_merged: Option>, + #[getset(get = "pub")] + consume_produce: Option>, +} + +#[derive(Clone, Debug, Getters, Serialize, Deserialize, new)] +pub struct OcelObjectExtractionConfigBase { #[getset(get = "pub")] object_type_attr: NameCreationStrategy, #[getset(get = "pub")] object_id_attr: String, +} + +#[derive(Clone, Debug, Getters, Serialize, Deserialize, new)] +pub struct OcelAllocateMergeExtractionConfig { + #[getset(get = "pub")] + allocated_obj: OcelObjectExtractionConfigBase, + #[getset(get = "pub")] + related_object_ids_attr: String, +} + +#[derive(Clone, Debug, Getters, Serialize, Deserialize, new)] +pub struct OcelConsumeProduceExtractionConfig { + #[getset(get = "pub")] + object_id_attr: String, #[getset(get = "pub")] - object_action_type_attr: Option, + related_object_ids_attr: String, #[getset(get = "pub")] - related_object_ids_attr: Option, + related_object_type_attr: String } #[derive(Clone, Debug, Getters, Serialize, Deserialize, new)] diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs index 97c9a9629..dd9a0520d 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs @@ -1,14 +1,15 @@ use crate::event_log::core::event::event::{Event, EventPayloadValue}; use crate::event_log::xes::xes_event::XesEventImpl; -use crate::features::discovery::timeline::software_data::extraction_config::SoftwareDataExtractionConfig; +use crate::features::discovery::timeline::software_data::extraction_config::{ExtractionConfig, OcelAllocateMergeExtractionConfig, OcelConsumeProduceExtractionConfig, OcelObjectExtractionConfigBase, SoftwareDataExtractionConfig}; use crate::features::discovery::timeline::software_data::extractors::core::{EventGroupSoftwareDataExtractor, SoftwareDataExtractionError}; -use crate::features::discovery::timeline::software_data::models::{OcelData, OcelObjectAction, SoftwareData}; +use crate::features::discovery::timeline::software_data::models::{ObjectTypeWithData, OcelData, OcelObjectAction, OcelProducedObjectAfterConsume, SoftwareData}; use derive_new::new; use std::cell::RefCell; use std::collections::HashMap; +use std::fmt::Debug; use std::rc::Rc; -use fancy_regex::Regex; use log::{debug, warn}; +use fancy_regex::Regex; use crate::utils::references::HeapedOrOwned; #[derive(Debug, Clone, new)] @@ -22,82 +23,137 @@ impl<'a> EventGroupSoftwareDataExtractor for OcelDataExtractor<'a> { software_data: &mut SoftwareData, events: &[Rc>], ) -> Result<(), SoftwareDataExtractionError> { - if let Some(ocel_config) = self.config.ocel().as_ref() { - let raw_regex = ocel_config.event_class_regex(); - let regex = Regex::new(raw_regex).map_err(|e| SoftwareDataExtractionError::FailedToParseRegex(raw_regex.to_owned()))?; + let Some(ocel_config) = self.config.ocel().as_ref() else { return Ok(()) }; - for event in events { - if !regex.is_match(event.borrow().name()).unwrap_or(false) { - continue; - } + let alloc_config = Self::map_config_to_regex(ocel_config.allocated())?; + let consume_config = Self::map_config_to_regex(ocel_config.consumed())?; + let alloc_merged_config = Self::map_config_to_regex(ocel_config.allocated_merged())?; + let consume_produce_config = Self::map_config_to_regex(ocel_config.consume_produce())?; - let object_type = ocel_config.info().object_type_attr().create(&event.borrow()); - - let object_id = match Self::parse_object_id(&event.borrow(), ocel_config.info().object_id_attr().as_str()) { - None => { - debug!("Object does not have an object id, skipping it"); - continue; - } - Some(id) => id.to_string() - }; - - let action = if let Some(action_attr) = ocel_config.info().object_action_type_attr().as_ref() { - let related_objs_ids = ocel_config.info().related_object_ids_attr().as_ref(); - if let Some(ocel_action) = Self::parse_ocel_object_action(&event.borrow(), action_attr, related_objs_ids) { - ocel_action - } else { - get_fallback_ocel_object_action() - } - } else { - get_fallback_ocel_object_action() - }; - - software_data.ocel_data_mut().push(OcelData::new(object_type, object_id, action)); - } + for event in events { + let event = &event.borrow(); + + let _ = Self::process_allocate_merge(event, alloc_merged_config.as_ref(), software_data) || + Self::process_consume_produce(event, consume_produce_config.as_ref(), software_data) || + Self::process_allocate(event, alloc_config.as_ref(), software_data) || + Self::process_consume(event, consume_config.as_ref(), software_data); } Ok(()) } } -fn get_fallback_ocel_object_action() -> OcelObjectAction { - let fallback_action = OcelObjectAction::Allocate; - debug!("Failed to get OCEL objet action, will use {} action as fallback value", fallback_action); +impl<'a> OcelDataExtractor<'a> { + fn map_config_to_regex(config: &Option>) -> Result, SoftwareDataExtractionError> { + let Some(config) = config else { return Ok(None) }; - fallback_action -} + let regex = config.event_class_regex(); + let regex = Regex::new(regex).map_err(|_| SoftwareDataExtractionError::FailedToParseRegex(regex.to_owned()))?; -impl<'a> OcelDataExtractor<'a> { - fn parse_object_id(event: &XesEventImpl, object_id_attr: &str) -> Option> { - if let Some(map) = event.payload_map().as_ref() { - if let Some(object_id) = map.get(object_id_attr).as_ref() { - return Some(object_id.to_string_repr()) + Ok(Some((regex, config.info()))) + } + + fn process_allocate( + event: &XesEventImpl, + config: Option<&(Regex, &OcelObjectExtractionConfigBase)>, + software_data: &mut SoftwareData, + ) -> bool { + let Some(config) = Self::try_get_config(event, config) else { return false }; + let Some((id, obj_type)) = Self::extract_object_id_and_type(event, config) else { return false }; + let action = OcelObjectAction::Allocate(ObjectTypeWithData::new(Some(obj_type), ())); + + software_data.ocel_data_mut().push(OcelData::new(id, action)); + + true + } + + fn try_get_config<'b, T>(event: &'b XesEventImpl, config: Option<&'b (Regex, T)>) -> Option<&'b T> { + let Some((regex, config)) = config else { return None }; + if !regex.is_match(event.name().as_str()).unwrap_or(false) { return None } + + Some(config) + } + + fn process_consume( + event: &XesEventImpl, + config: Option<&(Regex, &OcelObjectExtractionConfigBase)>, + software_data: &mut SoftwareData, + ) -> bool { + let Some(config) = Self::try_get_config(event, config) else { return false }; + + let Some((id, obj_type)) = Self::extract_object_id_and_type(event, config) else { return false }; + let action = OcelObjectAction::Consume(ObjectTypeWithData::new(Some(obj_type), ())); + + software_data.ocel_data_mut().push(OcelData::new(id, action)); + + true + } + + fn extract_object_id_and_type(event: &XesEventImpl, config: &OcelObjectExtractionConfigBase) -> Option<(String, String)> { + let object_type = config.object_type_attr().create(event); + + let object_id = match Self::parse_object_id(&event, config.object_id_attr().as_str()) { + None => { + debug!("Object does not have an object id, skipping it"); + return None } - } + Some(id) => id.to_string() + }; - None + Some((object_id, object_type)) } - fn parse_ocel_object_action( + fn process_allocate_merge( event: &XesEventImpl, - action_attr: &String, - related_objects_ids_attr: Option<&String>, - ) -> Option { + config: Option<&(Regex, &OcelAllocateMergeExtractionConfig)>, + software_data: &mut SoftwareData, + ) -> bool { + let Some(config) = Self::try_get_config(event, config) else { return false }; + + let Some(payload) = event.payload_map() else { return false }; + let Some((id, obj_type)) = Self::extract_object_id_and_type(event, config.allocated_obj()) else { return false }; + let Some(related_objects_ids) = Self::parse_related_objects_ids(payload, Some(config.related_object_ids_attr())) else { return false }; + + let data = ObjectTypeWithData::new(Some(obj_type), related_objects_ids); + let ocel_data = OcelData::new(id, OcelObjectAction::AllocateMerged(data)); + software_data.ocel_data_mut().push(ocel_data); + + true + } + + fn process_consume_produce( + event: &XesEventImpl, + config: Option<&(Regex, &OcelConsumeProduceExtractionConfig)>, + software_data: &mut SoftwareData, + ) -> bool { + let Some(config) = Self::try_get_config(event, config) else { return false }; + + let Some(payload) = event.payload_map() else { return false }; + let Some(object_id) = Self::parse_object_id(&event, config.object_id_attr().as_str()) else { return false }; + let Some(related_objects_ids) = Self::parse_related_objects_ids(payload, Some(config.related_object_ids_attr())) else { return false }; + let Some(related_objects_types) = Self::parse_related_objects_ids(payload, Some(config.related_object_type_attr())) else { return false }; + + if related_objects_ids.len() != related_objects_types.len() { + warn!("related_objects_ids.len() != related_objects_types.len(), will not add consume produce"); + return false; + } + + let data = related_objects_ids + .into_iter() + .zip(related_objects_types.into_iter()) + .map(|(id, r#type)| OcelProducedObjectAfterConsume::new(id, Some(r#type))) + .collect(); + + let ocel_data = OcelData::new(object_id.to_string(), OcelObjectAction::ConsumeWithProduce(data)); + software_data.ocel_data_mut().push(ocel_data); + + true + } + + fn parse_object_id(event: &XesEventImpl, object_id_attr: &str) -> Option> { if let Some(map) = event.payload_map().as_ref() { - if let Some(action_value) = map.get(action_attr).as_ref() { - match action_value.to_string_repr().as_str() { - "Allocate" => return Some(OcelObjectAction::Allocate), - "Consume" => return Some(OcelObjectAction::Consume), - "AllocateMerged" => return match Self::parse_related_objects_ids(map, related_objects_ids_attr) { - None => Some(OcelObjectAction::Allocate), - Some(ids) => Some(OcelObjectAction::AllocateMerged(ids)) - }, - "ConsumeWithProduce" => return match Self::parse_related_objects_ids(map, related_objects_ids_attr) { - None => Some(OcelObjectAction::Consume), - Some(ids) => Some(OcelObjectAction::ConsumeWithProduce(ids)) - }, - _ => {} - } + if let Some(object_id) = map.get(object_id_attr).as_ref() { + return Some(object_id.to_string_repr()) } } diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs index f8ef2ab21..62714c7ab 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs @@ -46,18 +46,32 @@ impl SoftwareData { } } +#[derive(Clone, Debug, Getters, Serialize, Deserialize, new)] +pub struct OcelProducedObjectAfterConsume { + #[getset(get = "pub")] + id: String, + #[getset(get = "pub")] + r#type: Option +} + +#[derive(Clone, Debug, Getters, Serialize, Deserialize, new)] +pub struct ObjectTypeWithData { + #[getset(get = "pub")] + r#type: Option, + #[getset(get = "pub")] + data: T, +} + #[derive(Clone, Debug, Serialize, Deserialize, EnumDisplay)] pub enum OcelObjectAction { - Allocate, - Consume, - AllocateMerged(Vec), - ConsumeWithProduce(Vec) + Allocate(ObjectTypeWithData<()>), + Consume(ObjectTypeWithData<()>), + AllocateMerged(ObjectTypeWithData>), + ConsumeWithProduce(Vec) } #[derive(Clone, Debug, Getters, new, Serialize, Deserialize)] pub struct OcelData { - #[getset(get = "pub")] - object_type: String, #[getset(get = "pub")] object_id: String, #[getset(get = "pub")] diff --git a/Ficus/src/rust/ficus/src/grpc/converters.rs b/Ficus/src/rust/ficus/src/grpc/converters.rs index 61a8db702..f4c816d90 100644 --- a/Ficus/src/rust/ficus/src/grpc/converters.rs +++ b/Ficus/src/rust/ficus/src/grpc/converters.rs @@ -27,7 +27,7 @@ use crate::features::discovery::timeline::software_data::models::{ActivityDurati use crate::ficus_proto::grpc_annotation::Annotation::{CountAnnotation, FrequencyAnnotation, TimeAnnotation}; use crate::ficus_proto::grpc_context_value::ContextValue::Annotation; use crate::ficus_proto::grpc_node_additional_data::Data; -use crate::ficus_proto::{grpc_event_attribute, grpc_graph_edge_additional_data, grpc_ocel_data, GrpcActivityDurationData, GrpcActivityStartEndData, GrpcAllocationInfo, GrpcAnnotation, GrpcBytes, GrpcColorsEventLogMapping, GrpcCountAnnotation, GrpcDataset, GrpcDurationKind, GrpcEdgeExecutionInfo, GrpcEntityCountAnnotation, GrpcEntityFrequencyAnnotation, GrpcEntityTimeAnnotation, GrpcEvent, GrpcEventAttribute, GrpcEventCoordinates, GrpcFrequenciesAnnotation, GrpcGeneralHistogramData, GrpcGenericEnhancementBase, GrpcGraph, GrpcGraphEdge, GrpcGraphEdgeAdditionalData, GrpcGraphKind, GrpcGraphNode, GrpcGuid, GrpcHistogramEntry, GrpcLabeledDataset, GrpcLogPoint, GrpcLogTimelineDiagram, GrpcMatrix, GrpcMatrixRow, GrpcMergedObjectAllocation, GrpcMethodInliningInfo, GrpcMethodNameParts, GrpcModelElementOcelAnnotation, GrpcMultithreadedFragment, GrpcNodeAdditionalData, GrpcNodeCorrespondingTraceData, GrpcOcelData, GrpcOcelModelAnnotation, GrpcOcelObjectTypeState, GrpcOcelState, GrpcPetriNet, GrpcPetriNetArc, GrpcPetriNetMarking, GrpcPetriNetPlace, GrpcPetriNetSinglePlaceMarking, GrpcPetriNetTransition, GrpcProduceObjectConsumption, GrpcSimpleCounterData, GrpcSimpleEventLog, GrpcSimpleTrace, GrpcSoftwareData, GrpcThread, GrpcThreadEvent, GrpcTimePerformanceAnnotation, GrpcTimeSpan, GrpcTimelineDiagramFragment, GrpcTimelineTraceEventsGroup, GrpcTraceTimelineDiagram, GrpcUnderlyingPatternInfo, GrpcUnderlyingPatternKind}; +use crate::ficus_proto::{grpc_event_attribute, grpc_graph_edge_additional_data, grpc_ocel_data, GrpcActivityDurationData, GrpcActivityStartEndData, GrpcAllocationInfo, GrpcAnnotation, GrpcBytes, GrpcColorsEventLogMapping, GrpcCountAnnotation, GrpcDataset, GrpcDurationKind, GrpcEdgeExecutionInfo, GrpcEntityCountAnnotation, GrpcEntityFrequencyAnnotation, GrpcEntityTimeAnnotation, GrpcEvent, GrpcEventAttribute, GrpcEventCoordinates, GrpcFrequenciesAnnotation, GrpcGeneralHistogramData, GrpcGenericEnhancementBase, GrpcGraph, GrpcGraphEdge, GrpcGraphEdgeAdditionalData, GrpcGraphKind, GrpcGraphNode, GrpcGuid, GrpcHistogramEntry, GrpcLabeledDataset, GrpcLogPoint, GrpcLogTimelineDiagram, GrpcMatrix, GrpcMatrixRow, GrpcMethodInliningInfo, GrpcMethodNameParts, GrpcModelElementOcelAnnotation, GrpcMultithreadedFragment, GrpcNodeAdditionalData, GrpcNodeCorrespondingTraceData, GrpcOcelAllocateMerge, GrpcOcelConsumeProduce, GrpcOcelData, GrpcOcelModelAnnotation, GrpcOcelObjectTypeData, GrpcOcelObjectTypeState, GrpcOcelProducedObject, GrpcOcelState, GrpcPetriNet, GrpcPetriNetArc, GrpcPetriNetMarking, GrpcPetriNetPlace, GrpcPetriNetSinglePlaceMarking, GrpcPetriNetTransition, GrpcSimpleCounterData, GrpcSimpleEventLog, GrpcSimpleTrace, GrpcSoftwareData, GrpcThread, GrpcThreadEvent, GrpcTimePerformanceAnnotation, GrpcTimeSpan, GrpcTimelineDiagramFragment, GrpcTimelineTraceEventsGroup, GrpcTraceTimelineDiagram, GrpcUnderlyingPatternInfo, GrpcUnderlyingPatternKind}; use crate::grpc::pipeline_executor::ServicePipelineExecutionContext; use crate::pipelines::activities_parts::{ActivitiesLogsSourceDto, UndefActivityHandlingStrategyDto}; use crate::pipelines::keys::context_keys::{BYTES_KEY, COLORS_EVENT_LOG_KEY, EVENT_LOG_INFO_KEY, EVENT_LOG_KEY, GRAPH_KEY, GRAPH_TIME_ANNOTATION_KEY, HASHES_EVENT_LOG_KEY, LABELED_LOG_TRACES_DATASET_KEY, LABELED_TRACES_ACTIVITIES_DATASET_KEY, LOG_THREADS_DIAGRAM_KEY, LOG_TRACES_DATASET_KEY, NAMES_EVENT_LOG_KEY, OCEL_ANNOTATION_KEY, PATH_KEY, PATTERNS_KEY, PETRI_NET_COUNT_ANNOTATION_KEY, PETRI_NET_FREQUENCY_ANNOTATION_KEY, PETRI_NET_KEY, PETRI_NET_TRACE_FREQUENCY_ANNOTATION_KEY, REPEAT_SETS_KEY, SOFTWARE_DATA_EXTRACTION_CONFIG_KEY, TRACES_ACTIVITIES_DATASET_KEY}; @@ -934,21 +934,24 @@ fn convert_to_grpc_software_data(software_data: &SoftwareData) -> GrpcSoftwareDa fn convert_to_grpc_ocel_data(data: &OcelData) -> GrpcOcelData { GrpcOcelData { object_id: data.object_id().to_owned(), - object_type: data.object_type().to_owned(), action: Some(match data.action() { - OcelObjectAction::Allocate => grpc_ocel_data::Action::Allocate(()), - OcelObjectAction::Consume => grpc_ocel_data::Action::Consume(()), - OcelObjectAction::AllocateMerged(ids) => grpc_ocel_data::Action::MergedObjectAllocation( - GrpcMergedObjectAllocation { - consumed_objects_ids: ids.clone() - } - ), - OcelObjectAction::ConsumeWithProduce(ids) => grpc_ocel_data::Action::ProduceObjectConsumption( - GrpcProduceObjectConsumption { - produced_objects_ids: ids.clone() - } - ), - }), + OcelObjectAction::Allocate(data) => grpc_ocel_data::Action::Allocate(GrpcOcelObjectTypeData { + r#type: data.r#type().to_owned() + }), + OcelObjectAction::Consume(data) => grpc_ocel_data::Action::Consume(GrpcOcelObjectTypeData { + r#type: data.r#type().to_owned() + }), + OcelObjectAction::AllocateMerged(data) => grpc_ocel_data::Action::MergedObjectAllocation(GrpcOcelAllocateMerge { + r#type: data.r#type().to_owned(), + merged_objects_ids: data.data().clone(), + }), + OcelObjectAction::ConsumeWithProduce(data) => grpc_ocel_data::Action::ProduceObjectConsumption(GrpcOcelConsumeProduce { + produced_objects: data.iter().map(|x| GrpcOcelProducedObject { + id: x.id().to_owned(), + r#type: x.r#type().to_owned(), + }).collect() + }) + }) } } diff --git a/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs b/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs index 9459ead4f..5cc0e197c 100644 --- a/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs +++ b/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs @@ -2,14 +2,14 @@ use chrono::Utc; use ficus::event_log::core::event::event::EventPayloadValue; use ficus::event_log::xes::xes_event::XesEventImpl; use ficus::features::discovery::timeline::events_groups::EventGroup; -use ficus::features::discovery::timeline::software_data::extraction_config::{ActivityDurationExtractionConfig, ExtractionConfig, GenericExtractionConfigBase, NameCreationStrategy, OcelDataExtractionConfig, PieChartExtractionConfig, SimpleCountExtractionConfig, SingleAttribute, SoftwareDataExtractionConfig, TimeAttributeConfig, TimeKind}; +use ficus::features::discovery::timeline::software_data::extraction_config::{ActivityDurationExtractionConfig, ExtractionConfig, GenericExtractionConfigBase, NameCreationStrategy, OcelAllocateMergeExtractionConfig, OcelConsumeProduceExtractionConfig, OcelObjectExtractionConfigBase, OcelUnitedExtractionConfig, PieChartExtractionConfig, SimpleCountExtractionConfig, SingleAttribute, SoftwareDataExtractionConfig, TimeAttributeConfig, TimeKind}; use ficus::features::discovery::timeline::software_data::extractors::activities_durations::ActivityDurationExtractor; use ficus::features::discovery::timeline::software_data::extractors::core::{ EventGroupSoftwareDataExtractor, EventGroupTraceSoftwareDataExtractor, }; use ficus::features::discovery::timeline::software_data::extractors::pie_charts::PieChartExtractor; use ficus::features::discovery::timeline::software_data::extractors::simple_counter::SimpleCounterExtractor; -use ficus::features::discovery::timeline::software_data::models::SoftwareData; +use ficus::features::discovery::timeline::software_data::models::{OcelProducedObjectAfterConsume, SoftwareData}; use std::cell::RefCell; use std::rc::Rc; use ficus::features::discovery::timeline::software_data::extractors::ocel::OcelDataExtractor; @@ -348,11 +348,11 @@ fn test_activities_duration_2() { #[test] pub fn test_ocel_data_extraction() { execute_test_with_software_data( - r#"{"ocel_data":[{"object_type":"type1","object_id":"id_1","action":"Allocate"},{"object_type":"type1","object_id":"id_2","action":"Consume"},{"object_type":"type1","object_id":"id_3","action":"Allocate"},{"object_type":"type1","object_id":"id_2","action":{"ConsumeWithProduce":["1","2","3","4","5"]}},{"object_type":"type1","object_id":"id_2","action":{"AllocateMerged":["1","2","3","4","5"]}},{"object_type":"type1","object_id":"id_2","action":"Allocate"},{"object_type":"type1","object_id":"id_2","action":"Consume"},{"object_type":"type1","object_id":"id_2","action":"Consume"},{"object_type":"type1","object_id":"id_2","action":"Allocate"}]}"#, + r#"{"ocel_data":[{"object_id":"id_1","action":{"Allocate":{"type":"type1","data":null}}},{"object_id":"id_2","action":{"Consume":{"type":"type1","data":null}}},{"object_id":"id_3","action":{"Allocate":{"type":"type1","data":null}}},{"object_id":"id_2","action":{"ConsumeWithProduce":[{"id":"1","type":"T1"},{"id":"2","type":"T2"},{"id":"3","type":"T3"},{"id":"4","type":"T4"},{"id":"5","type":"T5"}]}},{"object_id":"id_2","action":{"AllocateMerged":{"type":"type1","data":["1","2","3","4","5"]}}}]}"#, || { let events = [ create_event_with_attributes( - "ocel_event".to_string(), + "ocel_allocate".to_string(), vec![ ( "object_type".to_string(), @@ -362,11 +362,10 @@ pub fn test_ocel_data_extraction() { "object_id".to_string(), EventPayloadValue::String(Rc::new(Box::new("id_1".to_string()))), ), - ("ocel_action".to_string(), EventPayloadValue::String(Rc::new(Box::new("Allocate".to_string())))), ], ), create_event_with_attributes( - "ocel_event".to_string(), + "ocel_consume".to_string(), vec![ ( "object_type".to_string(), @@ -376,11 +375,10 @@ pub fn test_ocel_data_extraction() { "object_id".to_string(), EventPayloadValue::String(Rc::new(Box::new("id_2".to_string()))), ), - ("ocel_action".to_string(), EventPayloadValue::String(Rc::new(Box::new("Consume".to_string())))), ], ), create_event_with_attributes( - "ocel_event".to_string(), + "ocel_allocate".to_string(), vec![ ( "object_type".to_string(), @@ -401,71 +399,12 @@ pub fn test_ocel_data_extraction() { ), ( "object_id".to_string(), - EventPayloadValue::String(Rc::new(Box::new("id_2".to_string()))), - ), - ("ocel_action".to_string(), EventPayloadValue::String(Rc::new(Box::new("Consume".to_string())))), - ], - ), - create_event_with_attributes( - "ocel_event".to_string(), - vec![ - ( - "object_type".to_string(), - EventPayloadValue::String(Rc::new(Box::new("type1".to_string()))), - ), - ( - "object_id".to_string(), - EventPayloadValue::String(Rc::new(Box::new("id_2".to_string()))), - ), - ("ocel_action".to_string(), EventPayloadValue::String(Rc::new(Box::new("ConsumeWithProduce".to_string())))), - ("ocel_related_objects".to_string(), EventPayloadValue::String(Rc::new(Box::new("1 2 3 4 5".to_string())))), - ], - ), - create_event_with_attributes( - "ocel_event".to_string(), - vec![ - ( - "object_type".to_string(), - EventPayloadValue::String(Rc::new(Box::new("type1".to_string()))), - ), - ( - "object_id".to_string(), - EventPayloadValue::String(Rc::new(Box::new("id_2".to_string()))), - ), - ("ocel_action".to_string(), EventPayloadValue::String(Rc::new(Box::new("AllocateMerged".to_string())))), - ("ocel_related_objects".to_string(), EventPayloadValue::String(Rc::new(Box::new("1 2 3 4 5".to_string())))), - ], - ), - create_event_with_attributes( - "ocel_event".to_string(), - vec![ - ( - "object_type".to_string(), - EventPayloadValue::String(Rc::new(Box::new("type1".to_string()))), - ), - ( - "object_id".to_string(), - EventPayloadValue::String(Rc::new(Box::new("id_2".to_string()))), - ), - ("ocel_action".to_string(), EventPayloadValue::String(Rc::new(Box::new("AllocateMerged".to_string())))), - ], - ), - create_event_with_attributes( - "ocel_event".to_string(), - vec![ - ( - "object_type".to_string(), - EventPayloadValue::String(Rc::new(Box::new("type1".to_string()))), + EventPayloadValue::String(Rc::new(Box::new("id_2123123".to_string()))), ), - ( - "object_id".to_string(), - EventPayloadValue::String(Rc::new(Box::new("id_2".to_string()))), - ), - ("ocel_action".to_string(), EventPayloadValue::String(Rc::new(Box::new("ConsumeWithProduce".to_string())))), ], ), create_event_with_attributes( - "ocel_event".to_string(), + "ocel_consume_produce".to_string(), vec![ ( "object_type".to_string(), @@ -475,12 +414,12 @@ pub fn test_ocel_data_extraction() { "object_id".to_string(), EventPayloadValue::String(Rc::new(Box::new("id_2".to_string()))), ), - ("ocel_action".to_string(), EventPayloadValue::String(Rc::new(Box::new("ConsumeWithProduce".to_string())))), - ("ocel_related_objects".to_string(), EventPayloadValue::String(Rc::new(Box::new(" ".to_string())))), + ("ocel_related_objects_ids".to_string(), EventPayloadValue::String(Rc::new(Box::new("1 2 3 4 5".to_string())))), + ("ocel_related_objects_types".to_string(), EventPayloadValue::String(Rc::new(Box::new("T1 T2 T3 T4 T5".to_string())))), ], ), create_event_with_attributes( - "ocel_event".to_string(), + "ocel_allocate_merge".to_string(), vec![ ( "object_type".to_string(), @@ -491,51 +430,47 @@ pub fn test_ocel_data_extraction() { EventPayloadValue::String(Rc::new(Box::new("id_2".to_string()))), ), ("ocel_action".to_string(), EventPayloadValue::String(Rc::new(Box::new("AllocateMerged".to_string())))), - ("ocel_related_objects".to_string(), EventPayloadValue::String(Rc::new(Box::new(" ".to_string())))), - ], - ), - create_event_with_attributes( - "ocel_event".to_string(), - vec![ - ( - "object_type".to_string(), - EventPayloadValue::String(Rc::new(Box::new("type1".to_string()))), - ), - ("ocel_action".to_string(), EventPayloadValue::String(Rc::new(Box::new("AllocateMerged".to_string())))), - ("ocel_related_objects".to_string(), EventPayloadValue::String(Rc::new(Box::new(" ".to_string())))), - ], - ), - create_event_with_attributes( - "hst_event".to_string(), - vec![ - ( - "type".to_string(), - EventPayloadValue::String(Rc::new(Box::new("type1".to_string()))), - ), - ("count".to_string(), EventPayloadValue::Int64(123)), - ], - ), - create_event_with_attributes( - "hst_event".to_string(), - vec![ - ( - "type".to_string(), - EventPayloadValue::String(Rc::new(Box::new("type2".to_string()))), - ), - ("count".to_string(), EventPayloadValue::Int32(123)), + ("ocel_related_objects_ids".to_string(), EventPayloadValue::String(Rc::new(Box::new("1 2 3 4 5".to_string())))), ], ), ]; let mut config = SoftwareDataExtractionConfig::empty(); + let object_id_attr = "object_id"; + let object_type_attr = NameCreationStrategy::SingleAttribute(SingleAttribute::new("object_type".to_string(), "???".to_string())); + let base_conf = OcelObjectExtractionConfigBase::new(object_type_attr.to_owned(), object_id_attr.to_string()); + let related_ids_attr = "ocel_related_objects_ids"; + let related_types_attr = "ocel_related_objects_types"; + config.set_ocel( - Some(ExtractionConfig::new( - "ocel_event".to_string(), - OcelDataExtractionConfig::new( - NameCreationStrategy::SingleAttribute(SingleAttribute::new("object_type".to_string(), "???".to_string())), - "object_id".to_string(), - Some("ocel_action".to_string()), - Some("ocel_related_objects".to_string()) + Some(OcelUnitedExtractionConfig::new( + Some( + ExtractionConfig::new( + "ocel_allocate".to_string(), + base_conf.to_owned(), + ) + ), + Some( + ExtractionConfig::new( + "ocel_consume".to_string(), + base_conf.to_owned(), + ) + ), + Some( + ExtractionConfig::new( + "ocel_allocate_merge".to_string(), + OcelAllocateMergeExtractionConfig::new(base_conf.to_owned(), related_ids_attr.to_string()), + ) + ), + Some( + ExtractionConfig::new( + "ocel_consume_produce".to_string(), + OcelConsumeProduceExtractionConfig::new( + object_id_attr.to_string(), + related_ids_attr.to_string(), + related_types_attr.to_string(), + ), + ) ), )) ); From 3245e1f40468473f7f79e658c21cdae6d675bb6c Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sun, 19 Oct 2025 15:35:53 +0300 Subject: [PATCH 116/189] Regenerate models --- .../Npm/src/protos/backend_service.ts | 6 +- .../Npm/src/protos/context_values_service.ts | 6 +- .../src/protos/ficus/GrpcOcelAllocateMerge.ts | 14 + .../protos/ficus/GrpcOcelConsumeProduce.ts | 11 + .../Npm/src/protos/ficus/GrpcOcelData.ts | 24 +- .../protos/ficus/GrpcOcelObjectTypeData.ts | 12 + .../protos/ficus/GrpcOcelProducedObject.ts | 14 + .../Npm/src/protos/front_contract.ts | 6 +- .../Npm/src/protos/kafka_service.ts | 6 +- .../Npm/src/protos/pipelines_and_context.ts | 6 +- .../go/grpcmodels/pipelines_and_context.pb.go | 631 ++++++++++-------- .../models/pipelines_and_context_pb2.py | 110 +-- .../models/pipelines_and_context_pb2.pyi | 54 +- 13 files changed, 545 insertions(+), 355 deletions(-) create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelAllocateMerge.ts create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelConsumeProduce.ts create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelObjectTypeData.ts create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelProducedObject.ts diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/backend_service.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/backend_service.ts index 785b95c87..4838e9b75 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/backend_service.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/backend_service.ts @@ -67,7 +67,6 @@ export interface ProtoGrpcType { GrpcLogTimelineDiagram: MessageTypeDefinition GrpcMatrix: MessageTypeDefinition GrpcMatrixRow: MessageTypeDefinition - GrpcMergedObjectAllocation: MessageTypeDefinition GrpcMethodInliningInfo: MessageTypeDefinition GrpcMethodNameParts: MessageTypeDefinition GrpcModelElementOcelAnnotation: MessageTypeDefinition @@ -77,9 +76,13 @@ export interface ProtoGrpcType { GrpcNamesTrace: MessageTypeDefinition GrpcNodeAdditionalData: MessageTypeDefinition GrpcNodeCorrespondingTraceData: MessageTypeDefinition + GrpcOcelAllocateMerge: MessageTypeDefinition + GrpcOcelConsumeProduce: MessageTypeDefinition GrpcOcelData: MessageTypeDefinition GrpcOcelModelAnnotation: MessageTypeDefinition + GrpcOcelObjectTypeData: MessageTypeDefinition GrpcOcelObjectTypeState: MessageTypeDefinition + GrpcOcelProducedObject: MessageTypeDefinition GrpcOcelState: MessageTypeDefinition GrpcParallelPipelinePart: MessageTypeDefinition GrpcParallelPipelineParts: MessageTypeDefinition @@ -101,7 +104,6 @@ export interface ProtoGrpcType { GrpcPipelinePartResult: MessageTypeDefinition GrpcPipelinePartToBackends: MessageTypeDefinition GrpcPredefinedPipelinePartsToBackendsMap: MessageTypeDefinition - GrpcProduceObjectConsumption: MessageTypeDefinition GrpcProxyPipelineExecutionRequest: MessageTypeDefinition GrpcSimpleContextRequestPipelinePart: MessageTypeDefinition GrpcSimpleCounterData: MessageTypeDefinition diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/context_values_service.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/context_values_service.ts index 2d81a3d81..0d13109b5 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/context_values_service.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/context_values_service.ts @@ -64,7 +64,6 @@ export interface ProtoGrpcType { GrpcLogTimelineDiagram: MessageTypeDefinition GrpcMatrix: MessageTypeDefinition GrpcMatrixRow: MessageTypeDefinition - GrpcMergedObjectAllocation: MessageTypeDefinition GrpcMethodInliningInfo: MessageTypeDefinition GrpcMethodNameParts: MessageTypeDefinition GrpcModelElementOcelAnnotation: MessageTypeDefinition @@ -74,9 +73,13 @@ export interface ProtoGrpcType { GrpcNamesTrace: MessageTypeDefinition GrpcNodeAdditionalData: MessageTypeDefinition GrpcNodeCorrespondingTraceData: MessageTypeDefinition + GrpcOcelAllocateMerge: MessageTypeDefinition + GrpcOcelConsumeProduce: MessageTypeDefinition GrpcOcelData: MessageTypeDefinition GrpcOcelModelAnnotation: MessageTypeDefinition + GrpcOcelObjectTypeData: MessageTypeDefinition GrpcOcelObjectTypeState: MessageTypeDefinition + GrpcOcelProducedObject: MessageTypeDefinition GrpcOcelState: MessageTypeDefinition GrpcParallelPipelinePart: MessageTypeDefinition GrpcParallelPipelineParts: MessageTypeDefinition @@ -90,7 +93,6 @@ export interface ProtoGrpcType { GrpcPipelinePart: MessageTypeDefinition GrpcPipelinePartBase: MessageTypeDefinition GrpcPipelinePartConfiguration: MessageTypeDefinition - GrpcProduceObjectConsumption: MessageTypeDefinition GrpcSimpleContextRequestPipelinePart: MessageTypeDefinition GrpcSimpleCounterData: MessageTypeDefinition GrpcSimpleEventLog: MessageTypeDefinition diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelAllocateMerge.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelAllocateMerge.ts new file mode 100644 index 000000000..116e889cd --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelAllocateMerge.ts @@ -0,0 +1,14 @@ +// Original file: ../../../../../protos/pipelines_and_context.proto + + +export interface GrpcOcelAllocateMerge_DONTUSE { + 'type'?: (string); + 'mergedObjectsIds'?: (string)[]; + '_type'?: "type"; +} + +export interface GrpcOcelAllocateMerge { + 'type'?: (string); + 'mergedObjectsIds': (string)[]; + '_type': "type"; +} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelConsumeProduce.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelConsumeProduce.ts new file mode 100644 index 000000000..1ee261c08 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelConsumeProduce.ts @@ -0,0 +1,11 @@ +// Original file: ../../../../../protos/pipelines_and_context.proto + +import type { GrpcOcelProducedObject_DONTUSE as _ficus_GrpcOcelProducedObject_DONTUSE, GrpcOcelProducedObject as _ficus_GrpcOcelProducedObject } from '../ficus/GrpcOcelProducedObject'; + +export interface GrpcOcelConsumeProduce_DONTUSE { + 'producedObjects'?: (_ficus_GrpcOcelProducedObject_DONTUSE)[]; +} + +export interface GrpcOcelConsumeProduce { + 'producedObjects': (_ficus_GrpcOcelProducedObject)[]; +} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelData.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelData.ts index 8c8f62255..f7510f019 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelData.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelData.ts @@ -1,25 +1,23 @@ // Original file: ../../../../../protos/pipelines_and_context.proto -import type { Empty_DONTUSE as _google_protobuf_Empty_DONTUSE, Empty as _google_protobuf_Empty } from '../google/protobuf/Empty'; -import type { GrpcMergedObjectAllocation_DONTUSE as _ficus_GrpcMergedObjectAllocation_DONTUSE, GrpcMergedObjectAllocation as _ficus_GrpcMergedObjectAllocation } from '../ficus/GrpcMergedObjectAllocation'; -import type { GrpcProduceObjectConsumption_DONTUSE as _ficus_GrpcProduceObjectConsumption_DONTUSE, GrpcProduceObjectConsumption as _ficus_GrpcProduceObjectConsumption } from '../ficus/GrpcProduceObjectConsumption'; +import type { GrpcOcelObjectTypeData_DONTUSE as _ficus_GrpcOcelObjectTypeData_DONTUSE, GrpcOcelObjectTypeData as _ficus_GrpcOcelObjectTypeData } from '../ficus/GrpcOcelObjectTypeData'; +import type { GrpcOcelAllocateMerge_DONTUSE as _ficus_GrpcOcelAllocateMerge_DONTUSE, GrpcOcelAllocateMerge as _ficus_GrpcOcelAllocateMerge } from '../ficus/GrpcOcelAllocateMerge'; +import type { GrpcOcelConsumeProduce_DONTUSE as _ficus_GrpcOcelConsumeProduce_DONTUSE, GrpcOcelConsumeProduce as _ficus_GrpcOcelConsumeProduce } from '../ficus/GrpcOcelConsumeProduce'; export interface GrpcOcelData_DONTUSE { - 'objectType'?: (string); 'objectId'?: (string); - 'allocate'?: (_google_protobuf_Empty_DONTUSE | null); - 'consume'?: (_google_protobuf_Empty_DONTUSE | null); - 'mergedObjectAllocation'?: (_ficus_GrpcMergedObjectAllocation_DONTUSE | null); - 'produceObjectConsumption'?: (_ficus_GrpcProduceObjectConsumption_DONTUSE | null); + 'allocate'?: (_ficus_GrpcOcelObjectTypeData_DONTUSE | null); + 'consume'?: (_ficus_GrpcOcelObjectTypeData_DONTUSE | null); + 'mergedObjectAllocation'?: (_ficus_GrpcOcelAllocateMerge_DONTUSE | null); + 'produceObjectConsumption'?: (_ficus_GrpcOcelConsumeProduce_DONTUSE | null); 'action'?: "allocate"|"consume"|"mergedObjectAllocation"|"produceObjectConsumption"; } export interface GrpcOcelData { - 'objectType': (string); 'objectId': (string); - 'allocate'?: (_google_protobuf_Empty | null); - 'consume'?: (_google_protobuf_Empty | null); - 'mergedObjectAllocation'?: (_ficus_GrpcMergedObjectAllocation | null); - 'produceObjectConsumption'?: (_ficus_GrpcProduceObjectConsumption | null); + 'allocate'?: (_ficus_GrpcOcelObjectTypeData | null); + 'consume'?: (_ficus_GrpcOcelObjectTypeData | null); + 'mergedObjectAllocation'?: (_ficus_GrpcOcelAllocateMerge | null); + 'produceObjectConsumption'?: (_ficus_GrpcOcelConsumeProduce | null); 'action': "allocate"|"consume"|"mergedObjectAllocation"|"produceObjectConsumption"; } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelObjectTypeData.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelObjectTypeData.ts new file mode 100644 index 000000000..ae0876800 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelObjectTypeData.ts @@ -0,0 +1,12 @@ +// Original file: ../../../../../protos/pipelines_and_context.proto + + +export interface GrpcOcelObjectTypeData_DONTUSE { + 'type'?: (string); + '_type'?: "type"; +} + +export interface GrpcOcelObjectTypeData { + 'type'?: (string); + '_type': "type"; +} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelProducedObject.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelProducedObject.ts new file mode 100644 index 000000000..68d2d6731 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelProducedObject.ts @@ -0,0 +1,14 @@ +// Original file: ../../../../../protos/pipelines_and_context.proto + + +export interface GrpcOcelProducedObject_DONTUSE { + 'id'?: (string); + 'type'?: (string); + '_type'?: "type"; +} + +export interface GrpcOcelProducedObject { + 'id': (string); + 'type'?: (string); + '_type': "type"; +} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/front_contract.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/front_contract.ts index 5d1b67da4..6b1654f3e 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/front_contract.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/front_contract.ts @@ -66,7 +66,6 @@ export interface ProtoGrpcType { GrpcLogTimelineDiagram: MessageTypeDefinition GrpcMatrix: MessageTypeDefinition GrpcMatrixRow: MessageTypeDefinition - GrpcMergedObjectAllocation: MessageTypeDefinition GrpcMethodInliningInfo: MessageTypeDefinition GrpcMethodNameParts: MessageTypeDefinition GrpcModelElementOcelAnnotation: MessageTypeDefinition @@ -76,9 +75,13 @@ export interface ProtoGrpcType { GrpcNamesTrace: MessageTypeDefinition GrpcNodeAdditionalData: MessageTypeDefinition GrpcNodeCorrespondingTraceData: MessageTypeDefinition + GrpcOcelAllocateMerge: MessageTypeDefinition + GrpcOcelConsumeProduce: MessageTypeDefinition GrpcOcelData: MessageTypeDefinition GrpcOcelModelAnnotation: MessageTypeDefinition + GrpcOcelObjectTypeData: MessageTypeDefinition GrpcOcelObjectTypeState: MessageTypeDefinition + GrpcOcelProducedObject: MessageTypeDefinition GrpcOcelState: MessageTypeDefinition GrpcParallelPipelinePart: MessageTypeDefinition GrpcParallelPipelineParts: MessageTypeDefinition @@ -97,7 +100,6 @@ export interface ProtoGrpcType { GrpcPipelinePartsContextValuesService: SubtypeConstructor & { service: _ficus_GrpcPipelinePartsContextValuesServiceDefinition } GrpcProcessCaseMetadata: MessageTypeDefinition GrpcProcessCaseMetadataWithStamp: MessageTypeDefinition - GrpcProduceObjectConsumption: MessageTypeDefinition GrpcSimpleContextRequestPipelinePart: MessageTypeDefinition GrpcSimpleCounterData: MessageTypeDefinition GrpcSimpleEventLog: MessageTypeDefinition diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/kafka_service.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/kafka_service.ts index f168cbccc..41a76735a 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/kafka_service.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/kafka_service.ts @@ -81,7 +81,6 @@ export interface ProtoGrpcType { GrpcLogTimelineDiagram: MessageTypeDefinition GrpcMatrix: MessageTypeDefinition GrpcMatrixRow: MessageTypeDefinition - GrpcMergedObjectAllocation: MessageTypeDefinition GrpcMethodInliningInfo: MessageTypeDefinition GrpcMethodNameParts: MessageTypeDefinition GrpcModelElementOcelAnnotation: MessageTypeDefinition @@ -91,9 +90,13 @@ export interface ProtoGrpcType { GrpcNamesTrace: MessageTypeDefinition GrpcNodeAdditionalData: MessageTypeDefinition GrpcNodeCorrespondingTraceData: MessageTypeDefinition + GrpcOcelAllocateMerge: MessageTypeDefinition + GrpcOcelConsumeProduce: MessageTypeDefinition GrpcOcelData: MessageTypeDefinition GrpcOcelModelAnnotation: MessageTypeDefinition + GrpcOcelObjectTypeData: MessageTypeDefinition GrpcOcelObjectTypeState: MessageTypeDefinition + GrpcOcelProducedObject: MessageTypeDefinition GrpcOcelState: MessageTypeDefinition GrpcParallelPipelinePart: MessageTypeDefinition GrpcParallelPipelineParts: MessageTypeDefinition @@ -118,7 +121,6 @@ export interface ProtoGrpcType { GrpcPipelineStreamingConfiguration: MessageTypeDefinition GrpcPredefinedPipelinePartsToBackendsMap: MessageTypeDefinition GrpcProcessInfo: MessageTypeDefinition - GrpcProduceObjectConsumption: MessageTypeDefinition GrpcProxyPipelineExecutionRequest: MessageTypeDefinition GrpcRemoveAllPipelinesRequest: MessageTypeDefinition GrpcRemovePipelineRequest: MessageTypeDefinition diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/pipelines_and_context.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/pipelines_and_context.ts index f19acecdb..8b6c25d9d 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/pipelines_and_context.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/pipelines_and_context.ts @@ -60,7 +60,6 @@ export interface ProtoGrpcType { GrpcLogTimelineDiagram: MessageTypeDefinition GrpcMatrix: MessageTypeDefinition GrpcMatrixRow: MessageTypeDefinition - GrpcMergedObjectAllocation: MessageTypeDefinition GrpcMethodInliningInfo: MessageTypeDefinition GrpcMethodNameParts: MessageTypeDefinition GrpcModelElementOcelAnnotation: MessageTypeDefinition @@ -70,9 +69,13 @@ export interface ProtoGrpcType { GrpcNamesTrace: MessageTypeDefinition GrpcNodeAdditionalData: MessageTypeDefinition GrpcNodeCorrespondingTraceData: MessageTypeDefinition + GrpcOcelAllocateMerge: MessageTypeDefinition + GrpcOcelConsumeProduce: MessageTypeDefinition GrpcOcelData: MessageTypeDefinition GrpcOcelModelAnnotation: MessageTypeDefinition + GrpcOcelObjectTypeData: MessageTypeDefinition GrpcOcelObjectTypeState: MessageTypeDefinition + GrpcOcelProducedObject: MessageTypeDefinition GrpcOcelState: MessageTypeDefinition GrpcParallelPipelinePart: MessageTypeDefinition GrpcParallelPipelineParts: MessageTypeDefinition @@ -86,7 +89,6 @@ export interface ProtoGrpcType { GrpcPipelinePart: MessageTypeDefinition GrpcPipelinePartBase: MessageTypeDefinition GrpcPipelinePartConfiguration: MessageTypeDefinition - GrpcProduceObjectConsumption: MessageTypeDefinition GrpcSimpleContextRequestPipelinePart: MessageTypeDefinition GrpcSimpleCounterData: MessageTypeDefinition GrpcSimpleEventLog: MessageTypeDefinition diff --git a/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go b/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go index f5a2fbcd0..e902e9044 100644 --- a/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go +++ b/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go @@ -3129,35 +3129,27 @@ func (x *GrpcSoftwareData) GetOcelData() []*GrpcOcelData { return nil } -type GrpcOcelData struct { - state protoimpl.MessageState `protogen:"open.v1"` - ObjectType string `protobuf:"bytes,1,opt,name=object_type,json=objectType,proto3" json:"object_type,omitempty"` - ObjectId string `protobuf:"bytes,2,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"` - // Types that are valid to be assigned to Action: - // - // *GrpcOcelData_Allocate - // *GrpcOcelData_Consume - // *GrpcOcelData_MergedObjectAllocation - // *GrpcOcelData_ProduceObjectConsumption - Action isGrpcOcelData_Action `protobuf_oneof:"action"` +type GrpcOcelObjectTypeData struct { + state protoimpl.MessageState `protogen:"open.v1"` + Type *string `protobuf:"bytes,1,opt,name=type,proto3,oneof" json:"type,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } -func (x *GrpcOcelData) Reset() { - *x = GrpcOcelData{} +func (x *GrpcOcelObjectTypeData) Reset() { + *x = GrpcOcelObjectTypeData{} mi := &file_pipelines_and_context_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *GrpcOcelData) String() string { +func (x *GrpcOcelObjectTypeData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GrpcOcelData) ProtoMessage() {} +func (*GrpcOcelObjectTypeData) ProtoMessage() {} -func (x *GrpcOcelData) ProtoReflect() protoreflect.Message { +func (x *GrpcOcelObjectTypeData) ProtoReflect() protoreflect.Message { mi := &file_pipelines_and_context_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) @@ -3169,118 +3161,144 @@ func (x *GrpcOcelData) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GrpcOcelData.ProtoReflect.Descriptor instead. -func (*GrpcOcelData) Descriptor() ([]byte, []int) { +// Deprecated: Use GrpcOcelObjectTypeData.ProtoReflect.Descriptor instead. +func (*GrpcOcelObjectTypeData) Descriptor() ([]byte, []int) { return file_pipelines_and_context_proto_rawDescGZIP(), []int{45} } -func (x *GrpcOcelData) GetObjectType() string { - if x != nil { - return x.ObjectType +func (x *GrpcOcelObjectTypeData) GetType() string { + if x != nil && x.Type != nil { + return *x.Type } return "" } -func (x *GrpcOcelData) GetObjectId() string { - if x != nil { - return x.ObjectId - } - return "" +type GrpcOcelAllocateMerge struct { + state protoimpl.MessageState `protogen:"open.v1"` + Type *string `protobuf:"bytes,1,opt,name=type,proto3,oneof" json:"type,omitempty"` + MergedObjectsIds []string `protobuf:"bytes,2,rep,name=merged_objects_ids,json=mergedObjectsIds,proto3" json:"merged_objects_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *GrpcOcelData) GetAction() isGrpcOcelData_Action { - if x != nil { - return x.Action - } - return nil +func (x *GrpcOcelAllocateMerge) Reset() { + *x = GrpcOcelAllocateMerge{} + mi := &file_pipelines_and_context_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -func (x *GrpcOcelData) GetAllocate() *emptypb.Empty { - if x != nil { - if x, ok := x.Action.(*GrpcOcelData_Allocate); ok { - return x.Allocate - } - } - return nil +func (x *GrpcOcelAllocateMerge) String() string { + return protoimpl.X.MessageStringOf(x) } -func (x *GrpcOcelData) GetConsume() *emptypb.Empty { +func (*GrpcOcelAllocateMerge) ProtoMessage() {} + +func (x *GrpcOcelAllocateMerge) ProtoReflect() protoreflect.Message { + mi := &file_pipelines_and_context_proto_msgTypes[46] if x != nil { - if x, ok := x.Action.(*GrpcOcelData_Consume); ok { - return x.Consume + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) } + return ms } - return nil + return mi.MessageOf(x) } -func (x *GrpcOcelData) GetMergedObjectAllocation() *GrpcMergedObjectAllocation { - if x != nil { - if x, ok := x.Action.(*GrpcOcelData_MergedObjectAllocation); ok { - return x.MergedObjectAllocation - } +// Deprecated: Use GrpcOcelAllocateMerge.ProtoReflect.Descriptor instead. +func (*GrpcOcelAllocateMerge) Descriptor() ([]byte, []int) { + return file_pipelines_and_context_proto_rawDescGZIP(), []int{46} +} + +func (x *GrpcOcelAllocateMerge) GetType() string { + if x != nil && x.Type != nil { + return *x.Type } - return nil + return "" } -func (x *GrpcOcelData) GetProduceObjectConsumption() *GrpcProduceObjectConsumption { +func (x *GrpcOcelAllocateMerge) GetMergedObjectsIds() []string { if x != nil { - if x, ok := x.Action.(*GrpcOcelData_ProduceObjectConsumption); ok { - return x.ProduceObjectConsumption - } + return x.MergedObjectsIds } return nil } -type isGrpcOcelData_Action interface { - isGrpcOcelData_Action() +type GrpcOcelProducedObject struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Type *string `protobuf:"bytes,2,opt,name=type,proto3,oneof" json:"type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -type GrpcOcelData_Allocate struct { - Allocate *emptypb.Empty `protobuf:"bytes,3,opt,name=allocate,proto3,oneof"` +func (x *GrpcOcelProducedObject) Reset() { + *x = GrpcOcelProducedObject{} + mi := &file_pipelines_and_context_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) } -type GrpcOcelData_Consume struct { - Consume *emptypb.Empty `protobuf:"bytes,4,opt,name=consume,proto3,oneof"` +func (x *GrpcOcelProducedObject) String() string { + return protoimpl.X.MessageStringOf(x) } -type GrpcOcelData_MergedObjectAllocation struct { - MergedObjectAllocation *GrpcMergedObjectAllocation `protobuf:"bytes,5,opt,name=merged_object_allocation,json=mergedObjectAllocation,proto3,oneof"` -} +func (*GrpcOcelProducedObject) ProtoMessage() {} -type GrpcOcelData_ProduceObjectConsumption struct { - ProduceObjectConsumption *GrpcProduceObjectConsumption `protobuf:"bytes,6,opt,name=produce_object_consumption,json=produceObjectConsumption,proto3,oneof"` +func (x *GrpcOcelProducedObject) ProtoReflect() protoreflect.Message { + mi := &file_pipelines_and_context_proto_msgTypes[47] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) } -func (*GrpcOcelData_Allocate) isGrpcOcelData_Action() {} - -func (*GrpcOcelData_Consume) isGrpcOcelData_Action() {} +// Deprecated: Use GrpcOcelProducedObject.ProtoReflect.Descriptor instead. +func (*GrpcOcelProducedObject) Descriptor() ([]byte, []int) { + return file_pipelines_and_context_proto_rawDescGZIP(), []int{47} +} -func (*GrpcOcelData_MergedObjectAllocation) isGrpcOcelData_Action() {} +func (x *GrpcOcelProducedObject) GetId() string { + if x != nil { + return x.Id + } + return "" +} -func (*GrpcOcelData_ProduceObjectConsumption) isGrpcOcelData_Action() {} +func (x *GrpcOcelProducedObject) GetType() string { + if x != nil && x.Type != nil { + return *x.Type + } + return "" +} -type GrpcMergedObjectAllocation struct { - state protoimpl.MessageState `protogen:"open.v1"` - ConsumedObjectsIds []string `protobuf:"bytes,1,rep,name=consumed_objects_ids,json=consumedObjectsIds,proto3" json:"consumed_objects_ids,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache +type GrpcOcelConsumeProduce struct { + state protoimpl.MessageState `protogen:"open.v1"` + ProducedObjects []*GrpcOcelProducedObject `protobuf:"bytes,1,rep,name=produced_objects,json=producedObjects,proto3" json:"produced_objects,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *GrpcMergedObjectAllocation) Reset() { - *x = GrpcMergedObjectAllocation{} - mi := &file_pipelines_and_context_proto_msgTypes[46] +func (x *GrpcOcelConsumeProduce) Reset() { + *x = GrpcOcelConsumeProduce{} + mi := &file_pipelines_and_context_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *GrpcMergedObjectAllocation) String() string { +func (x *GrpcOcelConsumeProduce) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GrpcMergedObjectAllocation) ProtoMessage() {} +func (*GrpcOcelConsumeProduce) ProtoMessage() {} -func (x *GrpcMergedObjectAllocation) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[46] +func (x *GrpcOcelConsumeProduce) ProtoReflect() protoreflect.Message { + mi := &file_pipelines_and_context_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3291,40 +3309,47 @@ func (x *GrpcMergedObjectAllocation) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GrpcMergedObjectAllocation.ProtoReflect.Descriptor instead. -func (*GrpcMergedObjectAllocation) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{46} +// Deprecated: Use GrpcOcelConsumeProduce.ProtoReflect.Descriptor instead. +func (*GrpcOcelConsumeProduce) Descriptor() ([]byte, []int) { + return file_pipelines_and_context_proto_rawDescGZIP(), []int{48} } -func (x *GrpcMergedObjectAllocation) GetConsumedObjectsIds() []string { +func (x *GrpcOcelConsumeProduce) GetProducedObjects() []*GrpcOcelProducedObject { if x != nil { - return x.ConsumedObjectsIds + return x.ProducedObjects } return nil } -type GrpcProduceObjectConsumption struct { - state protoimpl.MessageState `protogen:"open.v1"` - ProducedObjectsIds []string `protobuf:"bytes,2,rep,name=produced_objects_ids,json=producedObjectsIds,proto3" json:"produced_objects_ids,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache +type GrpcOcelData struct { + state protoimpl.MessageState `protogen:"open.v1"` + ObjectId string `protobuf:"bytes,1,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"` + // Types that are valid to be assigned to Action: + // + // *GrpcOcelData_Allocate + // *GrpcOcelData_Consume + // *GrpcOcelData_MergedObjectAllocation + // *GrpcOcelData_ProduceObjectConsumption + Action isGrpcOcelData_Action `protobuf_oneof:"action"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } -func (x *GrpcProduceObjectConsumption) Reset() { - *x = GrpcProduceObjectConsumption{} - mi := &file_pipelines_and_context_proto_msgTypes[47] +func (x *GrpcOcelData) Reset() { + *x = GrpcOcelData{} + mi := &file_pipelines_and_context_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } -func (x *GrpcProduceObjectConsumption) String() string { +func (x *GrpcOcelData) String() string { return protoimpl.X.MessageStringOf(x) } -func (*GrpcProduceObjectConsumption) ProtoMessage() {} +func (*GrpcOcelData) ProtoMessage() {} -func (x *GrpcProduceObjectConsumption) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[47] +func (x *GrpcOcelData) ProtoReflect() protoreflect.Message { + mi := &file_pipelines_and_context_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3335,18 +3360,89 @@ func (x *GrpcProduceObjectConsumption) ProtoReflect() protoreflect.Message { return mi.MessageOf(x) } -// Deprecated: Use GrpcProduceObjectConsumption.ProtoReflect.Descriptor instead. -func (*GrpcProduceObjectConsumption) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{47} +// Deprecated: Use GrpcOcelData.ProtoReflect.Descriptor instead. +func (*GrpcOcelData) Descriptor() ([]byte, []int) { + return file_pipelines_and_context_proto_rawDescGZIP(), []int{49} +} + +func (x *GrpcOcelData) GetObjectId() string { + if x != nil { + return x.ObjectId + } + return "" +} + +func (x *GrpcOcelData) GetAction() isGrpcOcelData_Action { + if x != nil { + return x.Action + } + return nil +} + +func (x *GrpcOcelData) GetAllocate() *GrpcOcelObjectTypeData { + if x != nil { + if x, ok := x.Action.(*GrpcOcelData_Allocate); ok { + return x.Allocate + } + } + return nil +} + +func (x *GrpcOcelData) GetConsume() *GrpcOcelObjectTypeData { + if x != nil { + if x, ok := x.Action.(*GrpcOcelData_Consume); ok { + return x.Consume + } + } + return nil } -func (x *GrpcProduceObjectConsumption) GetProducedObjectsIds() []string { +func (x *GrpcOcelData) GetMergedObjectAllocation() *GrpcOcelAllocateMerge { if x != nil { - return x.ProducedObjectsIds + if x, ok := x.Action.(*GrpcOcelData_MergedObjectAllocation); ok { + return x.MergedObjectAllocation + } + } + return nil +} + +func (x *GrpcOcelData) GetProduceObjectConsumption() *GrpcOcelConsumeProduce { + if x != nil { + if x, ok := x.Action.(*GrpcOcelData_ProduceObjectConsumption); ok { + return x.ProduceObjectConsumption + } } return nil } +type isGrpcOcelData_Action interface { + isGrpcOcelData_Action() +} + +type GrpcOcelData_Allocate struct { + Allocate *GrpcOcelObjectTypeData `protobuf:"bytes,2,opt,name=allocate,proto3,oneof"` +} + +type GrpcOcelData_Consume struct { + Consume *GrpcOcelObjectTypeData `protobuf:"bytes,3,opt,name=consume,proto3,oneof"` +} + +type GrpcOcelData_MergedObjectAllocation struct { + MergedObjectAllocation *GrpcOcelAllocateMerge `protobuf:"bytes,4,opt,name=merged_object_allocation,json=mergedObjectAllocation,proto3,oneof"` +} + +type GrpcOcelData_ProduceObjectConsumption struct { + ProduceObjectConsumption *GrpcOcelConsumeProduce `protobuf:"bytes,5,opt,name=produce_object_consumption,json=produceObjectConsumption,proto3,oneof"` +} + +func (*GrpcOcelData_Allocate) isGrpcOcelData_Action() {} + +func (*GrpcOcelData_Consume) isGrpcOcelData_Action() {} + +func (*GrpcOcelData_MergedObjectAllocation) isGrpcOcelData_Action() {} + +func (*GrpcOcelData_ProduceObjectConsumption) isGrpcOcelData_Action() {} + type GrpcActivityDurationData struct { state protoimpl.MessageState `protogen:"open.v1"` Base *GrpcGenericEnhancementBase `protobuf:"bytes,1,opt,name=base,proto3" json:"base,omitempty"` @@ -3358,7 +3454,7 @@ type GrpcActivityDurationData struct { func (x *GrpcActivityDurationData) Reset() { *x = GrpcActivityDurationData{} - mi := &file_pipelines_and_context_proto_msgTypes[48] + mi := &file_pipelines_and_context_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3370,7 +3466,7 @@ func (x *GrpcActivityDurationData) String() string { func (*GrpcActivityDurationData) ProtoMessage() {} func (x *GrpcActivityDurationData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[48] + mi := &file_pipelines_and_context_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3383,7 +3479,7 @@ func (x *GrpcActivityDurationData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcActivityDurationData.ProtoReflect.Descriptor instead. func (*GrpcActivityDurationData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{48} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{50} } func (x *GrpcActivityDurationData) GetBase() *GrpcGenericEnhancementBase { @@ -3418,7 +3514,7 @@ type GrpcGenericEnhancementBase struct { func (x *GrpcGenericEnhancementBase) Reset() { *x = GrpcGenericEnhancementBase{} - mi := &file_pipelines_and_context_proto_msgTypes[49] + mi := &file_pipelines_and_context_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3430,7 +3526,7 @@ func (x *GrpcGenericEnhancementBase) String() string { func (*GrpcGenericEnhancementBase) ProtoMessage() {} func (x *GrpcGenericEnhancementBase) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[49] + mi := &file_pipelines_and_context_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3443,7 +3539,7 @@ func (x *GrpcGenericEnhancementBase) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGenericEnhancementBase.ProtoReflect.Descriptor instead. func (*GrpcGenericEnhancementBase) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{49} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{51} } func (x *GrpcGenericEnhancementBase) GetName() string { @@ -3477,7 +3573,7 @@ type GrpcGeneralHistogramData struct { func (x *GrpcGeneralHistogramData) Reset() { *x = GrpcGeneralHistogramData{} - mi := &file_pipelines_and_context_proto_msgTypes[50] + mi := &file_pipelines_and_context_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3489,7 +3585,7 @@ func (x *GrpcGeneralHistogramData) String() string { func (*GrpcGeneralHistogramData) ProtoMessage() {} func (x *GrpcGeneralHistogramData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[50] + mi := &file_pipelines_and_context_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3502,7 +3598,7 @@ func (x *GrpcGeneralHistogramData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGeneralHistogramData.ProtoReflect.Descriptor instead. func (*GrpcGeneralHistogramData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{50} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{52} } func (x *GrpcGeneralHistogramData) GetBase() *GrpcGenericEnhancementBase { @@ -3529,7 +3625,7 @@ type GrpcSimpleCounterData struct { func (x *GrpcSimpleCounterData) Reset() { *x = GrpcSimpleCounterData{} - mi := &file_pipelines_and_context_proto_msgTypes[51] + mi := &file_pipelines_and_context_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3541,7 +3637,7 @@ func (x *GrpcSimpleCounterData) String() string { func (*GrpcSimpleCounterData) ProtoMessage() {} func (x *GrpcSimpleCounterData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[51] + mi := &file_pipelines_and_context_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3554,7 +3650,7 @@ func (x *GrpcSimpleCounterData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcSimpleCounterData.ProtoReflect.Descriptor instead. func (*GrpcSimpleCounterData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{51} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{53} } func (x *GrpcSimpleCounterData) GetBase() *GrpcGenericEnhancementBase { @@ -3581,7 +3677,7 @@ type GrpcMethodInliningInfo struct { func (x *GrpcMethodInliningInfo) Reset() { *x = GrpcMethodInliningInfo{} - mi := &file_pipelines_and_context_proto_msgTypes[52] + mi := &file_pipelines_and_context_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3593,7 +3689,7 @@ func (x *GrpcMethodInliningInfo) String() string { func (*GrpcMethodInliningInfo) ProtoMessage() {} func (x *GrpcMethodInliningInfo) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[52] + mi := &file_pipelines_and_context_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3606,7 +3702,7 @@ func (x *GrpcMethodInliningInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcMethodInliningInfo.ProtoReflect.Descriptor instead. func (*GrpcMethodInliningInfo) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{52} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{54} } func (x *GrpcMethodInliningInfo) GetInlineeInfo() *GrpcMethodNameParts { @@ -3634,7 +3730,7 @@ type GrpcMethodNameParts struct { func (x *GrpcMethodNameParts) Reset() { *x = GrpcMethodNameParts{} - mi := &file_pipelines_and_context_proto_msgTypes[53] + mi := &file_pipelines_and_context_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3646,7 +3742,7 @@ func (x *GrpcMethodNameParts) String() string { func (*GrpcMethodNameParts) ProtoMessage() {} func (x *GrpcMethodNameParts) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[53] + mi := &file_pipelines_and_context_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3659,7 +3755,7 @@ func (x *GrpcMethodNameParts) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcMethodNameParts.ProtoReflect.Descriptor instead. func (*GrpcMethodNameParts) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{53} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{55} } func (x *GrpcMethodNameParts) GetName() string { @@ -3693,7 +3789,7 @@ type GrpcHistogramEntry struct { func (x *GrpcHistogramEntry) Reset() { *x = GrpcHistogramEntry{} - mi := &file_pipelines_and_context_proto_msgTypes[54] + mi := &file_pipelines_and_context_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3705,7 +3801,7 @@ func (x *GrpcHistogramEntry) String() string { func (*GrpcHistogramEntry) ProtoMessage() {} func (x *GrpcHistogramEntry) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[54] + mi := &file_pipelines_and_context_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3718,7 +3814,7 @@ func (x *GrpcHistogramEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcHistogramEntry.ProtoReflect.Descriptor instead. func (*GrpcHistogramEntry) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{54} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{56} } func (x *GrpcHistogramEntry) GetName() string { @@ -3744,7 +3840,7 @@ type GrpcTimelineDiagramFragment struct { func (x *GrpcTimelineDiagramFragment) Reset() { *x = GrpcTimelineDiagramFragment{} - mi := &file_pipelines_and_context_proto_msgTypes[55] + mi := &file_pipelines_and_context_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3756,7 +3852,7 @@ func (x *GrpcTimelineDiagramFragment) String() string { func (*GrpcTimelineDiagramFragment) ProtoMessage() {} func (x *GrpcTimelineDiagramFragment) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[55] + mi := &file_pipelines_and_context_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3769,7 +3865,7 @@ func (x *GrpcTimelineDiagramFragment) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcTimelineDiagramFragment.ProtoReflect.Descriptor instead. func (*GrpcTimelineDiagramFragment) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{55} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{57} } func (x *GrpcTimelineDiagramFragment) GetThreads() []*GrpcThread { @@ -3790,7 +3886,7 @@ type GrpcAllocationInfo struct { func (x *GrpcAllocationInfo) Reset() { *x = GrpcAllocationInfo{} - mi := &file_pipelines_and_context_proto_msgTypes[56] + mi := &file_pipelines_and_context_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3802,7 +3898,7 @@ func (x *GrpcAllocationInfo) String() string { func (*GrpcAllocationInfo) ProtoMessage() {} func (x *GrpcAllocationInfo) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[56] + mi := &file_pipelines_and_context_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3815,7 +3911,7 @@ func (x *GrpcAllocationInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcAllocationInfo.ProtoReflect.Descriptor instead. func (*GrpcAllocationInfo) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{56} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{58} } func (x *GrpcAllocationInfo) GetTypeName() string { @@ -3850,7 +3946,7 @@ type GrpcUnderlyingPatternInfo struct { func (x *GrpcUnderlyingPatternInfo) Reset() { *x = GrpcUnderlyingPatternInfo{} - mi := &file_pipelines_and_context_proto_msgTypes[57] + mi := &file_pipelines_and_context_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3862,7 +3958,7 @@ func (x *GrpcUnderlyingPatternInfo) String() string { func (*GrpcUnderlyingPatternInfo) ProtoMessage() {} func (x *GrpcUnderlyingPatternInfo) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[57] + mi := &file_pipelines_and_context_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3875,7 +3971,7 @@ func (x *GrpcUnderlyingPatternInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcUnderlyingPatternInfo.ProtoReflect.Descriptor instead. func (*GrpcUnderlyingPatternInfo) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{57} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{59} } func (x *GrpcUnderlyingPatternInfo) GetPatternKind() GrpcUnderlyingPatternKind { @@ -3913,7 +4009,7 @@ type GrpcGraphEdge struct { func (x *GrpcGraphEdge) Reset() { *x = GrpcGraphEdge{} - mi := &file_pipelines_and_context_proto_msgTypes[58] + mi := &file_pipelines_and_context_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3925,7 +4021,7 @@ func (x *GrpcGraphEdge) String() string { func (*GrpcGraphEdge) ProtoMessage() {} func (x *GrpcGraphEdge) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[58] + mi := &file_pipelines_and_context_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3938,7 +4034,7 @@ func (x *GrpcGraphEdge) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGraphEdge.ProtoReflect.Descriptor instead. func (*GrpcGraphEdge) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{58} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{60} } func (x *GrpcGraphEdge) GetId() uint64 { @@ -3997,7 +4093,7 @@ type GrpcGraphEdgeAdditionalData struct { func (x *GrpcGraphEdgeAdditionalData) Reset() { *x = GrpcGraphEdgeAdditionalData{} - mi := &file_pipelines_and_context_proto_msgTypes[59] + mi := &file_pipelines_and_context_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4009,7 +4105,7 @@ func (x *GrpcGraphEdgeAdditionalData) String() string { func (*GrpcGraphEdgeAdditionalData) ProtoMessage() {} func (x *GrpcGraphEdgeAdditionalData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[59] + mi := &file_pipelines_and_context_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4022,7 +4118,7 @@ func (x *GrpcGraphEdgeAdditionalData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGraphEdgeAdditionalData.ProtoReflect.Descriptor instead. func (*GrpcGraphEdgeAdditionalData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{59} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{61} } func (x *GrpcGraphEdgeAdditionalData) GetData() isGrpcGraphEdgeAdditionalData_Data { @@ -4090,7 +4186,7 @@ type GrpcEdgeExecutionInfo struct { func (x *GrpcEdgeExecutionInfo) Reset() { *x = GrpcEdgeExecutionInfo{} - mi := &file_pipelines_and_context_proto_msgTypes[60] + mi := &file_pipelines_and_context_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4102,7 +4198,7 @@ func (x *GrpcEdgeExecutionInfo) String() string { func (*GrpcEdgeExecutionInfo) ProtoMessage() {} func (x *GrpcEdgeExecutionInfo) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[60] + mi := &file_pipelines_and_context_proto_msgTypes[62] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4115,7 +4211,7 @@ func (x *GrpcEdgeExecutionInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcEdgeExecutionInfo.ProtoReflect.Descriptor instead. func (*GrpcEdgeExecutionInfo) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{60} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{62} } func (x *GrpcEdgeExecutionInfo) GetTraceId() uint64 { @@ -4134,7 +4230,7 @@ type GrpcBytes struct { func (x *GrpcBytes) Reset() { *x = GrpcBytes{} - mi := &file_pipelines_and_context_proto_msgTypes[61] + mi := &file_pipelines_and_context_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4146,7 +4242,7 @@ func (x *GrpcBytes) String() string { func (*GrpcBytes) ProtoMessage() {} func (x *GrpcBytes) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[61] + mi := &file_pipelines_and_context_proto_msgTypes[63] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4159,7 +4255,7 @@ func (x *GrpcBytes) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcBytes.ProtoReflect.Descriptor instead. func (*GrpcBytes) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{61} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{63} } func (x *GrpcBytes) GetBytes() []byte { @@ -4178,7 +4274,7 @@ type GrpcLogTimelineDiagram struct { func (x *GrpcLogTimelineDiagram) Reset() { *x = GrpcLogTimelineDiagram{} - mi := &file_pipelines_and_context_proto_msgTypes[62] + mi := &file_pipelines_and_context_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4190,7 +4286,7 @@ func (x *GrpcLogTimelineDiagram) String() string { func (*GrpcLogTimelineDiagram) ProtoMessage() {} func (x *GrpcLogTimelineDiagram) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[62] + mi := &file_pipelines_and_context_proto_msgTypes[64] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4203,7 +4299,7 @@ func (x *GrpcLogTimelineDiagram) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcLogTimelineDiagram.ProtoReflect.Descriptor instead. func (*GrpcLogTimelineDiagram) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{62} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{64} } func (x *GrpcLogTimelineDiagram) GetTraces() []*GrpcTraceTimelineDiagram { @@ -4223,7 +4319,7 @@ type GrpcTimelineTraceEventsGroup struct { func (x *GrpcTimelineTraceEventsGroup) Reset() { *x = GrpcTimelineTraceEventsGroup{} - mi := &file_pipelines_and_context_proto_msgTypes[63] + mi := &file_pipelines_and_context_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4235,7 +4331,7 @@ func (x *GrpcTimelineTraceEventsGroup) String() string { func (*GrpcTimelineTraceEventsGroup) ProtoMessage() {} func (x *GrpcTimelineTraceEventsGroup) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[63] + mi := &file_pipelines_and_context_proto_msgTypes[65] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4248,7 +4344,7 @@ func (x *GrpcTimelineTraceEventsGroup) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcTimelineTraceEventsGroup.ProtoReflect.Descriptor instead. func (*GrpcTimelineTraceEventsGroup) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{63} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{65} } func (x *GrpcTimelineTraceEventsGroup) GetStartPoint() *GrpcLogPoint { @@ -4275,7 +4371,7 @@ type GrpcTraceTimelineDiagram struct { func (x *GrpcTraceTimelineDiagram) Reset() { *x = GrpcTraceTimelineDiagram{} - mi := &file_pipelines_and_context_proto_msgTypes[64] + mi := &file_pipelines_and_context_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4287,7 +4383,7 @@ func (x *GrpcTraceTimelineDiagram) String() string { func (*GrpcTraceTimelineDiagram) ProtoMessage() {} func (x *GrpcTraceTimelineDiagram) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[64] + mi := &file_pipelines_and_context_proto_msgTypes[66] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4300,7 +4396,7 @@ func (x *GrpcTraceTimelineDiagram) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcTraceTimelineDiagram.ProtoReflect.Descriptor instead. func (*GrpcTraceTimelineDiagram) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{64} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{66} } func (x *GrpcTraceTimelineDiagram) GetThreads() []*GrpcThread { @@ -4326,7 +4422,7 @@ type GrpcThread struct { func (x *GrpcThread) Reset() { *x = GrpcThread{} - mi := &file_pipelines_and_context_proto_msgTypes[65] + mi := &file_pipelines_and_context_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4338,7 +4434,7 @@ func (x *GrpcThread) String() string { func (*GrpcThread) ProtoMessage() {} func (x *GrpcThread) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[65] + mi := &file_pipelines_and_context_proto_msgTypes[67] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4351,7 +4447,7 @@ func (x *GrpcThread) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcThread.ProtoReflect.Descriptor instead. func (*GrpcThread) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{65} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{67} } func (x *GrpcThread) GetEvents() []*GrpcThreadEvent { @@ -4371,7 +4467,7 @@ type GrpcThreadEvent struct { func (x *GrpcThreadEvent) Reset() { *x = GrpcThreadEvent{} - mi := &file_pipelines_and_context_proto_msgTypes[66] + mi := &file_pipelines_and_context_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4383,7 +4479,7 @@ func (x *GrpcThreadEvent) String() string { func (*GrpcThreadEvent) ProtoMessage() {} func (x *GrpcThreadEvent) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[66] + mi := &file_pipelines_and_context_proto_msgTypes[68] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4396,7 +4492,7 @@ func (x *GrpcThreadEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcThreadEvent.ProtoReflect.Descriptor instead. func (*GrpcThreadEvent) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{66} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{68} } func (x *GrpcThreadEvent) GetName() string { @@ -4608,20 +4704,27 @@ const file_pipelines_and_context_proto_rawDesc = "" + "\x0ehistogram_data\x18\r \x03(\v2\x1f.ficus.GrpcGeneralHistogramDataR\rhistogramData\x12L\n" + "\x13simple_counter_data\x18\x0e \x03(\v2\x1c.ficus.GrpcSimpleCounterDataR\x11simpleCounterData\x12[\n" + "\x19activities_durations_data\x18\x0f \x03(\v2\x1f.ficus.GrpcActivityDurationDataR\x17activitiesDurationsData\x120\n" + - "\tocel_data\x18\x10 \x03(\v2\x13.ficus.GrpcOcelDataR\bocelData\"\x84\x03\n" + - "\fGrpcOcelData\x12\x1f\n" + - "\vobject_type\x18\x01 \x01(\tR\n" + - "objectType\x12\x1b\n" + - "\tobject_id\x18\x02 \x01(\tR\bobjectId\x124\n" + - "\ballocate\x18\x03 \x01(\v2\x16.google.protobuf.EmptyH\x00R\ballocate\x122\n" + - "\aconsume\x18\x04 \x01(\v2\x16.google.protobuf.EmptyH\x00R\aconsume\x12]\n" + - "\x18merged_object_allocation\x18\x05 \x01(\v2!.ficus.GrpcMergedObjectAllocationH\x00R\x16mergedObjectAllocation\x12c\n" + - "\x1aproduce_object_consumption\x18\x06 \x01(\v2#.ficus.GrpcProduceObjectConsumptionH\x00R\x18produceObjectConsumptionB\b\n" + - "\x06action\"N\n" + - "\x1aGrpcMergedObjectAllocation\x120\n" + - "\x14consumed_objects_ids\x18\x01 \x03(\tR\x12consumedObjectsIds\"P\n" + - "\x1cGrpcProduceObjectConsumption\x120\n" + - "\x14produced_objects_ids\x18\x02 \x03(\tR\x12producedObjectsIds\"\x9a\x01\n" + + "\tocel_data\x18\x10 \x03(\v2\x13.ficus.GrpcOcelDataR\bocelData\":\n" + + "\x16GrpcOcelObjectTypeData\x12\x17\n" + + "\x04type\x18\x01 \x01(\tH\x00R\x04type\x88\x01\x01B\a\n" + + "\x05_type\"g\n" + + "\x15GrpcOcelAllocateMerge\x12\x17\n" + + "\x04type\x18\x01 \x01(\tH\x00R\x04type\x88\x01\x01\x12,\n" + + "\x12merged_objects_ids\x18\x02 \x03(\tR\x10mergedObjectsIdsB\a\n" + + "\x05_type\"J\n" + + "\x16GrpcOcelProducedObject\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n" + + "\x04type\x18\x02 \x01(\tH\x00R\x04type\x88\x01\x01B\a\n" + + "\x05_type\"b\n" + + "\x16GrpcOcelConsumeProduce\x12H\n" + + "\x10produced_objects\x18\x01 \x03(\v2\x1d.ficus.GrpcOcelProducedObjectR\x0fproducedObjects\"\xe6\x02\n" + + "\fGrpcOcelData\x12\x1b\n" + + "\tobject_id\x18\x01 \x01(\tR\bobjectId\x12;\n" + + "\ballocate\x18\x02 \x01(\v2\x1d.ficus.GrpcOcelObjectTypeDataH\x00R\ballocate\x129\n" + + "\aconsume\x18\x03 \x01(\v2\x1d.ficus.GrpcOcelObjectTypeDataH\x00R\aconsume\x12X\n" + + "\x18merged_object_allocation\x18\x04 \x01(\v2\x1c.ficus.GrpcOcelAllocateMergeH\x00R\x16mergedObjectAllocation\x12]\n" + + "\x1aproduce_object_consumption\x18\x05 \x01(\v2\x1d.ficus.GrpcOcelConsumeProduceH\x00R\x18produceObjectConsumptionB\b\n" + + "\x06action\"\x9a\x01\n" + "\x18GrpcActivityDurationData\x125\n" + "\x04base\x18\x01 \x01(\v2!.ficus.GrpcGenericEnhancementBaseR\x04base\x12\x1a\n" + "\bduration\x18\x02 \x01(\x04R\bduration\x12+\n" + @@ -4727,7 +4830,7 @@ func file_pipelines_and_context_proto_rawDescGZIP() []byte { } var file_pipelines_and_context_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_pipelines_and_context_proto_msgTypes = make([]protoimpl.MessageInfo, 67) +var file_pipelines_and_context_proto_msgTypes = make([]protoimpl.MessageInfo, 69) var file_pipelines_and_context_proto_goTypes = []any{ (GrpcGraphKind)(0), // 0: ficus.GrpcGraphKind (GrpcDurationKind)(0), // 1: ficus.GrpcDurationKind @@ -4777,38 +4880,40 @@ var file_pipelines_and_context_proto_goTypes = []any{ (*GrpcEventCoordinates)(nil), // 45: ficus.GrpcEventCoordinates (*GrpcNodeCorrespondingTraceData)(nil), // 46: ficus.GrpcNodeCorrespondingTraceData (*GrpcSoftwareData)(nil), // 47: ficus.GrpcSoftwareData - (*GrpcOcelData)(nil), // 48: ficus.GrpcOcelData - (*GrpcMergedObjectAllocation)(nil), // 49: ficus.GrpcMergedObjectAllocation - (*GrpcProduceObjectConsumption)(nil), // 50: ficus.GrpcProduceObjectConsumption - (*GrpcActivityDurationData)(nil), // 51: ficus.GrpcActivityDurationData - (*GrpcGenericEnhancementBase)(nil), // 52: ficus.GrpcGenericEnhancementBase - (*GrpcGeneralHistogramData)(nil), // 53: ficus.GrpcGeneralHistogramData - (*GrpcSimpleCounterData)(nil), // 54: ficus.GrpcSimpleCounterData - (*GrpcMethodInliningInfo)(nil), // 55: ficus.GrpcMethodInliningInfo - (*GrpcMethodNameParts)(nil), // 56: ficus.GrpcMethodNameParts - (*GrpcHistogramEntry)(nil), // 57: ficus.GrpcHistogramEntry - (*GrpcTimelineDiagramFragment)(nil), // 58: ficus.GrpcTimelineDiagramFragment - (*GrpcAllocationInfo)(nil), // 59: ficus.GrpcAllocationInfo - (*GrpcUnderlyingPatternInfo)(nil), // 60: ficus.GrpcUnderlyingPatternInfo - (*GrpcGraphEdge)(nil), // 61: ficus.GrpcGraphEdge - (*GrpcGraphEdgeAdditionalData)(nil), // 62: ficus.GrpcGraphEdgeAdditionalData - (*GrpcEdgeExecutionInfo)(nil), // 63: ficus.GrpcEdgeExecutionInfo - (*GrpcBytes)(nil), // 64: ficus.GrpcBytes - (*GrpcLogTimelineDiagram)(nil), // 65: ficus.GrpcLogTimelineDiagram - (*GrpcTimelineTraceEventsGroup)(nil), // 66: ficus.GrpcTimelineTraceEventsGroup - (*GrpcTraceTimelineDiagram)(nil), // 67: ficus.GrpcTraceTimelineDiagram - (*GrpcThread)(nil), // 68: ficus.GrpcThread - (*GrpcThreadEvent)(nil), // 69: ficus.GrpcThreadEvent - (*GrpcPetriNet)(nil), // 70: ficus.GrpcPetriNet - (*GrpcAnnotation)(nil), // 71: ficus.GrpcAnnotation - (*GrpcDataset)(nil), // 72: ficus.GrpcDataset - (*GrpcLabeledDataset)(nil), // 73: ficus.GrpcLabeledDataset - (*GrpcSimpleEventLog)(nil), // 74: ficus.GrpcSimpleEventLog - (*GrpcHashesEventLog)(nil), // 75: ficus.GrpcHashesEventLog - (*GrpcNamesEventLog)(nil), // 76: ficus.GrpcNamesEventLog - (*GrpcColor)(nil), // 77: ficus.GrpcColor - (*GrpcGuid)(nil), // 78: ficus.GrpcGuid - (*emptypb.Empty)(nil), // 79: google.protobuf.Empty + (*GrpcOcelObjectTypeData)(nil), // 48: ficus.GrpcOcelObjectTypeData + (*GrpcOcelAllocateMerge)(nil), // 49: ficus.GrpcOcelAllocateMerge + (*GrpcOcelProducedObject)(nil), // 50: ficus.GrpcOcelProducedObject + (*GrpcOcelConsumeProduce)(nil), // 51: ficus.GrpcOcelConsumeProduce + (*GrpcOcelData)(nil), // 52: ficus.GrpcOcelData + (*GrpcActivityDurationData)(nil), // 53: ficus.GrpcActivityDurationData + (*GrpcGenericEnhancementBase)(nil), // 54: ficus.GrpcGenericEnhancementBase + (*GrpcGeneralHistogramData)(nil), // 55: ficus.GrpcGeneralHistogramData + (*GrpcSimpleCounterData)(nil), // 56: ficus.GrpcSimpleCounterData + (*GrpcMethodInliningInfo)(nil), // 57: ficus.GrpcMethodInliningInfo + (*GrpcMethodNameParts)(nil), // 58: ficus.GrpcMethodNameParts + (*GrpcHistogramEntry)(nil), // 59: ficus.GrpcHistogramEntry + (*GrpcTimelineDiagramFragment)(nil), // 60: ficus.GrpcTimelineDiagramFragment + (*GrpcAllocationInfo)(nil), // 61: ficus.GrpcAllocationInfo + (*GrpcUnderlyingPatternInfo)(nil), // 62: ficus.GrpcUnderlyingPatternInfo + (*GrpcGraphEdge)(nil), // 63: ficus.GrpcGraphEdge + (*GrpcGraphEdgeAdditionalData)(nil), // 64: ficus.GrpcGraphEdgeAdditionalData + (*GrpcEdgeExecutionInfo)(nil), // 65: ficus.GrpcEdgeExecutionInfo + (*GrpcBytes)(nil), // 66: ficus.GrpcBytes + (*GrpcLogTimelineDiagram)(nil), // 67: ficus.GrpcLogTimelineDiagram + (*GrpcTimelineTraceEventsGroup)(nil), // 68: ficus.GrpcTimelineTraceEventsGroup + (*GrpcTraceTimelineDiagram)(nil), // 69: ficus.GrpcTraceTimelineDiagram + (*GrpcThread)(nil), // 70: ficus.GrpcThread + (*GrpcThreadEvent)(nil), // 71: ficus.GrpcThreadEvent + (*GrpcPetriNet)(nil), // 72: ficus.GrpcPetriNet + (*GrpcAnnotation)(nil), // 73: ficus.GrpcAnnotation + (*GrpcDataset)(nil), // 74: ficus.GrpcDataset + (*GrpcLabeledDataset)(nil), // 75: ficus.GrpcLabeledDataset + (*GrpcSimpleEventLog)(nil), // 76: ficus.GrpcSimpleEventLog + (*GrpcHashesEventLog)(nil), // 77: ficus.GrpcHashesEventLog + (*GrpcNamesEventLog)(nil), // 78: ficus.GrpcNamesEventLog + (*GrpcColor)(nil), // 79: ficus.GrpcColor + (*GrpcGuid)(nil), // 80: ficus.GrpcGuid + (*emptypb.Empty)(nil), // 81: google.protobuf.Empty } var file_pipelines_and_context_proto_depIdxs = []int32{ 5, // 0: ficus.GrpcContextValueWithKeyName.value:type_name -> ficus.GrpcContextValue @@ -4822,17 +4927,17 @@ var file_pipelines_and_context_proto_depIdxs = []int32{ 30, // 8: ficus.GrpcContextValue.event_log_info:type_name -> ficus.GrpcEventLogInfo 31, // 9: ficus.GrpcContextValue.strings:type_name -> ficus.GrpcStrings 32, // 10: ficus.GrpcContextValue.pipeline:type_name -> ficus.GrpcPipeline - 70, // 11: ficus.GrpcContextValue.petriNet:type_name -> ficus.GrpcPetriNet + 72, // 11: ficus.GrpcContextValue.petriNet:type_name -> ficus.GrpcPetriNet 40, // 12: ficus.GrpcContextValue.graph:type_name -> ficus.GrpcGraph - 71, // 13: ficus.GrpcContextValue.annotation:type_name -> ficus.GrpcAnnotation - 72, // 14: ficus.GrpcContextValue.dataset:type_name -> ficus.GrpcDataset - 73, // 15: ficus.GrpcContextValue.labeled_dataset:type_name -> ficus.GrpcLabeledDataset - 64, // 16: ficus.GrpcContextValue.bytes:type_name -> ficus.GrpcBytes - 65, // 17: ficus.GrpcContextValue.logTimelineDiagram:type_name -> ficus.GrpcLogTimelineDiagram + 73, // 13: ficus.GrpcContextValue.annotation:type_name -> ficus.GrpcAnnotation + 74, // 14: ficus.GrpcContextValue.dataset:type_name -> ficus.GrpcDataset + 75, // 15: ficus.GrpcContextValue.labeled_dataset:type_name -> ficus.GrpcLabeledDataset + 66, // 16: ficus.GrpcContextValue.bytes:type_name -> ficus.GrpcBytes + 67, // 17: ficus.GrpcContextValue.logTimelineDiagram:type_name -> ficus.GrpcLogTimelineDiagram 10, // 18: ficus.GrpcContextValue.float_array:type_name -> ficus.GrpcFloatArray 11, // 19: ficus.GrpcContextValue.int_array:type_name -> ficus.GrpcIntArray 12, // 20: ficus.GrpcContextValue.uint_array:type_name -> ficus.GrpcUintArray - 74, // 21: ficus.GrpcContextValue.event_log:type_name -> ficus.GrpcSimpleEventLog + 76, // 21: ficus.GrpcContextValue.event_log:type_name -> ficus.GrpcSimpleEventLog 6, // 22: ficus.GrpcContextValue.ocel_annotation:type_name -> ficus.GrpcOcelModelAnnotation 7, // 23: ficus.GrpcOcelModelAnnotation.annotations:type_name -> ficus.GrpcModelElementOcelAnnotation 8, // 24: ficus.GrpcModelElementOcelAnnotation.initial_state:type_name -> ficus.GrpcOcelState @@ -4840,8 +4945,8 @@ var file_pipelines_and_context_proto_depIdxs = []int32{ 9, // 26: ficus.GrpcOcelState.type_states:type_name -> ficus.GrpcOcelObjectTypeState 3, // 27: ficus.GrpcContextKeyValue.key:type_name -> ficus.GrpcContextKey 5, // 28: ficus.GrpcContextKeyValue.value:type_name -> ficus.GrpcContextValue - 75, // 29: ficus.GrpcHashesEventLogContextValue.log:type_name -> ficus.GrpcHashesEventLog - 76, // 30: ficus.GrpcNamesEventLogContextValue.log:type_name -> ficus.GrpcNamesEventLog + 77, // 29: ficus.GrpcHashesEventLogContextValue.log:type_name -> ficus.GrpcHashesEventLog + 78, // 30: ficus.GrpcNamesEventLogContextValue.log:type_name -> ficus.GrpcNamesEventLog 18, // 31: ficus.GrpcEventLogTraceSubArraysContextValue.traces_sub_arrays:type_name -> ficus.GrpcTraceSubArrays 17, // 32: ficus.GrpcTraceSubArrays.sub_arrays:type_name -> ficus.GrpcTraceSubArray 17, // 33: ficus.GrpcSubArrayWithTraceIndex.sub_array:type_name -> ficus.GrpcTraceSubArray @@ -4853,7 +4958,7 @@ var file_pipelines_and_context_proto_depIdxs = []int32{ 25, // 39: ficus.GrpcColorsLogAdjustment.axis_after_trace:type_name -> ficus.GrpcColorsLogXAxisAfterTraceAdjustment 24, // 40: ficus.GrpcColorsLogRectangleAdjustment.up_left_point:type_name -> ficus.GrpcLogPoint 24, // 41: ficus.GrpcColorsLogRectangleAdjustment.down_right_point:type_name -> ficus.GrpcLogPoint - 77, // 42: ficus.GrpcColorsEventLogMapping.color:type_name -> ficus.GrpcColor + 79, // 42: ficus.GrpcColorsEventLogMapping.color:type_name -> ficus.GrpcColor 28, // 43: ficus.GrpcColorsTrace.event_colors:type_name -> ficus.GrpcColoredRectangle 33, // 44: ficus.GrpcPipeline.parts:type_name -> ficus.GrpcPipelinePartBase 34, // 45: ficus.GrpcPipelinePartBase.defaultPart:type_name -> ficus.GrpcPipelinePart @@ -4865,58 +4970,59 @@ var file_pipelines_and_context_proto_depIdxs = []int32{ 33, // 51: ficus.GrpcParallelPipelinePart.pipelineParts:type_name -> ficus.GrpcPipelinePartBase 36, // 52: ficus.GrpcParallelPipelineParts.pipeline:type_name -> ficus.GrpcParallelPipelinePart 3, // 53: ficus.GrpcSimpleContextRequestPipelinePart.key:type_name -> ficus.GrpcContextKey - 78, // 54: ficus.GrpcSimpleContextRequestPipelinePart.frontendPartUuid:type_name -> ficus.GrpcGuid + 80, // 54: ficus.GrpcSimpleContextRequestPipelinePart.frontendPartUuid:type_name -> ficus.GrpcGuid 3, // 55: ficus.GrpcComplexContextRequestPipelinePart.keys:type_name -> ficus.GrpcContextKey 34, // 56: ficus.GrpcComplexContextRequestPipelinePart.beforePipelinePart:type_name -> ficus.GrpcPipelinePart - 78, // 57: ficus.GrpcComplexContextRequestPipelinePart.frontendPartUuid:type_name -> ficus.GrpcGuid + 80, // 57: ficus.GrpcComplexContextRequestPipelinePart.frontendPartUuid:type_name -> ficus.GrpcGuid 41, // 58: ficus.GrpcGraph.nodes:type_name -> ficus.GrpcGraphNode - 61, // 59: ficus.GrpcGraph.edges:type_name -> ficus.GrpcGraphEdge + 63, // 59: ficus.GrpcGraph.edges:type_name -> ficus.GrpcGraphEdge 0, // 60: ficus.GrpcGraph.kind:type_name -> ficus.GrpcGraphKind 42, // 61: ficus.GrpcGraphNode.additional_data:type_name -> ficus.GrpcNodeAdditionalData 40, // 62: ficus.GrpcGraphNode.inner_graph:type_name -> ficus.GrpcGraph - 79, // 63: ficus.GrpcNodeAdditionalData.none:type_name -> google.protobuf.Empty + 81, // 63: ficus.GrpcNodeAdditionalData.none:type_name -> google.protobuf.Empty 47, // 64: ficus.GrpcNodeAdditionalData.software_data:type_name -> ficus.GrpcSoftwareData - 60, // 65: ficus.GrpcNodeAdditionalData.pattern_info:type_name -> ficus.GrpcUnderlyingPatternInfo + 62, // 65: ficus.GrpcNodeAdditionalData.pattern_info:type_name -> ficus.GrpcUnderlyingPatternInfo 46, // 66: ficus.GrpcNodeAdditionalData.trace_data:type_name -> ficus.GrpcNodeCorrespondingTraceData 44, // 67: ficus.GrpcNodeAdditionalData.time_data:type_name -> ficus.GrpcActivityStartEndData 43, // 68: ficus.GrpcNodeAdditionalData.multithreaded_fragment:type_name -> ficus.GrpcMultithreadedFragment 45, // 69: ficus.GrpcNodeAdditionalData.original_event_coordinates:type_name -> ficus.GrpcEventCoordinates - 74, // 70: ficus.GrpcMultithreadedFragment.multithreaded_log:type_name -> ficus.GrpcSimpleEventLog - 57, // 71: ficus.GrpcSoftwareData.histogram:type_name -> ficus.GrpcHistogramEntry - 58, // 72: ficus.GrpcSoftwareData.timeline_diagram_fragment:type_name -> ficus.GrpcTimelineDiagramFragment - 53, // 73: ficus.GrpcSoftwareData.histogram_data:type_name -> ficus.GrpcGeneralHistogramData - 54, // 74: ficus.GrpcSoftwareData.simple_counter_data:type_name -> ficus.GrpcSimpleCounterData - 51, // 75: ficus.GrpcSoftwareData.activities_durations_data:type_name -> ficus.GrpcActivityDurationData - 48, // 76: ficus.GrpcSoftwareData.ocel_data:type_name -> ficus.GrpcOcelData - 79, // 77: ficus.GrpcOcelData.allocate:type_name -> google.protobuf.Empty - 79, // 78: ficus.GrpcOcelData.consume:type_name -> google.protobuf.Empty - 49, // 79: ficus.GrpcOcelData.merged_object_allocation:type_name -> ficus.GrpcMergedObjectAllocation - 50, // 80: ficus.GrpcOcelData.produce_object_consumption:type_name -> ficus.GrpcProduceObjectConsumption - 52, // 81: ficus.GrpcActivityDurationData.base:type_name -> ficus.GrpcGenericEnhancementBase - 1, // 82: ficus.GrpcActivityDurationData.kind:type_name -> ficus.GrpcDurationKind - 52, // 83: ficus.GrpcGeneralHistogramData.base:type_name -> ficus.GrpcGenericEnhancementBase - 57, // 84: ficus.GrpcGeneralHistogramData.entries:type_name -> ficus.GrpcHistogramEntry - 52, // 85: ficus.GrpcSimpleCounterData.base:type_name -> ficus.GrpcGenericEnhancementBase - 56, // 86: ficus.GrpcMethodInliningInfo.inlinee_info:type_name -> ficus.GrpcMethodNameParts - 56, // 87: ficus.GrpcMethodInliningInfo.inliner_info:type_name -> ficus.GrpcMethodNameParts - 68, // 88: ficus.GrpcTimelineDiagramFragment.threads:type_name -> ficus.GrpcThread - 2, // 89: ficus.GrpcUnderlyingPatternInfo.pattern_kind:type_name -> ficus.GrpcUnderlyingPatternKind - 40, // 90: ficus.GrpcUnderlyingPatternInfo.graph:type_name -> ficus.GrpcGraph - 62, // 91: ficus.GrpcGraphEdge.additional_data:type_name -> ficus.GrpcGraphEdgeAdditionalData - 47, // 92: ficus.GrpcGraphEdgeAdditionalData.software_data:type_name -> ficus.GrpcSoftwareData - 63, // 93: ficus.GrpcGraphEdgeAdditionalData.execution_info:type_name -> ficus.GrpcEdgeExecutionInfo - 44, // 94: ficus.GrpcGraphEdgeAdditionalData.time_data:type_name -> ficus.GrpcActivityStartEndData - 67, // 95: ficus.GrpcLogTimelineDiagram.traces:type_name -> ficus.GrpcTraceTimelineDiagram - 24, // 96: ficus.GrpcTimelineTraceEventsGroup.start_point:type_name -> ficus.GrpcLogPoint - 24, // 97: ficus.GrpcTimelineTraceEventsGroup.end_point:type_name -> ficus.GrpcLogPoint - 68, // 98: ficus.GrpcTraceTimelineDiagram.threads:type_name -> ficus.GrpcThread - 66, // 99: ficus.GrpcTraceTimelineDiagram.events_groups:type_name -> ficus.GrpcTimelineTraceEventsGroup - 69, // 100: ficus.GrpcThread.events:type_name -> ficus.GrpcThreadEvent - 101, // [101:101] is the sub-list for method output_type - 101, // [101:101] is the sub-list for method input_type - 101, // [101:101] is the sub-list for extension type_name - 101, // [101:101] is the sub-list for extension extendee - 0, // [0:101] is the sub-list for field type_name + 76, // 70: ficus.GrpcMultithreadedFragment.multithreaded_log:type_name -> ficus.GrpcSimpleEventLog + 59, // 71: ficus.GrpcSoftwareData.histogram:type_name -> ficus.GrpcHistogramEntry + 60, // 72: ficus.GrpcSoftwareData.timeline_diagram_fragment:type_name -> ficus.GrpcTimelineDiagramFragment + 55, // 73: ficus.GrpcSoftwareData.histogram_data:type_name -> ficus.GrpcGeneralHistogramData + 56, // 74: ficus.GrpcSoftwareData.simple_counter_data:type_name -> ficus.GrpcSimpleCounterData + 53, // 75: ficus.GrpcSoftwareData.activities_durations_data:type_name -> ficus.GrpcActivityDurationData + 52, // 76: ficus.GrpcSoftwareData.ocel_data:type_name -> ficus.GrpcOcelData + 50, // 77: ficus.GrpcOcelConsumeProduce.produced_objects:type_name -> ficus.GrpcOcelProducedObject + 48, // 78: ficus.GrpcOcelData.allocate:type_name -> ficus.GrpcOcelObjectTypeData + 48, // 79: ficus.GrpcOcelData.consume:type_name -> ficus.GrpcOcelObjectTypeData + 49, // 80: ficus.GrpcOcelData.merged_object_allocation:type_name -> ficus.GrpcOcelAllocateMerge + 51, // 81: ficus.GrpcOcelData.produce_object_consumption:type_name -> ficus.GrpcOcelConsumeProduce + 54, // 82: ficus.GrpcActivityDurationData.base:type_name -> ficus.GrpcGenericEnhancementBase + 1, // 83: ficus.GrpcActivityDurationData.kind:type_name -> ficus.GrpcDurationKind + 54, // 84: ficus.GrpcGeneralHistogramData.base:type_name -> ficus.GrpcGenericEnhancementBase + 59, // 85: ficus.GrpcGeneralHistogramData.entries:type_name -> ficus.GrpcHistogramEntry + 54, // 86: ficus.GrpcSimpleCounterData.base:type_name -> ficus.GrpcGenericEnhancementBase + 58, // 87: ficus.GrpcMethodInliningInfo.inlinee_info:type_name -> ficus.GrpcMethodNameParts + 58, // 88: ficus.GrpcMethodInliningInfo.inliner_info:type_name -> ficus.GrpcMethodNameParts + 70, // 89: ficus.GrpcTimelineDiagramFragment.threads:type_name -> ficus.GrpcThread + 2, // 90: ficus.GrpcUnderlyingPatternInfo.pattern_kind:type_name -> ficus.GrpcUnderlyingPatternKind + 40, // 91: ficus.GrpcUnderlyingPatternInfo.graph:type_name -> ficus.GrpcGraph + 64, // 92: ficus.GrpcGraphEdge.additional_data:type_name -> ficus.GrpcGraphEdgeAdditionalData + 47, // 93: ficus.GrpcGraphEdgeAdditionalData.software_data:type_name -> ficus.GrpcSoftwareData + 65, // 94: ficus.GrpcGraphEdgeAdditionalData.execution_info:type_name -> ficus.GrpcEdgeExecutionInfo + 44, // 95: ficus.GrpcGraphEdgeAdditionalData.time_data:type_name -> ficus.GrpcActivityStartEndData + 69, // 96: ficus.GrpcLogTimelineDiagram.traces:type_name -> ficus.GrpcTraceTimelineDiagram + 24, // 97: ficus.GrpcTimelineTraceEventsGroup.start_point:type_name -> ficus.GrpcLogPoint + 24, // 98: ficus.GrpcTimelineTraceEventsGroup.end_point:type_name -> ficus.GrpcLogPoint + 70, // 99: ficus.GrpcTraceTimelineDiagram.threads:type_name -> ficus.GrpcThread + 68, // 100: ficus.GrpcTraceTimelineDiagram.events_groups:type_name -> ficus.GrpcTimelineTraceEventsGroup + 71, // 101: ficus.GrpcThread.events:type_name -> ficus.GrpcThreadEvent + 102, // [102:102] is the sub-list for method output_type + 102, // [102:102] is the sub-list for method input_type + 102, // [102:102] is the sub-list for extension type_name + 102, // [102:102] is the sub-list for extension extendee + 0, // [0:102] is the sub-list for field type_name } func init() { file_pipelines_and_context_proto_init() } @@ -4974,14 +5080,17 @@ func file_pipelines_and_context_proto_init() { (*GrpcNodeAdditionalData_TimeData)(nil), (*GrpcNodeAdditionalData_MultithreadedFragment)(nil), } - file_pipelines_and_context_proto_msgTypes[45].OneofWrappers = []any{ + file_pipelines_and_context_proto_msgTypes[45].OneofWrappers = []any{} + file_pipelines_and_context_proto_msgTypes[46].OneofWrappers = []any{} + file_pipelines_and_context_proto_msgTypes[47].OneofWrappers = []any{} + file_pipelines_and_context_proto_msgTypes[49].OneofWrappers = []any{ (*GrpcOcelData_Allocate)(nil), (*GrpcOcelData_Consume)(nil), (*GrpcOcelData_MergedObjectAllocation)(nil), (*GrpcOcelData_ProduceObjectConsumption)(nil), } - file_pipelines_and_context_proto_msgTypes[49].OneofWrappers = []any{} - file_pipelines_and_context_proto_msgTypes[59].OneofWrappers = []any{ + file_pipelines_and_context_proto_msgTypes[51].OneofWrappers = []any{} + file_pipelines_and_context_proto_msgTypes[61].OneofWrappers = []any{ (*GrpcGraphEdgeAdditionalData_SoftwareData)(nil), (*GrpcGraphEdgeAdditionalData_ExecutionInfo)(nil), (*GrpcGraphEdgeAdditionalData_TimeData)(nil), @@ -4992,7 +5101,7 @@ func file_pipelines_and_context_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_pipelines_and_context_proto_rawDesc), len(file_pipelines_and_context_proto_rawDesc)), NumEnums: 3, - NumMessages: 67, + NumMessages: 69, NumExtensions: 0, NumServices: 0, }, diff --git a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py index 0f678249c..16c7a3b14 100644 --- a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py +++ b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py @@ -34,7 +34,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bpipelines_and_context.proto\x12\x05\x66icus\x1a\x0fpm_models.proto\x1a\nutil.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x1e\n\x0eGrpcContextKey\x12\x0c\n\x04name\x18\x01 \x01(\t\"W\n\x1bGrpcContextValueWithKeyName\x12\x10\n\x08key_name\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"\xc6\t\n\x10GrpcContextValue\x12\x10\n\x06string\x18\x01 \x01(\tH\x00\x12;\n\nhashes_log\x18\x02 \x01(\x0b\x32%.ficus.GrpcHashesEventLogContextValueH\x00\x12\x39\n\tnames_log\x18\x03 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12\x10\n\x06uint32\x18\x04 \x01(\rH\x00\x12J\n\x11traces_sub_arrays\x18\x05 \x01(\x0b\x32-.ficus.GrpcEventLogTraceSubArraysContextValueH\x00\x12P\n\x16trace_index_sub_arrays\x18\x06 \x01(\x0b\x32..ficus.GrpcSubArraysWithTraceIndexContextValueH\x00\x12\x0e\n\x04\x62ool\x18\x07 \x01(\x08H\x00\x12=\n\rxes_event_log\x18\x08 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12/\n\ncolors_log\x18\t \x01(\x0b\x32\x19.ficus.GrpcColorsEventLogH\x00\x12\x1f\n\x04\x65num\x18\n \x01(\x0b\x32\x0f.ficus.GrpcEnumH\x00\x12\x31\n\x0e\x65vent_log_info\x18\x0b \x01(\x0b\x32\x17.ficus.GrpcEventLogInfoH\x00\x12%\n\x07strings\x18\x0c \x01(\x0b\x32\x12.ficus.GrpcStringsH\x00\x12\'\n\x08pipeline\x18\r \x01(\x0b\x32\x13.ficus.GrpcPipelineH\x00\x12\'\n\x08petriNet\x18\x0e \x01(\x0b\x32\x13.ficus.GrpcPetriNetH\x00\x12!\n\x05graph\x18\x0f \x01(\x0b\x32\x10.ficus.GrpcGraphH\x00\x12\x0f\n\x05\x66loat\x18\x10 \x01(\x02H\x00\x12+\n\nannotation\x18\x11 \x01(\x0b\x32\x15.ficus.GrpcAnnotationH\x00\x12%\n\x07\x64\x61taset\x18\x12 \x01(\x0b\x32\x12.ficus.GrpcDatasetH\x00\x12\x34\n\x0flabeled_dataset\x18\x13 \x01(\x0b\x32\x19.ficus.GrpcLabeledDatasetH\x00\x12!\n\x05\x62ytes\x18\x14 \x01(\x0b\x32\x10.ficus.GrpcBytesH\x00\x12;\n\x12logTimelineDiagram\x18\x15 \x01(\x0b\x32\x1d.ficus.GrpcLogTimelineDiagramH\x00\x12,\n\x0b\x66loat_array\x18\x16 \x01(\x0b\x32\x15.ficus.GrpcFloatArrayH\x00\x12(\n\tint_array\x18\x17 \x01(\x0b\x32\x13.ficus.GrpcIntArrayH\x00\x12*\n\nuint_array\x18\x18 \x01(\x0b\x32\x14.ficus.GrpcUintArrayH\x00\x12\x0e\n\x04json\x18\x19 \x01(\tH\x00\x12.\n\tevent_log\x18\x1a \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLogH\x00\x12\x39\n\x0focel_annotation\x18\x1b \x01(\x0b\x32\x1e.ficus.GrpcOcelModelAnnotationH\x00\x42\x0e\n\x0c\x63ontextValue\"U\n\x17GrpcOcelModelAnnotation\x12:\n\x0b\x61nnotations\x18\x01 \x03(\x0b\x32%.ficus.GrpcModelElementOcelAnnotation\"\xa3\x01\n\x1eGrpcModelElementOcelAnnotation\x12\x12\n\nelement_id\x18\x01 \x01(\x04\x12\x30\n\rinitial_state\x18\x02 \x01(\x0b\x32\x14.ficus.GrpcOcelStateH\x00\x88\x01\x01\x12)\n\x0b\x66inal_state\x18\x03 \x01(\x0b\x32\x14.ficus.GrpcOcelStateB\x10\n\x0e_initial_state\"D\n\rGrpcOcelState\x12\x33\n\x0btype_states\x18\x01 \x03(\x0b\x32\x1e.ficus.GrpcOcelObjectTypeState\";\n\x17GrpcOcelObjectTypeState\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x12\n\nobject_ids\x18\x02 \x03(\t\"\x1f\n\x0eGrpcFloatArray\x12\r\n\x05items\x18\x01 \x03(\x01\"\x1d\n\x0cGrpcIntArray\x12\r\n\x05items\x18\x01 \x03(\x03\"\x1e\n\rGrpcUintArray\x12\r\n\x05items\x18\x01 \x03(\x04\"a\n\x13GrpcContextKeyValue\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"H\n\x1eGrpcHashesEventLogContextValue\x12&\n\x03log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcHashesEventLog\"F\n\x1dGrpcNamesEventLogContextValue\x12%\n\x03log\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcNamesEventLog\"^\n&GrpcEventLogTraceSubArraysContextValue\x12\x34\n\x11traces_sub_arrays\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcTraceSubArrays\"/\n\x11GrpcTraceSubArray\x12\r\n\x05start\x18\x01 \x01(\r\x12\x0b\n\x03\x65nd\x18\x02 \x01(\r\"B\n\x12GrpcTraceSubArrays\x12,\n\nsub_arrays\x18\x01 \x03(\x0b\x32\x18.ficus.GrpcTraceSubArray\"^\n\x1aGrpcSubArrayWithTraceIndex\x12+\n\tsub_array\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcTraceSubArray\x12\x13\n\x0btrace_index\x18\x02 \x01(\r\"`\n\'GrpcSubArraysWithTraceIndexContextValue\x12\x35\n\nsub_arrays\x18\x01 \x03(\x0b\x32!.ficus.GrpcSubArrayWithTraceIndex\"\xa4\x01\n\x12GrpcColorsEventLog\x12\x31\n\x07mapping\x18\x01 \x03(\x0b\x32 .ficus.GrpcColorsEventLogMapping\x12&\n\x06traces\x18\x02 \x03(\x0b\x32\x16.ficus.GrpcColorsTrace\x12\x33\n\x0b\x61\x64justments\x18\x03 \x03(\x0b\x32\x1e.ficus.GrpcColorsLogAdjustment\"\xba\x01\n\x17GrpcColorsLogAdjustment\x12G\n\x14rectangle_adjustment\x18\x01 \x01(\x0b\x32\'.ficus.GrpcColorsLogRectangleAdjustmentH\x00\x12I\n\x10\x61xis_after_trace\x18\x02 \x01(\x0b\x32-.ficus.GrpcColorsLogXAxisAfterTraceAdjustmentH\x00\x42\x0b\n\tselection\"\xa9\x01\n GrpcColorsLogRectangleAdjustment\x12*\n\rup_left_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12-\n\x10\x64own_right_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12*\n\"extend_to_nearest_vertical_borders\x18\x03 \x01(\x08\"8\n\x0cGrpcLogPoint\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x02 \x01(\x04\"=\n&GrpcColorsLogXAxisAfterTraceAdjustment\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\"J\n\x19GrpcColorsEventLogMapping\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x05\x63olor\x18\x02 \x01(\x0b\x32\x10.ficus.GrpcColor\"\\\n\x0fGrpcColorsTrace\x12\x31\n\x0c\x65vent_colors\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcColoredRectangle\x12\x16\n\x0e\x63onstant_width\x18\x02 \x01(\x08\"L\n\x14GrpcColoredRectangle\x12\x13\n\x0b\x63olor_index\x18\x01 \x01(\r\x12\x0f\n\x07start_x\x18\x02 \x01(\x01\x12\x0e\n\x06length\x18\x03 \x01(\x01\"+\n\x08GrpcEnum\x12\x10\n\x08\x65numType\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"[\n\x10GrpcEventLogInfo\x12\x14\n\x0c\x65vents_count\x18\x01 \x01(\r\x12\x14\n\x0ctraces_count\x18\x02 \x01(\r\x12\x1b\n\x13\x65vent_classes_count\x18\x03 \x01(\r\"\x1e\n\x0bGrpcStrings\x12\x0f\n\x07strings\x18\x01 \x03(\t\":\n\x0cGrpcPipeline\x12*\n\x05parts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"\xab\x02\n\x14GrpcPipelinePartBase\x12.\n\x0b\x64\x65\x66\x61ultPart\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcPipelinePartH\x00\x12\x37\n\x0cparallelPart\x18\x02 \x01(\x0b\x32\x1f.ficus.GrpcParallelPipelinePartH\x00\x12O\n\x18simpleContextRequestPart\x18\x03 \x01(\x0b\x32+.ficus.GrpcSimpleContextRequestPipelinePartH\x00\x12Q\n\x19\x63omplexContextRequestPart\x18\x04 \x01(\x0b\x32,.ficus.GrpcComplexContextRequestPipelinePartH\x00\x42\x06\n\x04part\"]\n\x10GrpcPipelinePart\x12\x0c\n\x04name\x18\x01 \x01(\t\x12;\n\rconfiguration\x18\x02 \x01(\x0b\x32$.ficus.GrpcPipelinePartConfiguration\"\\\n\x1dGrpcPipelinePartConfiguration\x12;\n\x17\x63onfigurationParameters\x18\x01 \x03(\x0b\x32\x1a.ficus.GrpcContextKeyValue\"N\n\x18GrpcParallelPipelinePart\x12\x32\n\rpipelineParts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"N\n\x19GrpcParallelPipelineParts\x12\x31\n\x08pipeline\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcParallelPipelinePart\"\x97\x01\n$GrpcSimpleContextRequestPipelinePart\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12)\n\x10\x66rontendPartUuid\x18\x02 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x03 \x01(\t\"\xce\x01\n%GrpcComplexContextRequestPipelinePart\x12#\n\x04keys\x18\x01 \x03(\x0b\x32\x15.ficus.GrpcContextKey\x12\x33\n\x12\x62\x65\x66orePipelinePart\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcPipelinePart\x12)\n\x10\x66rontendPartUuid\x18\x03 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x04 \x01(\t\"y\n\tGrpcGraph\x12#\n\x05nodes\x18\x01 \x03(\x0b\x32\x14.ficus.GrpcGraphNode\x12#\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x14.ficus.GrpcGraphEdge\x12\"\n\x04kind\x18\x03 \x01(\x0e\x32\x14.ficus.GrpcGraphKind\"\x88\x01\n\rGrpcGraphNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\x12\x36\n\x0f\x61\x64\x64itional_data\x18\x03 \x03(\x0b\x32\x1d.ficus.GrpcNodeAdditionalData\x12%\n\x0binner_graph\x18\x04 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\xac\x03\n\x16GrpcNodeAdditionalData\x12&\n\x04none\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x30\n\rsoftware_data\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x38\n\x0cpattern_info\x18\x03 \x01(\x0b\x32 .ficus.GrpcUnderlyingPatternInfoH\x00\x12;\n\ntrace_data\x18\x04 \x01(\x0b\x32%.ficus.GrpcNodeCorrespondingTraceDataH\x00\x12\x34\n\ttime_data\x18\x05 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x12\x42\n\x16multithreaded_fragment\x18\x07 \x01(\x0b\x32 .ficus.GrpcMultithreadedFragmentH\x00\x12?\n\x1aoriginal_event_coordinates\x18\x06 \x01(\x0b\x32\x1b.ficus.GrpcEventCoordinatesB\x06\n\x04\x64\x61ta\"Q\n\x19GrpcMultithreadedFragment\x12\x34\n\x11multithreaded_log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLog\"@\n\x18GrpcActivityStartEndData\x12\x12\n\nstart_time\x18\x01 \x01(\x03\x12\x10\n\x08\x65nd_time\x18\x02 \x01(\x03\"=\n\x14GrpcEventCoordinates\x12\x10\n\x08trace_id\x18\x02 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x03 \x01(\x04\"B\n\x1eGrpcNodeCorrespondingTraceData\x12 \n\x18\x62\x65longs_to_root_sequence\x18\x01 \x01(\x08\"\xe7\x02\n\x10GrpcSoftwareData\x12,\n\thistogram\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\x12\x45\n\x19timeline_diagram_fragment\x18\x02 \x01(\x0b\x32\".ficus.GrpcTimelineDiagramFragment\x12\x37\n\x0ehistogram_data\x18\r \x03(\x0b\x32\x1f.ficus.GrpcGeneralHistogramData\x12\x39\n\x13simple_counter_data\x18\x0e \x03(\x0b\x32\x1c.ficus.GrpcSimpleCounterData\x12\x42\n\x19\x61\x63tivities_durations_data\x18\x0f \x03(\x0b\x32\x1f.ficus.GrpcActivityDurationData\x12&\n\tocel_data\x18\x10 \x03(\x0b\x32\x13.ficus.GrpcOcelData\"\xa9\x02\n\x0cGrpcOcelData\x12\x13\n\x0bobject_type\x18\x01 \x01(\t\x12\x11\n\tobject_id\x18\x02 \x01(\t\x12*\n\x08\x61llocate\x18\x03 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12)\n\x07\x63onsume\x18\x04 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x45\n\x18merged_object_allocation\x18\x05 \x01(\x0b\x32!.ficus.GrpcMergedObjectAllocationH\x00\x12I\n\x1aproduce_object_consumption\x18\x06 \x01(\x0b\x32#.ficus.GrpcProduceObjectConsumptionH\x00\x42\x08\n\x06\x61\x63tion\":\n\x1aGrpcMergedObjectAllocation\x12\x1c\n\x14\x63onsumed_objects_ids\x18\x01 \x03(\t\"<\n\x1cGrpcProduceObjectConsumption\x12\x1c\n\x14produced_objects_ids\x18\x02 \x03(\t\"\x84\x01\n\x18GrpcActivityDurationData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12%\n\x04kind\x18\x03 \x01(\x0e\x32\x17.ficus.GrpcDurationKind\"W\n\x1aGrpcGenericEnhancementBase\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05units\x18\x02 \x01(\t\x12\x12\n\x05group\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_group\"w\n\x18GrpcGeneralHistogramData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12*\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\"W\n\x15GrpcSimpleCounterData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"|\n\x16GrpcMethodInliningInfo\x12\x30\n\x0cinlinee_info\x18\x01 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\x12\x30\n\x0cinliner_info\x18\x02 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\"I\n\x13GrpcMethodNameParts\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\t\"1\n\x12GrpcHistogramEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"A\n\x1bGrpcTimelineDiagramFragment\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\"a\n\x12GrpcAllocationInfo\x12\x11\n\ttype_name\x18\x01 \x01(\t\x12\x1f\n\x17\x61llocated_objects_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x61llocated_bytes\x18\x03 \x01(\x04\"\x8b\x01\n\x19GrpcUnderlyingPatternInfo\x12\x36\n\x0cpattern_kind\x18\x01 \x01(\x0e\x32 .ficus.GrpcUnderlyingPatternKind\x12\x15\n\rbase_sequence\x18\x02 \x03(\t\x12\x1f\n\x05graph\x18\x03 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\x9a\x01\n\rGrpcGraphEdge\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tfrom_node\x18\x02 \x01(\x04\x12\x0f\n\x07to_node\x18\x03 \x01(\x04\x12\x0e\n\x06weight\x18\x04 \x01(\x01\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\t\x12;\n\x0f\x61\x64\x64itional_data\x18\x06 \x03(\x0b\x32\".ficus.GrpcGraphEdgeAdditionalData\"\xc5\x01\n\x1bGrpcGraphEdgeAdditionalData\x12\x30\n\rsoftware_data\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x36\n\x0e\x65xecution_info\x18\x02 \x01(\x0b\x32\x1c.ficus.GrpcEdgeExecutionInfoH\x00\x12\x34\n\ttime_data\x18\x03 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x42\x06\n\x04\x64\x61ta\"(\n\x15GrpcEdgeExecutionInfo\x12\x0f\n\x07traceId\x18\x01 \x01(\x04\"\x1a\n\tGrpcBytes\x12\r\n\x05\x62ytes\x18\x01 \x01(\x0c\"I\n\x16GrpcLogTimelineDiagram\x12/\n\x06traces\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcTraceTimelineDiagram\"p\n\x1cGrpcTimelineTraceEventsGroup\x12(\n\x0bstart_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12&\n\tend_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\"z\n\x18GrpcTraceTimelineDiagram\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\x12:\n\revents_groups\x18\x02 \x03(\x0b\x32#.ficus.GrpcTimelineTraceEventsGroup\"4\n\nGrpcThread\x12&\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x16.ficus.GrpcThreadEvent\".\n\x0fGrpcThreadEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05stamp\x18\x02 \x01(\x03*.\n\rGrpcGraphKind\x12\x08\n\x04None\x10\x00\x12\x07\n\x03\x44\x41G\x10\x01\x12\n\n\x06\x44\x61gLCS\x10\x02*u\n\x10GrpcDurationKind\x12\x0f\n\x0bUnspecified\x10\x00\x12\t\n\x05Nanos\x10\x01\x12\n\n\x06Micros\x10\x02\x12\n\n\x06Millis\x10\x03\x12\x0b\n\x07Seconds\x10\x04\x12\x0b\n\x07Minutes\x10\x05\x12\t\n\x05Hours\x10\x06\x12\x08\n\x04\x44\x61ys\x10\x07*\xb1\x01\n\x19GrpcUnderlyingPatternKind\x12\x0e\n\nStrictLoop\x10\x00\x12\x18\n\x14PrimitiveTandemArray\x10\x01\x12\x16\n\x12MaximalTandemArray\x10\x02\x12\x11\n\rMaximalRepeat\x10\x03\x12\x16\n\x12SuperMaximalRepeat\x10\x04\x12\x1a\n\x16NearSuperMaximalRepeat\x10\x05\x12\x0b\n\x07Unknown\x10\x06\x42\x0fZ\r./;grpcmodelsb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bpipelines_and_context.proto\x12\x05\x66icus\x1a\x0fpm_models.proto\x1a\nutil.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x1e\n\x0eGrpcContextKey\x12\x0c\n\x04name\x18\x01 \x01(\t\"W\n\x1bGrpcContextValueWithKeyName\x12\x10\n\x08key_name\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"\xc6\t\n\x10GrpcContextValue\x12\x10\n\x06string\x18\x01 \x01(\tH\x00\x12;\n\nhashes_log\x18\x02 \x01(\x0b\x32%.ficus.GrpcHashesEventLogContextValueH\x00\x12\x39\n\tnames_log\x18\x03 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12\x10\n\x06uint32\x18\x04 \x01(\rH\x00\x12J\n\x11traces_sub_arrays\x18\x05 \x01(\x0b\x32-.ficus.GrpcEventLogTraceSubArraysContextValueH\x00\x12P\n\x16trace_index_sub_arrays\x18\x06 \x01(\x0b\x32..ficus.GrpcSubArraysWithTraceIndexContextValueH\x00\x12\x0e\n\x04\x62ool\x18\x07 \x01(\x08H\x00\x12=\n\rxes_event_log\x18\x08 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12/\n\ncolors_log\x18\t \x01(\x0b\x32\x19.ficus.GrpcColorsEventLogH\x00\x12\x1f\n\x04\x65num\x18\n \x01(\x0b\x32\x0f.ficus.GrpcEnumH\x00\x12\x31\n\x0e\x65vent_log_info\x18\x0b \x01(\x0b\x32\x17.ficus.GrpcEventLogInfoH\x00\x12%\n\x07strings\x18\x0c \x01(\x0b\x32\x12.ficus.GrpcStringsH\x00\x12\'\n\x08pipeline\x18\r \x01(\x0b\x32\x13.ficus.GrpcPipelineH\x00\x12\'\n\x08petriNet\x18\x0e \x01(\x0b\x32\x13.ficus.GrpcPetriNetH\x00\x12!\n\x05graph\x18\x0f \x01(\x0b\x32\x10.ficus.GrpcGraphH\x00\x12\x0f\n\x05\x66loat\x18\x10 \x01(\x02H\x00\x12+\n\nannotation\x18\x11 \x01(\x0b\x32\x15.ficus.GrpcAnnotationH\x00\x12%\n\x07\x64\x61taset\x18\x12 \x01(\x0b\x32\x12.ficus.GrpcDatasetH\x00\x12\x34\n\x0flabeled_dataset\x18\x13 \x01(\x0b\x32\x19.ficus.GrpcLabeledDatasetH\x00\x12!\n\x05\x62ytes\x18\x14 \x01(\x0b\x32\x10.ficus.GrpcBytesH\x00\x12;\n\x12logTimelineDiagram\x18\x15 \x01(\x0b\x32\x1d.ficus.GrpcLogTimelineDiagramH\x00\x12,\n\x0b\x66loat_array\x18\x16 \x01(\x0b\x32\x15.ficus.GrpcFloatArrayH\x00\x12(\n\tint_array\x18\x17 \x01(\x0b\x32\x13.ficus.GrpcIntArrayH\x00\x12*\n\nuint_array\x18\x18 \x01(\x0b\x32\x14.ficus.GrpcUintArrayH\x00\x12\x0e\n\x04json\x18\x19 \x01(\tH\x00\x12.\n\tevent_log\x18\x1a \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLogH\x00\x12\x39\n\x0focel_annotation\x18\x1b \x01(\x0b\x32\x1e.ficus.GrpcOcelModelAnnotationH\x00\x42\x0e\n\x0c\x63ontextValue\"U\n\x17GrpcOcelModelAnnotation\x12:\n\x0b\x61nnotations\x18\x01 \x03(\x0b\x32%.ficus.GrpcModelElementOcelAnnotation\"\xa3\x01\n\x1eGrpcModelElementOcelAnnotation\x12\x12\n\nelement_id\x18\x01 \x01(\x04\x12\x30\n\rinitial_state\x18\x02 \x01(\x0b\x32\x14.ficus.GrpcOcelStateH\x00\x88\x01\x01\x12)\n\x0b\x66inal_state\x18\x03 \x01(\x0b\x32\x14.ficus.GrpcOcelStateB\x10\n\x0e_initial_state\"D\n\rGrpcOcelState\x12\x33\n\x0btype_states\x18\x01 \x03(\x0b\x32\x1e.ficus.GrpcOcelObjectTypeState\";\n\x17GrpcOcelObjectTypeState\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x12\n\nobject_ids\x18\x02 \x03(\t\"\x1f\n\x0eGrpcFloatArray\x12\r\n\x05items\x18\x01 \x03(\x01\"\x1d\n\x0cGrpcIntArray\x12\r\n\x05items\x18\x01 \x03(\x03\"\x1e\n\rGrpcUintArray\x12\r\n\x05items\x18\x01 \x03(\x04\"a\n\x13GrpcContextKeyValue\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"H\n\x1eGrpcHashesEventLogContextValue\x12&\n\x03log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcHashesEventLog\"F\n\x1dGrpcNamesEventLogContextValue\x12%\n\x03log\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcNamesEventLog\"^\n&GrpcEventLogTraceSubArraysContextValue\x12\x34\n\x11traces_sub_arrays\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcTraceSubArrays\"/\n\x11GrpcTraceSubArray\x12\r\n\x05start\x18\x01 \x01(\r\x12\x0b\n\x03\x65nd\x18\x02 \x01(\r\"B\n\x12GrpcTraceSubArrays\x12,\n\nsub_arrays\x18\x01 \x03(\x0b\x32\x18.ficus.GrpcTraceSubArray\"^\n\x1aGrpcSubArrayWithTraceIndex\x12+\n\tsub_array\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcTraceSubArray\x12\x13\n\x0btrace_index\x18\x02 \x01(\r\"`\n\'GrpcSubArraysWithTraceIndexContextValue\x12\x35\n\nsub_arrays\x18\x01 \x03(\x0b\x32!.ficus.GrpcSubArrayWithTraceIndex\"\xa4\x01\n\x12GrpcColorsEventLog\x12\x31\n\x07mapping\x18\x01 \x03(\x0b\x32 .ficus.GrpcColorsEventLogMapping\x12&\n\x06traces\x18\x02 \x03(\x0b\x32\x16.ficus.GrpcColorsTrace\x12\x33\n\x0b\x61\x64justments\x18\x03 \x03(\x0b\x32\x1e.ficus.GrpcColorsLogAdjustment\"\xba\x01\n\x17GrpcColorsLogAdjustment\x12G\n\x14rectangle_adjustment\x18\x01 \x01(\x0b\x32\'.ficus.GrpcColorsLogRectangleAdjustmentH\x00\x12I\n\x10\x61xis_after_trace\x18\x02 \x01(\x0b\x32-.ficus.GrpcColorsLogXAxisAfterTraceAdjustmentH\x00\x42\x0b\n\tselection\"\xa9\x01\n GrpcColorsLogRectangleAdjustment\x12*\n\rup_left_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12-\n\x10\x64own_right_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12*\n\"extend_to_nearest_vertical_borders\x18\x03 \x01(\x08\"8\n\x0cGrpcLogPoint\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x02 \x01(\x04\"=\n&GrpcColorsLogXAxisAfterTraceAdjustment\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\"J\n\x19GrpcColorsEventLogMapping\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x05\x63olor\x18\x02 \x01(\x0b\x32\x10.ficus.GrpcColor\"\\\n\x0fGrpcColorsTrace\x12\x31\n\x0c\x65vent_colors\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcColoredRectangle\x12\x16\n\x0e\x63onstant_width\x18\x02 \x01(\x08\"L\n\x14GrpcColoredRectangle\x12\x13\n\x0b\x63olor_index\x18\x01 \x01(\r\x12\x0f\n\x07start_x\x18\x02 \x01(\x01\x12\x0e\n\x06length\x18\x03 \x01(\x01\"+\n\x08GrpcEnum\x12\x10\n\x08\x65numType\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"[\n\x10GrpcEventLogInfo\x12\x14\n\x0c\x65vents_count\x18\x01 \x01(\r\x12\x14\n\x0ctraces_count\x18\x02 \x01(\r\x12\x1b\n\x13\x65vent_classes_count\x18\x03 \x01(\r\"\x1e\n\x0bGrpcStrings\x12\x0f\n\x07strings\x18\x01 \x03(\t\":\n\x0cGrpcPipeline\x12*\n\x05parts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"\xab\x02\n\x14GrpcPipelinePartBase\x12.\n\x0b\x64\x65\x66\x61ultPart\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcPipelinePartH\x00\x12\x37\n\x0cparallelPart\x18\x02 \x01(\x0b\x32\x1f.ficus.GrpcParallelPipelinePartH\x00\x12O\n\x18simpleContextRequestPart\x18\x03 \x01(\x0b\x32+.ficus.GrpcSimpleContextRequestPipelinePartH\x00\x12Q\n\x19\x63omplexContextRequestPart\x18\x04 \x01(\x0b\x32,.ficus.GrpcComplexContextRequestPipelinePartH\x00\x42\x06\n\x04part\"]\n\x10GrpcPipelinePart\x12\x0c\n\x04name\x18\x01 \x01(\t\x12;\n\rconfiguration\x18\x02 \x01(\x0b\x32$.ficus.GrpcPipelinePartConfiguration\"\\\n\x1dGrpcPipelinePartConfiguration\x12;\n\x17\x63onfigurationParameters\x18\x01 \x03(\x0b\x32\x1a.ficus.GrpcContextKeyValue\"N\n\x18GrpcParallelPipelinePart\x12\x32\n\rpipelineParts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"N\n\x19GrpcParallelPipelineParts\x12\x31\n\x08pipeline\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcParallelPipelinePart\"\x97\x01\n$GrpcSimpleContextRequestPipelinePart\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12)\n\x10\x66rontendPartUuid\x18\x02 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x03 \x01(\t\"\xce\x01\n%GrpcComplexContextRequestPipelinePart\x12#\n\x04keys\x18\x01 \x03(\x0b\x32\x15.ficus.GrpcContextKey\x12\x33\n\x12\x62\x65\x66orePipelinePart\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcPipelinePart\x12)\n\x10\x66rontendPartUuid\x18\x03 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x04 \x01(\t\"y\n\tGrpcGraph\x12#\n\x05nodes\x18\x01 \x03(\x0b\x32\x14.ficus.GrpcGraphNode\x12#\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x14.ficus.GrpcGraphEdge\x12\"\n\x04kind\x18\x03 \x01(\x0e\x32\x14.ficus.GrpcGraphKind\"\x88\x01\n\rGrpcGraphNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\x12\x36\n\x0f\x61\x64\x64itional_data\x18\x03 \x03(\x0b\x32\x1d.ficus.GrpcNodeAdditionalData\x12%\n\x0binner_graph\x18\x04 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\xac\x03\n\x16GrpcNodeAdditionalData\x12&\n\x04none\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x30\n\rsoftware_data\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x38\n\x0cpattern_info\x18\x03 \x01(\x0b\x32 .ficus.GrpcUnderlyingPatternInfoH\x00\x12;\n\ntrace_data\x18\x04 \x01(\x0b\x32%.ficus.GrpcNodeCorrespondingTraceDataH\x00\x12\x34\n\ttime_data\x18\x05 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x12\x42\n\x16multithreaded_fragment\x18\x07 \x01(\x0b\x32 .ficus.GrpcMultithreadedFragmentH\x00\x12?\n\x1aoriginal_event_coordinates\x18\x06 \x01(\x0b\x32\x1b.ficus.GrpcEventCoordinatesB\x06\n\x04\x64\x61ta\"Q\n\x19GrpcMultithreadedFragment\x12\x34\n\x11multithreaded_log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLog\"@\n\x18GrpcActivityStartEndData\x12\x12\n\nstart_time\x18\x01 \x01(\x03\x12\x10\n\x08\x65nd_time\x18\x02 \x01(\x03\"=\n\x14GrpcEventCoordinates\x12\x10\n\x08trace_id\x18\x02 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x03 \x01(\x04\"B\n\x1eGrpcNodeCorrespondingTraceData\x12 \n\x18\x62\x65longs_to_root_sequence\x18\x01 \x01(\x08\"\xe7\x02\n\x10GrpcSoftwareData\x12,\n\thistogram\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\x12\x45\n\x19timeline_diagram_fragment\x18\x02 \x01(\x0b\x32\".ficus.GrpcTimelineDiagramFragment\x12\x37\n\x0ehistogram_data\x18\r \x03(\x0b\x32\x1f.ficus.GrpcGeneralHistogramData\x12\x39\n\x13simple_counter_data\x18\x0e \x03(\x0b\x32\x1c.ficus.GrpcSimpleCounterData\x12\x42\n\x19\x61\x63tivities_durations_data\x18\x0f \x03(\x0b\x32\x1f.ficus.GrpcActivityDurationData\x12&\n\tocel_data\x18\x10 \x03(\x0b\x32\x13.ficus.GrpcOcelData\"4\n\x16GrpcOcelObjectTypeData\x12\x11\n\x04type\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_type\"O\n\x15GrpcOcelAllocateMerge\x12\x11\n\x04type\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\x12merged_objects_ids\x18\x02 \x03(\tB\x07\n\x05_type\"@\n\x16GrpcOcelProducedObject\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\x04type\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_type\"Q\n\x16GrpcOcelConsumeProduce\x12\x37\n\x10produced_objects\x18\x01 \x03(\x0b\x32\x1d.ficus.GrpcOcelProducedObject\"\x97\x02\n\x0cGrpcOcelData\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x31\n\x08\x61llocate\x18\x02 \x01(\x0b\x32\x1d.ficus.GrpcOcelObjectTypeDataH\x00\x12\x30\n\x07\x63onsume\x18\x03 \x01(\x0b\x32\x1d.ficus.GrpcOcelObjectTypeDataH\x00\x12@\n\x18merged_object_allocation\x18\x04 \x01(\x0b\x32\x1c.ficus.GrpcOcelAllocateMergeH\x00\x12\x43\n\x1aproduce_object_consumption\x18\x05 \x01(\x0b\x32\x1d.ficus.GrpcOcelConsumeProduceH\x00\x42\x08\n\x06\x61\x63tion\"\x84\x01\n\x18GrpcActivityDurationData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12%\n\x04kind\x18\x03 \x01(\x0e\x32\x17.ficus.GrpcDurationKind\"W\n\x1aGrpcGenericEnhancementBase\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05units\x18\x02 \x01(\t\x12\x12\n\x05group\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_group\"w\n\x18GrpcGeneralHistogramData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12*\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\"W\n\x15GrpcSimpleCounterData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"|\n\x16GrpcMethodInliningInfo\x12\x30\n\x0cinlinee_info\x18\x01 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\x12\x30\n\x0cinliner_info\x18\x02 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\"I\n\x13GrpcMethodNameParts\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\t\"1\n\x12GrpcHistogramEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"A\n\x1bGrpcTimelineDiagramFragment\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\"a\n\x12GrpcAllocationInfo\x12\x11\n\ttype_name\x18\x01 \x01(\t\x12\x1f\n\x17\x61llocated_objects_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x61llocated_bytes\x18\x03 \x01(\x04\"\x8b\x01\n\x19GrpcUnderlyingPatternInfo\x12\x36\n\x0cpattern_kind\x18\x01 \x01(\x0e\x32 .ficus.GrpcUnderlyingPatternKind\x12\x15\n\rbase_sequence\x18\x02 \x03(\t\x12\x1f\n\x05graph\x18\x03 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\x9a\x01\n\rGrpcGraphEdge\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tfrom_node\x18\x02 \x01(\x04\x12\x0f\n\x07to_node\x18\x03 \x01(\x04\x12\x0e\n\x06weight\x18\x04 \x01(\x01\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\t\x12;\n\x0f\x61\x64\x64itional_data\x18\x06 \x03(\x0b\x32\".ficus.GrpcGraphEdgeAdditionalData\"\xc5\x01\n\x1bGrpcGraphEdgeAdditionalData\x12\x30\n\rsoftware_data\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x36\n\x0e\x65xecution_info\x18\x02 \x01(\x0b\x32\x1c.ficus.GrpcEdgeExecutionInfoH\x00\x12\x34\n\ttime_data\x18\x03 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x42\x06\n\x04\x64\x61ta\"(\n\x15GrpcEdgeExecutionInfo\x12\x0f\n\x07traceId\x18\x01 \x01(\x04\"\x1a\n\tGrpcBytes\x12\r\n\x05\x62ytes\x18\x01 \x01(\x0c\"I\n\x16GrpcLogTimelineDiagram\x12/\n\x06traces\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcTraceTimelineDiagram\"p\n\x1cGrpcTimelineTraceEventsGroup\x12(\n\x0bstart_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12&\n\tend_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\"z\n\x18GrpcTraceTimelineDiagram\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\x12:\n\revents_groups\x18\x02 \x03(\x0b\x32#.ficus.GrpcTimelineTraceEventsGroup\"4\n\nGrpcThread\x12&\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x16.ficus.GrpcThreadEvent\".\n\x0fGrpcThreadEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05stamp\x18\x02 \x01(\x03*.\n\rGrpcGraphKind\x12\x08\n\x04None\x10\x00\x12\x07\n\x03\x44\x41G\x10\x01\x12\n\n\x06\x44\x61gLCS\x10\x02*u\n\x10GrpcDurationKind\x12\x0f\n\x0bUnspecified\x10\x00\x12\t\n\x05Nanos\x10\x01\x12\n\n\x06Micros\x10\x02\x12\n\n\x06Millis\x10\x03\x12\x0b\n\x07Seconds\x10\x04\x12\x0b\n\x07Minutes\x10\x05\x12\t\n\x05Hours\x10\x06\x12\x08\n\x04\x44\x61ys\x10\x07*\xb1\x01\n\x19GrpcUnderlyingPatternKind\x12\x0e\n\nStrictLoop\x10\x00\x12\x18\n\x14PrimitiveTandemArray\x10\x01\x12\x16\n\x12MaximalTandemArray\x10\x02\x12\x11\n\rMaximalRepeat\x10\x03\x12\x16\n\x12SuperMaximalRepeat\x10\x04\x12\x1a\n\x16NearSuperMaximalRepeat\x10\x05\x12\x0b\n\x07Unknown\x10\x06\x42\x0fZ\r./;grpcmodelsb\x06proto3') @@ -50,17 +50,17 @@ DESCRIPTOR._serialized_options = b'Z\r./;grpcmodels' - _globals['_GRPCGRAPHKIND']._serialized_start=8308 + _globals['_GRPCGRAPHKIND']._serialized_start=8452 - _globals['_GRPCGRAPHKIND']._serialized_end=8354 + _globals['_GRPCGRAPHKIND']._serialized_end=8498 - _globals['_GRPCDURATIONKIND']._serialized_start=8356 + _globals['_GRPCDURATIONKIND']._serialized_start=8500 - _globals['_GRPCDURATIONKIND']._serialized_end=8473 + _globals['_GRPCDURATIONKIND']._serialized_end=8617 - _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_start=8476 + _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_start=8620 - _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_end=8653 + _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_end=8797 _globals['_GRPCCONTEXTKEY']._serialized_start=96 @@ -242,92 +242,100 @@ _globals['_GRPCSOFTWAREDATA']._serialized_end=6048 - _globals['_GRPCOCELDATA']._serialized_start=6051 + _globals['_GRPCOCELOBJECTTYPEDATA']._serialized_start=6050 - _globals['_GRPCOCELDATA']._serialized_end=6348 + _globals['_GRPCOCELOBJECTTYPEDATA']._serialized_end=6102 - _globals['_GRPCMERGEDOBJECTALLOCATION']._serialized_start=6350 + _globals['_GRPCOCELALLOCATEMERGE']._serialized_start=6104 - _globals['_GRPCMERGEDOBJECTALLOCATION']._serialized_end=6408 + _globals['_GRPCOCELALLOCATEMERGE']._serialized_end=6183 - _globals['_GRPCPRODUCEOBJECTCONSUMPTION']._serialized_start=6410 + _globals['_GRPCOCELPRODUCEDOBJECT']._serialized_start=6185 - _globals['_GRPCPRODUCEOBJECTCONSUMPTION']._serialized_end=6470 + _globals['_GRPCOCELPRODUCEDOBJECT']._serialized_end=6249 - _globals['_GRPCACTIVITYDURATIONDATA']._serialized_start=6473 + _globals['_GRPCOCELCONSUMEPRODUCE']._serialized_start=6251 - _globals['_GRPCACTIVITYDURATIONDATA']._serialized_end=6605 + _globals['_GRPCOCELCONSUMEPRODUCE']._serialized_end=6332 - _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_start=6607 + _globals['_GRPCOCELDATA']._serialized_start=6335 - _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_end=6694 + _globals['_GRPCOCELDATA']._serialized_end=6614 - _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_start=6696 + _globals['_GRPCACTIVITYDURATIONDATA']._serialized_start=6617 - _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_end=6815 + _globals['_GRPCACTIVITYDURATIONDATA']._serialized_end=6749 - _globals['_GRPCSIMPLECOUNTERDATA']._serialized_start=6817 + _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_start=6751 - _globals['_GRPCSIMPLECOUNTERDATA']._serialized_end=6904 + _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_end=6838 - _globals['_GRPCMETHODINLININGINFO']._serialized_start=6906 + _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_start=6840 - _globals['_GRPCMETHODINLININGINFO']._serialized_end=7030 + _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_end=6959 - _globals['_GRPCMETHODNAMEPARTS']._serialized_start=7032 + _globals['_GRPCSIMPLECOUNTERDATA']._serialized_start=6961 - _globals['_GRPCMETHODNAMEPARTS']._serialized_end=7105 + _globals['_GRPCSIMPLECOUNTERDATA']._serialized_end=7048 - _globals['_GRPCHISTOGRAMENTRY']._serialized_start=7107 + _globals['_GRPCMETHODINLININGINFO']._serialized_start=7050 - _globals['_GRPCHISTOGRAMENTRY']._serialized_end=7156 + _globals['_GRPCMETHODINLININGINFO']._serialized_end=7174 - _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_start=7158 + _globals['_GRPCMETHODNAMEPARTS']._serialized_start=7176 - _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_end=7223 + _globals['_GRPCMETHODNAMEPARTS']._serialized_end=7249 - _globals['_GRPCALLOCATIONINFO']._serialized_start=7225 + _globals['_GRPCHISTOGRAMENTRY']._serialized_start=7251 - _globals['_GRPCALLOCATIONINFO']._serialized_end=7322 + _globals['_GRPCHISTOGRAMENTRY']._serialized_end=7300 - _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_start=7325 + _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_start=7302 - _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_end=7464 + _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_end=7367 - _globals['_GRPCGRAPHEDGE']._serialized_start=7467 + _globals['_GRPCALLOCATIONINFO']._serialized_start=7369 - _globals['_GRPCGRAPHEDGE']._serialized_end=7621 + _globals['_GRPCALLOCATIONINFO']._serialized_end=7466 - _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_start=7624 + _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_start=7469 - _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_end=7821 + _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_end=7608 - _globals['_GRPCEDGEEXECUTIONINFO']._serialized_start=7823 + _globals['_GRPCGRAPHEDGE']._serialized_start=7611 - _globals['_GRPCEDGEEXECUTIONINFO']._serialized_end=7863 + _globals['_GRPCGRAPHEDGE']._serialized_end=7765 - _globals['_GRPCBYTES']._serialized_start=7865 + _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_start=7768 - _globals['_GRPCBYTES']._serialized_end=7891 + _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_end=7965 - _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_start=7893 + _globals['_GRPCEDGEEXECUTIONINFO']._serialized_start=7967 - _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_end=7966 + _globals['_GRPCEDGEEXECUTIONINFO']._serialized_end=8007 - _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_start=7968 + _globals['_GRPCBYTES']._serialized_start=8009 - _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_end=8080 + _globals['_GRPCBYTES']._serialized_end=8035 - _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_start=8082 + _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_start=8037 - _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_end=8204 + _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_end=8110 - _globals['_GRPCTHREAD']._serialized_start=8206 + _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_start=8112 - _globals['_GRPCTHREAD']._serialized_end=8258 + _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_end=8224 - _globals['_GRPCTHREADEVENT']._serialized_start=8260 + _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_start=8226 - _globals['_GRPCTHREADEVENT']._serialized_end=8306 + _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_end=8348 + + _globals['_GRPCTHREAD']._serialized_start=8350 + + _globals['_GRPCTHREAD']._serialized_end=8402 + + _globals['_GRPCTHREADEVENT']._serialized_start=8404 + + _globals['_GRPCTHREADEVENT']._serialized_end=8450 # @@protoc_insertion_point(module_scope) diff --git a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi index 6d8fcef01..0c2c31b71 100644 --- a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi +++ b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi @@ -470,33 +470,47 @@ class GrpcSoftwareData(_message.Message): ocel_data: _containers.RepeatedCompositeFieldContainer[GrpcOcelData] def __init__(self, histogram: _Optional[_Iterable[_Union[GrpcHistogramEntry, _Mapping]]] = ..., timeline_diagram_fragment: _Optional[_Union[GrpcTimelineDiagramFragment, _Mapping]] = ..., histogram_data: _Optional[_Iterable[_Union[GrpcGeneralHistogramData, _Mapping]]] = ..., simple_counter_data: _Optional[_Iterable[_Union[GrpcSimpleCounterData, _Mapping]]] = ..., activities_durations_data: _Optional[_Iterable[_Union[GrpcActivityDurationData, _Mapping]]] = ..., ocel_data: _Optional[_Iterable[_Union[GrpcOcelData, _Mapping]]] = ...) -> None: ... +class GrpcOcelObjectTypeData(_message.Message): + __slots__ = ["type"] + TYPE_FIELD_NUMBER: _ClassVar[int] + type: str + def __init__(self, type: _Optional[str] = ...) -> None: ... + +class GrpcOcelAllocateMerge(_message.Message): + __slots__ = ["type", "merged_objects_ids"] + TYPE_FIELD_NUMBER: _ClassVar[int] + MERGED_OBJECTS_IDS_FIELD_NUMBER: _ClassVar[int] + type: str + merged_objects_ids: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, type: _Optional[str] = ..., merged_objects_ids: _Optional[_Iterable[str]] = ...) -> None: ... + +class GrpcOcelProducedObject(_message.Message): + __slots__ = ["id", "type"] + ID_FIELD_NUMBER: _ClassVar[int] + TYPE_FIELD_NUMBER: _ClassVar[int] + id: str + type: str + def __init__(self, id: _Optional[str] = ..., type: _Optional[str] = ...) -> None: ... + +class GrpcOcelConsumeProduce(_message.Message): + __slots__ = ["produced_objects"] + PRODUCED_OBJECTS_FIELD_NUMBER: _ClassVar[int] + produced_objects: _containers.RepeatedCompositeFieldContainer[GrpcOcelProducedObject] + def __init__(self, produced_objects: _Optional[_Iterable[_Union[GrpcOcelProducedObject, _Mapping]]] = ...) -> None: ... + class GrpcOcelData(_message.Message): - __slots__ = ["object_type", "object_id", "allocate", "consume", "merged_object_allocation", "produce_object_consumption"] - OBJECT_TYPE_FIELD_NUMBER: _ClassVar[int] + __slots__ = ["object_id", "allocate", "consume", "merged_object_allocation", "produce_object_consumption"] OBJECT_ID_FIELD_NUMBER: _ClassVar[int] ALLOCATE_FIELD_NUMBER: _ClassVar[int] CONSUME_FIELD_NUMBER: _ClassVar[int] MERGED_OBJECT_ALLOCATION_FIELD_NUMBER: _ClassVar[int] PRODUCE_OBJECT_CONSUMPTION_FIELD_NUMBER: _ClassVar[int] - object_type: str object_id: str - allocate: _empty_pb2.Empty - consume: _empty_pb2.Empty - merged_object_allocation: GrpcMergedObjectAllocation - produce_object_consumption: GrpcProduceObjectConsumption - def __init__(self, object_type: _Optional[str] = ..., object_id: _Optional[str] = ..., allocate: _Optional[_Union[_empty_pb2.Empty, _Mapping]] = ..., consume: _Optional[_Union[_empty_pb2.Empty, _Mapping]] = ..., merged_object_allocation: _Optional[_Union[GrpcMergedObjectAllocation, _Mapping]] = ..., produce_object_consumption: _Optional[_Union[GrpcProduceObjectConsumption, _Mapping]] = ...) -> None: ... - -class GrpcMergedObjectAllocation(_message.Message): - __slots__ = ["consumed_objects_ids"] - CONSUMED_OBJECTS_IDS_FIELD_NUMBER: _ClassVar[int] - consumed_objects_ids: _containers.RepeatedScalarFieldContainer[str] - def __init__(self, consumed_objects_ids: _Optional[_Iterable[str]] = ...) -> None: ... - -class GrpcProduceObjectConsumption(_message.Message): - __slots__ = ["produced_objects_ids"] - PRODUCED_OBJECTS_IDS_FIELD_NUMBER: _ClassVar[int] - produced_objects_ids: _containers.RepeatedScalarFieldContainer[str] - def __init__(self, produced_objects_ids: _Optional[_Iterable[str]] = ...) -> None: ... + allocate: GrpcOcelObjectTypeData + consume: GrpcOcelObjectTypeData + merged_object_allocation: GrpcOcelAllocateMerge + produce_object_consumption: GrpcOcelConsumeProduce + def __init__(self, object_id: _Optional[str] = ..., allocate: _Optional[_Union[GrpcOcelObjectTypeData, _Mapping]] = ..., consume: _Optional[_Union[GrpcOcelObjectTypeData, _Mapping]] = ..., merged_object_allocation: _Optional[_Union[GrpcOcelAllocateMerge, _Mapping]] = ..., produce_object_consumption: _Optional[_Union[GrpcOcelConsumeProduce, _Mapping]] = ...) -> None: ... class GrpcActivityDurationData(_message.Message): __slots__ = ["base", "duration", "kind"] From 793ee0207302472444775658215d3582b70194b3 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sun, 19 Oct 2025 18:08:33 +0300 Subject: [PATCH 117/189] Add delimiter to config --- .../software_data/extraction_config.rs | 2 ++ .../timeline/software_data/extractors/ocel.rs | 22 ++++++++++++++----- .../tests/software_data/extractors_tests.rs | 1 + 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs index 3c2759ce2..0778def66 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs @@ -65,6 +65,8 @@ impl SoftwareDataExtractionConfig { #[derive(Clone, Debug, Getters, Serialize, Deserialize, new)] pub struct OcelUnitedExtractionConfig { + #[getset(get = "pub")] + delimiter: Option, #[getset(get = "pub")] allocated: Option>, #[getset(get = "pub")] diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs index dd9a0520d..d6e962af1 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs @@ -30,11 +30,13 @@ impl<'a> EventGroupSoftwareDataExtractor for OcelDataExtractor<'a> { let alloc_merged_config = Self::map_config_to_regex(ocel_config.allocated_merged())?; let consume_produce_config = Self::map_config_to_regex(ocel_config.consume_produce())?; + let delimiter = ocel_config.delimiter().as_ref().map(|s| s.as_str()).unwrap_or(" "); + for event in events { let event = &event.borrow(); - let _ = Self::process_allocate_merge(event, alloc_merged_config.as_ref(), software_data) || - Self::process_consume_produce(event, consume_produce_config.as_ref(), software_data) || + let _ = Self::process_allocate_merge(event, alloc_merged_config.as_ref(), delimiter, software_data) || + Self::process_consume_produce(event, consume_produce_config.as_ref(), delimiter, software_data) || Self::process_allocate(event, alloc_config.as_ref(), software_data) || Self::process_consume(event, consume_config.as_ref(), software_data); } @@ -106,13 +108,16 @@ impl<'a> OcelDataExtractor<'a> { fn process_allocate_merge( event: &XesEventImpl, config: Option<&(Regex, &OcelAllocateMergeExtractionConfig)>, + delimiter: &str, software_data: &mut SoftwareData, ) -> bool { let Some(config) = Self::try_get_config(event, config) else { return false }; let Some(payload) = event.payload_map() else { return false }; let Some((id, obj_type)) = Self::extract_object_id_and_type(event, config.allocated_obj()) else { return false }; - let Some(related_objects_ids) = Self::parse_related_objects_ids(payload, Some(config.related_object_ids_attr())) else { return false }; + + let related_objects_ids = Self::parse_related_objects_ids(payload, Some(config.related_object_ids_attr()), delimiter); + let Some(related_objects_ids) = related_objects_ids else { return false }; let data = ObjectTypeWithData::new(Some(obj_type), related_objects_ids); let ocel_data = OcelData::new(id, OcelObjectAction::AllocateMerged(data)); @@ -124,14 +129,18 @@ impl<'a> OcelDataExtractor<'a> { fn process_consume_produce( event: &XesEventImpl, config: Option<&(Regex, &OcelConsumeProduceExtractionConfig)>, + delimiter: &str, software_data: &mut SoftwareData, ) -> bool { let Some(config) = Self::try_get_config(event, config) else { return false }; let Some(payload) = event.payload_map() else { return false }; let Some(object_id) = Self::parse_object_id(&event, config.object_id_attr().as_str()) else { return false }; - let Some(related_objects_ids) = Self::parse_related_objects_ids(payload, Some(config.related_object_ids_attr())) else { return false }; - let Some(related_objects_types) = Self::parse_related_objects_ids(payload, Some(config.related_object_type_attr())) else { return false }; + let related_objects_ids = Self::parse_related_objects_ids(payload, Some(config.related_object_ids_attr()), delimiter); + let Some(related_objects_ids) = related_objects_ids else { return false }; + + let related_objects_types = Self::parse_related_objects_ids(payload, Some(config.related_object_type_attr()), delimiter); + let Some(related_objects_types) = related_objects_types else { return false }; if related_objects_ids.len() != related_objects_types.len() { warn!("related_objects_ids.len() != related_objects_types.len(), will not add consume produce"); @@ -163,12 +172,13 @@ impl<'a> OcelDataExtractor<'a> { fn parse_related_objects_ids( payload: &HashMap, related_objects_ids_attr: Option<&String>, + delimiter: &str, ) -> Option> { if let Some(related_objects_ids_attr) = related_objects_ids_attr { if let Some(objects_ids) = payload.get(related_objects_ids_attr) { let parsed_ids: Vec = objects_ids.to_string_repr() .trim() - .split(' ') + .split(delimiter) .filter_map(|s| if s.len() > 0 { Some(s.to_string()) } else { None }) .collect(); diff --git a/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs b/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs index 5cc0e197c..8cde7bc57 100644 --- a/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs +++ b/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs @@ -444,6 +444,7 @@ pub fn test_ocel_data_extraction() { config.set_ocel( Some(OcelUnitedExtractionConfig::new( + Some(" ".to_string()), Some( ExtractionConfig::new( "ocel_allocate".to_string(), From ede4211f19dc0bd7a1ba475819fe675841cf092e Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 24 Oct 2025 23:12:34 +0300 Subject: [PATCH 118/189] Check if graph is DAG --- .../features/discovery/ocel/graph_annotation.rs | 14 ++++++++++---- Ficus/src/rust/ficus/src/utils/graph/graph.rs | 9 +++++++++ 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs index 18cea56ed..c8c6e6dd0 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs @@ -1,11 +1,11 @@ +use crate::features::discovery::root_sequence::context_keys::EDGE_SOFTWARE_DATA_KEY; +use crate::features::discovery::timeline::software_data::models::OcelObjectAction; use crate::utils::graph::graph::DefaultGraph; +use crate::utils::user_data::user_data::UserData; use derive_new::new; -use std::collections::{HashMap, HashSet, VecDeque}; use enum_display::EnumDisplay; use getset::Getters; -use crate::features::discovery::root_sequence::context_keys::EDGE_SOFTWARE_DATA_KEY; -use crate::features::discovery::timeline::software_data::models::OcelObjectAction; -use crate::utils::user_data::user_data::UserData; +use std::collections::{HashMap, HashSet, VecDeque}; #[derive(new, Getters)] pub struct OcelAnnotation { @@ -15,6 +15,7 @@ pub struct OcelAnnotation { #[derive(EnumDisplay)] pub enum OcelAnnotationCreationError { + UnsupportedGraphKind, FailedToFindStartNode, ObjectAlreadyExistsInNodeState, ConsumeNotExistingObject, @@ -73,6 +74,11 @@ pub struct ProcessNodesStates { } pub fn create_ocel_annotation_for_dag(graph: &DefaultGraph) -> Result { + let Some(kind) = graph.kind.as_ref() else { return Err(OcelAnnotationCreationError::UnsupportedGraphKind) }; + if !kind.is_dag() { + return Err(OcelAnnotationCreationError::UnsupportedGraphKind) + } + let mut q = VecDeque::new(); let start_node_id = graph.all_nodes().iter().find(|n| graph.incoming_edges(n.id()).len() == 0).map(|n| n.id().to_owned()); diff --git a/Ficus/src/rust/ficus/src/utils/graph/graph.rs b/Ficus/src/rust/ficus/src/utils/graph/graph.rs index 946d7fe39..f80d2ba62 100644 --- a/Ficus/src/rust/ficus/src/utils/graph/graph.rs +++ b/Ficus/src/rust/ficus/src/utils/graph/graph.rs @@ -51,6 +51,15 @@ pub enum GraphKind { DagLCS } +impl GraphKind { + pub fn is_dag(&self) -> bool { + match self { + Self::Dag | Self::DagLCS => true, + _ => false + } + } +} + #[derive(Debug, Getters, Setters)] pub struct Graph where From 3219d907abf0249f3888ae2af96be6d01d971808 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 27 Oct 2025 13:06:20 +0300 Subject: [PATCH 119/189] Add new ocel events to Procfiler, add new attributes, renamings --- .../dotnet/Core/Collector/IEventPipeProvidersProvider.cs | 6 ++---- .../Constants/TraceEvents/TraceEventsConstants.Ocel.cs | 9 +++++++-- .../Core/Events/EventRecord/EventRecordExtensions.cs | 8 ++++---- .../EventsProcessing/Filters/OnlyKnownEventsFilterer.cs | 5 ++++- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/Procfiler/src/dotnet/Core/Collector/IEventPipeProvidersProvider.cs b/Procfiler/src/dotnet/Core/Collector/IEventPipeProvidersProvider.cs index 9f51ec1eb..1adbcf621 100644 --- a/Procfiler/src/dotnet/Core/Collector/IEventPipeProvidersProvider.cs +++ b/Procfiler/src/dotnet/Core/Collector/IEventPipeProvidersProvider.cs @@ -41,8 +41,7 @@ public class EventPipeProvidersProviderImpl : IEventPipeProvidersProvider [ new EventPipeProvider(ClrTraceEventParser.ProviderName, EventLevel.Verbose, (long)ClrTraceEventParser.Keywords.All), new EventPipeProvider(SampleProfilerTraceEventParser.ProviderName, EventLevel.Verbose), - new EventPipeProvider(TplEtwProviderTraceEventParser.ProviderName, EventLevel.Verbose, - (long)TplEtwProviderTraceEventParser.Keywords.Default), + new EventPipeProvider(TplEtwProviderTraceEventParser.ProviderName, EventLevel.Verbose, (long)TplEtwProviderTraceEventParser.Keywords.Default), new EventPipeProvider(ClrPrivateTraceEventParser.ProviderName, EventLevel.Verbose, ClrPrivateTraceEventParserKeywords), new EventPipeProvider(EventPipeProvidersNames.FrameworkEventSource, EventLevel.Verbose, FrameworkTraceEventParserKeywords), new EventPipeProvider(EventPipeProvidersNames.NetHttp, EventLevel.Verbose), @@ -79,8 +78,7 @@ public class EventPipeProvidersProviderImpl : IEventPipeProvidersProvider [ new EventPipeProvider(EventPipeProvidersNames.ProcfilerCppProvider, EventLevel.LogAlways), new EventPipeProvider(ClrTraceEventParser.ProviderName, EventLevel.Verbose, (long)ClrTraceEventParser.Keywords.Jit), - new EventPipeProvider(TplEtwProviderTraceEventParser.ProviderName, EventLevel.Verbose, - (long)TplEtwProviderTraceEventParser.Keywords.Tasks) + new EventPipeProvider(TplEtwProviderTraceEventParser.ProviderName, EventLevel.Verbose, (long)TplEtwProviderTraceEventParser.Keywords.Tasks) ] }; diff --git a/Procfiler/src/dotnet/Core/Constants/TraceEvents/TraceEventsConstants.Ocel.cs b/Procfiler/src/dotnet/Core/Constants/TraceEvents/TraceEventsConstants.Ocel.cs index 440fbbbfb..4c99eabcb 100644 --- a/Procfiler/src/dotnet/Core/Constants/TraceEvents/TraceEventsConstants.Ocel.cs +++ b/Procfiler/src/dotnet/Core/Constants/TraceEvents/TraceEventsConstants.Ocel.cs @@ -2,19 +2,24 @@ namespace Core.Constants.TraceEvents; public partial class TraceEventsConstants { - public const string OcelObjectEvent = "OcelEvent"; public const string OcelActivityBegin = "OcelActivityBegin"; public const string OcelActivityEnd = "OcelActivityEnd"; public const string OcelGlobalObjectEvent = "OcelGloballyAttachedEvent"; public const string OcelBatchActivitiesBegin = "OcelActivitiesBegin"; public const string OcelBatchActivitiesEnd = "OcelActivitiesEnd"; public const string OcelBatchObjectEvent = "OcelAttachedToActivityEvent"; + public const string OcelObjectAllocated = "OcelObjectAllocated"; + public const string OcelObjectConsumed = "OcelObjectConsumed"; + public const string OcelConsumeProduce = "OcelConsumeProduce"; + public const string OcelMergeAllocate = "OcelMergeAllocate"; public const string OcelActivitiesBatchId = "activitiesBatchId"; public const string OcelActivitiesBatchNames = "names"; public const string OcelObjectId = "objectId"; - public const string OcelObjectCategory = "objectCategory"; + public const string OcelObjectType = "type"; public const string OcelObjectAttribtues = "attributes"; + public const string OcelRelatedObjectsTypes = "relatedObjectsTypes"; + public const string OcelRelatedObjectsIds = "relatedObjectsIds"; public const string OcelActivityId = "activityId"; public const string OcelActivityName = "activity"; diff --git a/Procfiler/src/dotnet/Core/Events/EventRecord/EventRecordExtensions.cs b/Procfiler/src/dotnet/Core/Events/EventRecord/EventRecordExtensions.cs index 9d755f8f3..4a6f452b8 100644 --- a/Procfiler/src/dotnet/Core/Events/EventRecord/EventRecordExtensions.cs +++ b/Procfiler/src/dotnet/Core/Events/EventRecord/EventRecordExtensions.cs @@ -198,10 +198,10 @@ public static bool IsOcelObjectEvent(this EventRecordWithMetadata evt, out long objectId = -1; category = null; - if (evt.EventClass is not TraceEventsConstants.OcelObjectEvent) return false; + if (evt.EventClass is not TraceEventsConstants.OcelObjectAllocated) return false; objectId = int.Parse(evt.Metadata[TraceEventsConstants.OcelObjectId]); - category = evt.Metadata[TraceEventsConstants.OcelObjectCategory]; + category = evt.Metadata[TraceEventsConstants.OcelObjectType]; return true; } @@ -215,7 +215,7 @@ public static bool IsOcelGlobalEvent( if (evt.EventClass is not TraceEventsConstants.OcelGlobalObjectEvent) return false; objectId = int.Parse(evt.Metadata[TraceEventsConstants.OcelObjectId]); - category = evt.Metadata[TraceEventsConstants.OcelObjectCategory]; + category = evt.Metadata[TraceEventsConstants.OcelObjectType]; activityName = evt.Metadata[TraceEventsConstants.OcelActivityName]; return true; @@ -249,7 +249,7 @@ public static bool IsOcelBatchAttachedEvent(this EventRecordWithMetadata evt, ou if (evt.EventClass is not TraceEventsConstants.OcelBatchObjectEvent) return false; objectId = int.Parse(evt.Metadata[TraceEventsConstants.OcelObjectId]); - category = evt.Metadata[TraceEventsConstants.OcelObjectCategory]; + category = evt.Metadata[TraceEventsConstants.OcelObjectType]; activity = evt.Metadata[TraceEventsConstants.OcelActivityName]; return true; diff --git a/Procfiler/src/dotnet/Procfiler/src/Core/EventsProcessing/Filters/OnlyKnownEventsFilterer.cs b/Procfiler/src/dotnet/Procfiler/src/Core/EventsProcessing/Filters/OnlyKnownEventsFilterer.cs index 2ba1bf999..a72f2786f 100644 --- a/Procfiler/src/dotnet/Procfiler/src/Core/EventsProcessing/Filters/OnlyKnownEventsFilterer.cs +++ b/Procfiler/src/dotnet/Procfiler/src/Core/EventsProcessing/Filters/OnlyKnownEventsFilterer.cs @@ -141,7 +141,10 @@ public class OnlyKnownEventsFilterer : IEventsFilter TraceEventsConstants.BusinessEvent, - TraceEventsConstants.OcelObjectEvent, + TraceEventsConstants.OcelObjectAllocated, + TraceEventsConstants.OcelConsumeProduce, + TraceEventsConstants.OcelObjectConsumed, + TraceEventsConstants.OcelMergeAllocate, TraceEventsConstants.OcelActivityBegin, TraceEventsConstants.OcelActivityEnd, TraceEventsConstants.OcelGlobalObjectEvent, From 36661d7c2504624f5e198e1256db942a5d143835 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 31 Oct 2025 21:52:52 +0300 Subject: [PATCH 120/189] Adding initial infra for OCEL annotation tests --- .../grpc_pipelines/annotations/__init__.py | 0 .../annotations/test_ocel_annotation.py | 29 +++++++++++++++++++ .../grpc_pipelines/test_grpc_pipelines.py | 12 ++++---- Ficus/src/python/tests/test_data_provider.py | 12 ++++++++ 4 files changed, 48 insertions(+), 5 deletions(-) create mode 100644 Ficus/src/python/tests/grpc_pipelines/annotations/__init__.py create mode 100644 Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py diff --git a/Ficus/src/python/tests/grpc_pipelines/annotations/__init__.py b/Ficus/src/python/tests/grpc_pipelines/annotations/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py b/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py new file mode 100644 index 000000000..dc1514ad9 --- /dev/null +++ b/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py @@ -0,0 +1,29 @@ +from ....ficus import * + +from ...grpc_pipelines.test_grpc_pipelines import _execute_pipeline, assert_success_pipeline_final_result +from ...test_data_provider import * + + +def test_ocel_annotation_1(): + _execute_ocel_annotation_test('ocel.bxes', Pipeline( + ReadLogFromBxes(), + RemainEventsByRegex('(^Procfiler|^Ocel)'), + RemainOnlyMethodStartEvents(), + AddStartArtificialEvents(), + DiscoverRootSequenceGraph(root_sequence_kind=RootSequenceKind.FindBest, + merge_sequences_of_events=False), + AnnotateGraphWithOCEL() + )) + + +def _execute_ocel_annotation_test(log_name: str, pipeline: Pipeline): + with open(get_ocel_logs_software_data_extraction_config(), "r") as f: + software_data_config = f.read() + + result = _execute_pipeline(pipeline, { + 'path': StringContextValue(get_ocel_log_path(log_name)), + 'software_data_extraction_config': JsonContextValue(software_data_config) + }) + + assert_success_pipeline_final_result(result) + print(result) diff --git a/Ficus/src/python/tests/grpc_pipelines/test_grpc_pipelines.py b/Ficus/src/python/tests/grpc_pipelines/test_grpc_pipelines.py index 975ee1181..6201a8ed3 100644 --- a/Ficus/src/python/tests/grpc_pipelines/test_grpc_pipelines.py +++ b/Ficus/src/python/tests/grpc_pipelines/test_grpc_pipelines.py @@ -53,15 +53,17 @@ def _execute_test_with_exercise_log(log_name: str, pipeline: Pipeline): 'bytes': BytesContextValue(read_file_bytes(get_example_log_path(f'{log_name}.xes'))) }) + assert_success_pipeline_final_result(result) + + +def assert_success_pipeline_final_result(result): assert result.finalResult.HasField('success') assert not result.finalResult.HasField('error') def _execute_test_with_context(pipeline: Pipeline, context: dict[str, ContextValue]): result = _execute_pipeline(pipeline, context) - - assert result.finalResult.HasField('success') - assert not result.finalResult.HasField('error') + assert_success_pipeline_final_result(result) def test_pipeline_with_getting_context_value2(): @@ -154,8 +156,8 @@ def _execute_test_with_names_log(names_log: list[list[str]], success_field = 'success' error_field = 'error' - (present_field, not_present_error_field) = ( - success_field, error_field) if assertance_kind == ResultAssertanceKind.Success else (error_field, success_field) + success = assertance_kind == ResultAssertanceKind.Success + (present_field, not_present_error_field) = (success_field, error_field) if success else (error_field, success_field) assert result.finalResult.HasField(present_field) assert not result.finalResult.HasField(not_present_error_field) diff --git a/Ficus/src/python/tests/test_data_provider.py b/Ficus/src/python/tests/test_data_provider.py index 80474be68..4eea48828 100644 --- a/Ficus/src/python/tests/test_data_provider.py +++ b/Ficus/src/python/tests/test_data_provider.py @@ -50,3 +50,15 @@ def console_app_method2_bxes_log_path() -> str: def array_pooling_bxes_log_path() -> str: return os.path.join(data_dir(), 'source', 'solutions_logs', 'arraypooling.bxes') + +def ocel_folder(): + return os.path.join(sources_dir(), 'ocel') + +def ocel_logs_folder(): + return os.path.join(ocel_folder(), 'logs') + +def get_ocel_logs_software_data_extraction_config(): + return os.path.join(ocel_folder(), 'config.json') + +def get_ocel_log_path(log_name: str) -> str: + return os.path.join(ocel_logs_folder(), log_name) \ No newline at end of file From b5260ff0cbb5fd486a523a87ebfd8a512704024f Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 31 Oct 2025 21:52:57 +0300 Subject: [PATCH 121/189] Add test data --- Ficus/test_data/source/ocel/config.json | 348 +++++++++++++++++++++ Ficus/test_data/source/ocel/logs/ocel.bxes | Bin 0 -> 59234 bytes 2 files changed, 348 insertions(+) create mode 100644 Ficus/test_data/source/ocel/config.json create mode 100644 Ficus/test_data/source/ocel/logs/ocel.bxes diff --git a/Ficus/test_data/source/ocel/config.json b/Ficus/test_data/source/ocel/config.json new file mode 100644 index 000000000..fc8f0419e --- /dev/null +++ b/Ficus/test_data/source/ocel/config.json @@ -0,0 +1,348 @@ +{ + "method_start": { + "event_class_regex": "ProcfilerMethod/Begin", + "info": { + "method_attrs": { + "name_attr": "MethodName", + "namespace_attr": "MethodNamespace", + "signature_attr": "MethodSignature" + }, + "prefix": "[Start]" + } + }, + "method_end": { + "event_class_regex": "ProcfilerMethod/End", + "info": { + "method_attrs": { + "name_attr": "MethodName", + "namespace_attr": "MethodNamespace", + "signature_attr": "MethodSignature" + }, + "prefix": "[End]" + } + }, + "pie_chart_extraction_configs": [ + { + "event_class_regex": "Request/Start", + "info": { + "base": { + "name": "Request Start", + "units": "reqs", + "group": "HTTP" + }, + "grouping_attr": { + "many_attributes": { + "attributes": [ + "host", + "port", + "scheme", + "pathAndQuery" + ], + "separator": ".", + "fallback_value": "UNRESOLVED" + } + } + } + }, + { + "event_class_regex": "Connect/Start", + "info": { + "base": { + "name": "Connect Start", + "units": "reqs", + "group": "Sockets" + }, + "grouping_attr": { + "single_attribute": { + "name": "address", + "fallback_value": "UNRESOLVED" + } + } + } + }, + { + "event_class_regex": "Connect/Stop", + "info": { + "base": { + "name": "Connect Stop", + "units": "reqs", + "group": "Sockets" + }, + "grouping_attr": { + "single_attribute": { + "name": "address", + "fallback_value": "UNRESOLVED" + } + } + } + }, + { + "event_class_regex": "Accept/Start", + "info": { + "base": { + "name": "Accept Stop", + "units": "reqs", + "group": "Sockets" + }, + "grouping_attr": { + "single_attribute": { + "name": "address", + "fallback_value": "UNRESOLVED" + } + } + } + }, + { + "event_class_regex": "ConnectFailed", + "info": { + "base": { + "name": "Connect Failed", + "units": "fails", + "group": "Sockets" + }, + "grouping_attr": { + "single_attribute": { + "name": "error", + "fallback_value": "UNRESOLVED" + } + } + } + }, + { + "event_class_regex": "AcceptFailed", + "info": { + "base": { + "name": "Accept Failed", + "units": "fails", + "group": "Sockets" + }, + "grouping_attr": { + "single_attribute": { + "name": "error", + "fallback_value": "UNRESOLVED" + } + } + } + }, + { + "event_class_regex": "Loader/AssemblyLoad", + "info": { + "base": { + "name": "Load", + "units": "asms", + "group": "Assemblies" + }, + "grouping_attr": { + "single_attribute": { + "name": "FullyQualifiedAssemblyName", + "fallback_value": "UNRESOLVED" + } + } + } + }, + { + "event_class_regex": "Loader/AssemblyUnload", + "info": { + "base": { + "name": "Unload", + "units": "asms", + "group": "Assemblies" + }, + "grouping_attr": { + "single_attribute": { + "name": "FullyQualifiedAssemblyName", + "fallback_value": "UNRESOLVED" + } + } + } + }, + { + "event_class_regex": "Exception/Start", + "info": { + "base": { + "name": "Errors", + "units": "exceptions" + }, + "grouping_attr": { + "single_attribute": { + "name": "ExceptionType", + "fallback_value": "UNRESOLVED" + } + } + } + }, + { + "event_class_regex": "GC\/SampledObject", + "info": { + "base": { + "name": "Object Allocations", + "units": "bytes" + }, + "count_attr": "TotalSizeForTypeSample", + "grouping_attr": { + "single_attribute": { + "name": "TypeName", + "fallback_value": "UNRESOLVED" + } + } + } + }, + { + "event_class_regex": "Method/LoadVerbose", + "info": { + "base": { + "name": "Loads", + "units": "methods", + "group": "Methods" + } + } + }, + { + "event_class_regex": "Method/UnloadVerbose", + "info": { + "base": { + "name": "Unloads", + "units": "methods", + "group": "Methods" + } + } + }, + { + "event_class_regex": "Method/InliningFailed", + "info": { + "base": { + "name": "Failed", + "units": "methods", + "group": "Inlinings" + }, + "grouping_attr": { + "many_attributes": { + "attributes": [ + "InlineeNamespace", + "InlineeName", + "InlineeNameSignature" + ], + "separator": ".", + "fallback_value": "UNRESOLVED" + } + } + } + }, + { + "event_class_regex": "Method/InliningFailed", + "info": { + "base": { + "name": "Fail Reasons", + "units": "reasons", + "group": "Inlinings" + }, + "grouping_attr": { + "single_attribute": { + "name": "FailReason", + "fallback_value": "UNRESOLVED" + } + } + } + }, + { + "event_class_regex": "Method/InliningSucceeded", + "info": { + "base": { + "name": "Succeeded", + "units": "methods", + "group": "Inlinings" + }, + "grouping_attr": { + "many_attributes": { + "attributes": [ + "InlineeNamespace", + "InlineeName", + "InlineeNameSignature" + ], + "separator": ".", + "fallback_value": "UNRESOLVED" + } + } + } + } + ], + "simple_counter_configs": [ + { + "event_class_regex": "Thread/Creating", + "info": { + "base": { + "name": "Threads", + "units": "threads", + "group": "Created" + } + } + }, + { + "event_class_regex": "Buffer/Rented", + "info": { + "base": { + "name": "Rented", + "units": "bytes", + "group": "Array Pools" + }, + "count_attr": "bufferSize" + } + }, + { + "event_class_regex": "Buffer/Returned", + "info": { + "base": { + "name": "Returned", + "units": "bytes", + "group": "Array Pools" + }, + "count_attr": "bufferSize" + } + }, + { + "event_class_regex": "Buffer/Trimmed", + "info": { + "base": { + "name": "Trimmed", + "units": "bytes", + "group": "Array Pools" + }, + "count_attr": "bufferSize" + } + }, + { + "event_class_regex": "Buffer/Allocated", + "info": { + "base": { + "name": "Allocated", + "units": "bytes", + "group": "Array Pools" + }, + "count_attr": "bufferSize" + } + } + ], + "activities_duration_configs": [ + { + "base": { + "name": "Runtime Suspensions", + "units": "" + }, + "start_event_regex": "GC/SuspendEEStop", + "end_event_regex": "GC/RestartEEStop", + "time_attribute": { + "time_attribute": "time:timestamp", + "kind": "UtcStamp" + }, + "activity_id_attr": { + "single_attribute": { + "name": "XesActivityId", + "fallback_value": "" + } + } + } + ], + "raw_control_flow_regexes": [ + "^((?!GC\\/SampledObject).)*$" + ] +} \ No newline at end of file diff --git a/Ficus/test_data/source/ocel/logs/ocel.bxes b/Ficus/test_data/source/ocel/logs/ocel.bxes new file mode 100644 index 0000000000000000000000000000000000000000..a91103c9c7f4940db30e5f4efb65a082ce031a2f GIT binary patch literal 59234 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

    kPL⪙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 V000000RRC2I{*Lx5$6B^008|{q&xrs literal 0 HcmV?d00001 From 84f60b4dbe42c521f755adc3f82e6e3f9624a5a0 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 1 Nov 2025 21:13:40 +0300 Subject: [PATCH 122/189] Add test pipeline part for assertion of OCEL annotation --- .../annotations/test_ocel_annotation.py | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py b/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py index dc1514ad9..f914a1d49 100644 --- a/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py +++ b/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py @@ -3,16 +3,30 @@ from ...grpc_pipelines.test_grpc_pipelines import _execute_pipeline, assert_success_pipeline_final_result from ...test_data_provider import * +class AssertCorrectOcelAnnotation(PipelinePartWithCallback): + def to_grpc_part(self) -> GrpcPipelinePartBase: + part = create_simple_get_context_value_part( + self.uuid, + self.__class__.__name__, + const_ocel_annotation, + ) + + return GrpcPipelinePartBase(simpleContextRequestPart=part) + + def execute_callback(self, values: dict[str, GrpcContextValue]): + print(values) + def test_ocel_annotation_1(): _execute_ocel_annotation_test('ocel.bxes', Pipeline( - ReadLogFromBxes(), + ReadLogFromBxes(use_bytes=True), RemainEventsByRegex('(^Procfiler|^Ocel)'), RemainOnlyMethodStartEvents(), AddStartArtificialEvents(), DiscoverRootSequenceGraph(root_sequence_kind=RootSequenceKind.FindBest, merge_sequences_of_events=False), - AnnotateGraphWithOCEL() + AnnotateGraphWithOCEL(), + AssertCorrectOcelAnnotation() )) @@ -21,9 +35,8 @@ def _execute_ocel_annotation_test(log_name: str, pipeline: Pipeline): software_data_config = f.read() result = _execute_pipeline(pipeline, { - 'path': StringContextValue(get_ocel_log_path(log_name)), + 'bytes': BytesContextValue(read_file_bytes(get_ocel_log_path(log_name))), 'software_data_extraction_config': JsonContextValue(software_data_config) }) - assert_success_pipeline_final_result(result) - print(result) + assert_success_pipeline_final_result(result) \ No newline at end of file From 3040129cc0ae8dac791d56c182e7f61e9ebf181b Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 1 Nov 2025 21:59:15 +0300 Subject: [PATCH 123/189] Add initial gold serialization --- .../annotations/test_ocel_annotation.py | 13 +++++++++++-- Ficus/src/python/tests/test_data_provider.py | 8 +++++++- .../gold/python/ocel/test_ocel_annotation_1.gold | 5 +++++ 3 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 Ficus/test_data/gold/python/ocel/test_ocel_annotation_1.gold diff --git a/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py b/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py index f914a1d49..ae6fac94b 100644 --- a/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py +++ b/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py @@ -1,9 +1,14 @@ +from ...core.gold_based_test import execute_test_with_gold from ....ficus import * from ...grpc_pipelines.test_grpc_pipelines import _execute_pipeline, assert_success_pipeline_final_result from ...test_data_provider import * class AssertCorrectOcelAnnotation(PipelinePartWithCallback): + def __init__(self, test_name: str): + super().__init__() + self.test_name = test_name + def to_grpc_part(self) -> GrpcPipelinePartBase: part = create_simple_get_context_value_part( self.uuid, @@ -14,7 +19,11 @@ def to_grpc_part(self) -> GrpcPipelinePartBase: return GrpcPipelinePartBase(simpleContextRequestPart=part) def execute_callback(self, values: dict[str, GrpcContextValue]): - print(values) + assert const_ocel_annotation in values + gold_value = str(values[const_ocel_annotation].ocel_annotation) + gold_path = get_ocel_gold_path(self.test_name) + + execute_test_with_gold(gold_path, gold_value) def test_ocel_annotation_1(): @@ -26,7 +35,7 @@ def test_ocel_annotation_1(): DiscoverRootSequenceGraph(root_sequence_kind=RootSequenceKind.FindBest, merge_sequences_of_events=False), AnnotateGraphWithOCEL(), - AssertCorrectOcelAnnotation() + AssertCorrectOcelAnnotation('test_ocel_annotation_1') )) diff --git a/Ficus/src/python/tests/test_data_provider.py b/Ficus/src/python/tests/test_data_provider.py index 4eea48828..aa22c0185 100644 --- a/Ficus/src/python/tests/test_data_provider.py +++ b/Ficus/src/python/tests/test_data_provider.py @@ -61,4 +61,10 @@ def get_ocel_logs_software_data_extraction_config(): return os.path.join(ocel_folder(), 'config.json') def get_ocel_log_path(log_name: str) -> str: - return os.path.join(ocel_logs_folder(), log_name) \ No newline at end of file + return os.path.join(ocel_logs_folder(), log_name) + +def ocel_gold_folder() -> str: + return os.path.join(gold_dir(), 'ocel') + +def get_ocel_gold_path(test_name: str) -> str: + return os.path.join(ocel_gold_folder(), f'{test_name}.gold') diff --git a/Ficus/test_data/gold/python/ocel/test_ocel_annotation_1.gold b/Ficus/test_data/gold/python/ocel/test_ocel_annotation_1.gold new file mode 100644 index 000000000..8b716a9e4 --- /dev/null +++ b/Ficus/test_data/gold/python/ocel/test_ocel_annotation_1.gold @@ -0,0 +1,5 @@ +annotations { + element_id: 435 + final_state { + } +} From 31fb342be52ae5e9b4efbc47a71a5d0491372e7d Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 1 Nov 2025 22:02:59 +0300 Subject: [PATCH 124/189] Small refactorings --- .../annotations/test_ocel_annotation.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py b/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py index ae6fac94b..9a070e203 100644 --- a/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py +++ b/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py @@ -27,7 +27,14 @@ def execute_callback(self, values: dict[str, GrpcContextValue]): def test_ocel_annotation_1(): - _execute_ocel_annotation_test('ocel.bxes', Pipeline( + _execute_ocel_annotation_test('test_ocel_annotation_1', 'ocel.bxes') + + +def _execute_ocel_annotation_test(test_name: str, log_name: str): + with open(get_ocel_logs_software_data_extraction_config(), "r") as f: + software_data_config = f.read() + + pipeline = Pipeline( ReadLogFromBxes(use_bytes=True), RemainEventsByRegex('(^Procfiler|^Ocel)'), RemainOnlyMethodStartEvents(), @@ -35,13 +42,8 @@ def test_ocel_annotation_1(): DiscoverRootSequenceGraph(root_sequence_kind=RootSequenceKind.FindBest, merge_sequences_of_events=False), AnnotateGraphWithOCEL(), - AssertCorrectOcelAnnotation('test_ocel_annotation_1') - )) - - -def _execute_ocel_annotation_test(log_name: str, pipeline: Pipeline): - with open(get_ocel_logs_software_data_extraction_config(), "r") as f: - software_data_config = f.read() + AssertCorrectOcelAnnotation(test_name) + ) result = _execute_pipeline(pipeline, { 'bytes': BytesContextValue(read_file_bytes(get_ocel_log_path(log_name))), From daf386443f9cd9e4c38c68cd929440ceb859d351 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 1 Nov 2025 23:08:44 +0300 Subject: [PATCH 125/189] Adding outgoing nodes to queue --- .../ficus/src/features/discovery/ocel/graph_annotation.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs index c8c6e6dd0..f767c3317 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs @@ -157,6 +157,10 @@ pub fn create_ocel_annotation_for_dag(graph: &DefaultGraph) -> Result Date: Sat, 1 Nov 2025 23:11:14 +0300 Subject: [PATCH 126/189] Add ocel data extraction information to config, small refactorings --- .../annotations/test_ocel_annotation.py | 3 +- Ficus/test_data/source/ocel/config.json | 50 +++++++++++++++++++ 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py b/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py index 9a070e203..00d45d75d 100644 --- a/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py +++ b/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py @@ -4,6 +4,7 @@ from ...grpc_pipelines.test_grpc_pipelines import _execute_pipeline, assert_success_pipeline_final_result from ...test_data_provider import * + class AssertCorrectOcelAnnotation(PipelinePartWithCallback): def __init__(self, test_name: str): super().__init__() @@ -50,4 +51,4 @@ def _execute_ocel_annotation_test(test_name: str, log_name: str): 'software_data_extraction_config': JsonContextValue(software_data_config) }) - assert_success_pipeline_final_result(result) \ No newline at end of file + assert_success_pipeline_final_result(result) diff --git a/Ficus/test_data/source/ocel/config.json b/Ficus/test_data/source/ocel/config.json index fc8f0419e..9d26a2a0e 100644 --- a/Ficus/test_data/source/ocel/config.json +++ b/Ficus/test_data/source/ocel/config.json @@ -342,6 +342,56 @@ } } ], + "ocel": { + "delimiter": " ", + "allocated": { + "event_class_regex": "OcelObjectAllocated", + "info": { + "object_type_attr": { + "single_attribute": { + "name": "type", + "fallback_value": "UNRESOLVED" + } + }, + "object_id_attr": "objectId" + } + }, + "consumed": { + "event_class_regex": "OcelObjectConsumed", + "info": { + "object_type_attr": { + "single_attribute": { + "name": "type", + "fallback_value": "UNRESOLVED" + } + }, + "object_id_attr": "objectId" + } + }, + "allocated_merged": { + "event_class_regex": "OcelMergeAllocate", + "info": { + "allocated_obj": { + "object_type_attr": { + "single_attribute": { + "name": "type", + "fallback_value": "UNRESOLVED" + } + }, + "object_id_attr": "objectId" + }, + "related_object_ids_attr": "relatedObjectsIds" + } + }, + "consume_produce": { + "event_class_regex": "OcelConsumeProduce", + "info": { + "object_id_attr": "objectId", + "related_object_ids_attr": "relatedObjectsIds", + "related_object_type_attr": "relatedObjectsTypes" + } + } + }, "raw_control_flow_regexes": [ "^((?!GC\\/SampledObject).)*$" ] From 7d01a75f1b1e88ec1ec5f76c6d07736a9b715f4e Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 1 Nov 2025 23:33:50 +0300 Subject: [PATCH 127/189] Prepare software event log before tests, change control-flow regex in config --- .../tests/grpc_pipelines/annotations/test_ocel_annotation.py | 1 + Ficus/test_data/source/ocel/config.json | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py b/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py index 00d45d75d..a321b7caf 100644 --- a/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py +++ b/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py @@ -39,6 +39,7 @@ def _execute_ocel_annotation_test(test_name: str, log_name: str): ReadLogFromBxes(use_bytes=True), RemainEventsByRegex('(^Procfiler|^Ocel)'), RemainOnlyMethodStartEvents(), + PrepareSoftwareLog(time_attribute='time:timestamp'), AddStartArtificialEvents(), DiscoverRootSequenceGraph(root_sequence_kind=RootSequenceKind.FindBest, merge_sequences_of_events=False), diff --git a/Ficus/test_data/source/ocel/config.json b/Ficus/test_data/source/ocel/config.json index 9d26a2a0e..a35673297 100644 --- a/Ficus/test_data/source/ocel/config.json +++ b/Ficus/test_data/source/ocel/config.json @@ -393,6 +393,6 @@ } }, "raw_control_flow_regexes": [ - "^((?!GC\\/SampledObject).)*$" + "^Procfiler" ] } \ No newline at end of file From 14eedd798b5e158504100b46b2d93bf7c422aab8 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sun, 2 Nov 2025 12:25:17 +0300 Subject: [PATCH 128/189] Fix attribute name --- .../src/dotnet/ProcfilerEventSources/OcelEventsSource.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Procfiler/src/dotnet/ProcfilerEventSources/OcelEventsSource.cs b/Procfiler/src/dotnet/ProcfilerEventSources/OcelEventsSource.cs index 864da16d7..547846e83 100644 --- a/Procfiler/src/dotnet/ProcfilerEventSources/OcelEventsSource.cs +++ b/Procfiler/src/dotnet/ProcfilerEventSources/OcelEventsSource.cs @@ -35,8 +35,8 @@ public void OcelConsumeProduce(long objectId, string relatedObjectsIds, string r WriteEvent(OcelObjectConsumeProduceEventId, objectId, relatedObjectsIds, relatedObjectsTypes, attributes); [Event(OcelObjectMergeAllocateEventId, Level = EventLevel.LogAlways)] - public void OcelMergeAllocate(long objectId, string? type, string relatedObjectIds, string attributes) => - WriteEvent(OcelObjectMergeAllocateEventId, objectId, type, relatedObjectIds, attributes); + public void OcelMergeAllocate(long objectId, string? type, string relatedObjectsIds, string attributes) => + WriteEvent(OcelObjectMergeAllocateEventId, objectId, type, relatedObjectsIds, attributes); [Event(OcelActivityBeginId, Level = EventLevel.LogAlways)] public void OcelActivityBegin(Guid activityId, string activity) => WriteEvent(OcelActivityBeginId, activityId, activity); From ba34664e84ed9c76da4f97df1be1fb9b3f3d54d0 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sun, 2 Nov 2025 12:43:07 +0300 Subject: [PATCH 129/189] Proper copying of a node state --- .../discovery/ocel/graph_annotation.rs | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs index f767c3317..fedec2d69 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs @@ -44,6 +44,20 @@ impl NodeObjectsState { Ok(()) } + pub fn remove_object(&mut self, object_type: &str, id: &str) { + let Some(set) = self.map.get_mut(object_type) else { return }; + + set.remove(id); + } + + pub fn remove_unknown_object(&mut self, id: &str) { + for (_, set) in self.map.iter_mut() { + if set.remove(id) { + return + } + } + } + pub fn contains_object(&self, object_type: &str, object_id: &str) -> bool { if let Some(type_objects) = self.map.get(object_type) { type_objects.contains(object_id) @@ -63,6 +77,16 @@ impl NodeObjectsState { self.map.get_mut(object_type).unwrap() } + + pub fn add_state_from(&mut self, other: &NodeObjectsState) { + for (obj_type, ids) in other.map.iter() { + let set = self.map.entry(obj_type.to_owned()).or_insert(HashSet::new()); + + for id in ids { + set.insert(id.clone()); + } + } + } } #[derive(new, Getters)] @@ -112,6 +136,8 @@ pub fn create_ocel_annotation_for_dag(graph: &DefaultGraph) -> Result Result { for id in data.data() { if !prev_state.final_objects.contains_unknown_object(id) { return Err(OcelAnnotationCreationError::OneOfMergedObjetsDoesNotExist) } + + new_node_state.remove_unknown_object(id); } let obj_type = data.r#type().as_ref().map(|s| s.as_str()).unwrap_or(UNKNOWN_TYPE).to_string(); @@ -149,6 +179,8 @@ pub fn create_ocel_annotation_for_dag(graph: &DefaultGraph) -> Result Date: Sun, 2 Nov 2025 12:44:38 +0300 Subject: [PATCH 130/189] Update test data (with a correct attribute relatedObjectsIds) and gold --- .../python/ocel/test_ocel_annotation_1.gold | 402 +++++++++++++++++- Ficus/test_data/source/ocel/logs/ocel.bxes | Bin 59234 -> 59138 bytes 2 files changed, 401 insertions(+), 1 deletion(-) diff --git a/Ficus/test_data/gold/python/ocel/test_ocel_annotation_1.gold b/Ficus/test_data/gold/python/ocel/test_ocel_annotation_1.gold index 8b716a9e4..6e4b0442b 100644 --- a/Ficus/test_data/gold/python/ocel/test_ocel_annotation_1.gold +++ b/Ficus/test_data/gold/python/ocel/test_ocel_annotation_1.gold @@ -1,5 +1,405 @@ annotations { - element_id: 435 + element_id: 29 + final_state { + type_states { + type: "Type1" + object_ids: "2" + object_ids: "3" + object_ids: "1" + } + type_states { + type: "Type2" + object_ids: "6" + object_ids: "4" + object_ids: "5" + } + } +} +annotations { + element_id: 31 + final_state { + type_states { + type: "Type2" + object_ids: "4" + object_ids: "5" + object_ids: "6" + } + type_states { + type: "Type1" + object_ids: "3" + object_ids: "2" + object_ids: "1" + } + } +} +annotations { + element_id: 9 + final_state { + } +} +annotations { + element_id: 25 + final_state { + type_states { + type: "Type1" + object_ids: "1" + object_ids: "2" + object_ids: "3" + } + } +} +annotations { + element_id: 7 + final_state { + } +} +annotations { + element_id: 15 + final_state { + } +} +annotations { + element_id: 21 + final_state { + type_states { + type: "Type1" + object_ids: "1" + object_ids: "2" + object_ids: "3" + } + } +} +annotations { + element_id: 55 + final_state { + type_states { + type: "Type1" + object_ids: "8" + } + type_states { + type: "Type3" + object_ids: "9" + } + type_states { + type: "Type2" + object_ids: "10" + } + } +} +annotations { + element_id: 1 + final_state { + } +} +annotations { + final_state { + } +} +annotations { + element_id: 17 + final_state { + type_states { + type: "Type1" + object_ids: "3" + object_ids: "1" + object_ids: "2" + } + } +} +annotations { + element_id: 41 + final_state { + type_states { + type: "Type2" + } + type_states { + type: "Type1" + object_ids: "8" + object_ids: "7" + } + } +} +annotations { + element_id: 23 + final_state { + type_states { + type: "Type1" + object_ids: "3" + object_ids: "1" + object_ids: "2" + } + } +} +annotations { + element_id: 53 + final_state { + type_states { + type: "Type2" + object_ids: "10" + } + type_states { + type: "Type3" + object_ids: "9" + } + type_states { + type: "Type1" + object_ids: "8" + } + } +} +annotations { + element_id: 45 + final_state { + type_states { + type: "Type1" + object_ids: "8" + object_ids: "7" + } + type_states { + type: "Type2" + } + } +} +annotations { + element_id: 19 + final_state { + type_states { + type: "Type1" + object_ids: "3" + object_ids: "1" + object_ids: "2" + } + } +} +annotations { + element_id: 3 + final_state { + } +} +annotations { + element_id: 27 + final_state { + type_states { + type: "Type1" + object_ids: "1" + object_ids: "2" + object_ids: "3" + } + } +} +annotations { + element_id: 37 + final_state { + type_states { + type: "Type2" + object_ids: "4" + object_ids: "6" + } + type_states { + type: "Type1" + object_ids: "7" + object_ids: "2" + } + } +} +annotations { + element_id: 47 + final_state { + type_states { + type: "Type2" + } + type_states { + type: "Type1" + object_ids: "7" + object_ids: "8" + } + } +} +annotations { + element_id: 39 + final_state { + type_states { + type: "Type1" + object_ids: "7" + object_ids: "2" + } + type_states { + type: "Type2" + object_ids: "4" + object_ids: "6" + } + } +} +annotations { + element_id: 59 + final_state { + type_states { + type: "Type2" + object_ids: "10" + } + type_states { + type: "Type1" + } + type_states { + type: "Type3" + object_ids: "11" + object_ids: "9" + } + } +} +annotations { + element_id: 33 + final_state { + type_states { + type: "Type2" + object_ids: "4" + object_ids: "6" + object_ids: "5" + } + type_states { + type: "Type1" + object_ids: "3" + object_ids: "2" + object_ids: "1" + } + } +} +annotations { + element_id: 51 + final_state { + type_states { + type: "Type2" + } + type_states { + type: "Type1" + object_ids: "8" + object_ids: "7" + } + } +} +annotations { + element_id: 43 + final_state { + type_states { + type: "Type2" + } + type_states { + type: "Type1" + object_ids: "8" + object_ids: "7" + } + } +} +annotations { + element_id: 61 + final_state { + type_states { + type: "Type2" + object_ids: "10" + } + type_states { + type: "Type3" + object_ids: "9" + object_ids: "11" + } + type_states { + type: "Type1" + } + } +} +annotations { + element_id: 63 + final_state { + type_states { + type: "Type2" + object_ids: "10" + } + type_states { + type: "Type1" + } + type_states { + type: "Type3" + object_ids: "9" + object_ids: "11" + } + } +} +annotations { + element_id: 57 + final_state { + type_states { + type: "Type2" + object_ids: "10" + } + type_states { + type: "Type1" + } + type_states { + type: "Type3" + object_ids: "11" + object_ids: "9" + } + } +} +annotations { + element_id: 49 + final_state { + type_states { + type: "Type1" + object_ids: "7" + object_ids: "8" + } + type_states { + type: "Type2" + } + } +} +annotations { + element_id: 65 + final_state { + type_states { + type: "Type1" + } + type_states { + type: "Type3" + object_ids: "9" + object_ids: "11" + } + type_states { + type: "Type2" + object_ids: "10" + } + } +} +annotations { + element_id: 5 + final_state { + } +} +annotations { + element_id: 13 + final_state { + } +} +annotations { + element_id: 35 + final_state { + type_states { + type: "Type2" + object_ids: "5" + object_ids: "4" + object_ids: "6" + } + type_states { + type: "Type1" + object_ids: "2" + object_ids: "1" + object_ids: "3" + } + } +} +annotations { + element_id: 11 final_state { } } diff --git a/Ficus/test_data/source/ocel/logs/ocel.bxes b/Ficus/test_data/source/ocel/logs/ocel.bxes index a91103c9c7f4940db30e5f4efb65a082ce031a2f..8c7fd80e80777401ece1d22a34ff7c1bcf9add96 100644 GIT binary patch literal 59138 zcmV(;K-<4iO9KQH00ICA0DEI%TWto@{f6cM05vTG01W^D0Ca6|a6xHQQD-i6ZE)

    bQ>KDldOI@sMa&Axpz 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 U000010096y00027<^TWy0BrP%9RL6T literal 59234 zcmV)AK*YaLO9KQH00ICA05NG>Thn}6Yv$$v0P`*b01W^D0Ca6|aCkC7S3)jyZE)

      kPL⪙@V#kNqN%TvXy#h_hrPut*k2CBin5)ZhNOyn5x=C;?vTSG+C;2Pw zJTHTXgIf}&79r={@K%|U*Ep-HI4-lGWKJWRZbxFGpvt zoTXWz(EU?khF2*wpW!e;&+I;s#d$6gX0*w`VX7+xIC;pH5hP^hSU};@j&+#F;l&Am z8X|bz&L1i!W;hw;tsT=U<@d^nYhRuo>*^Am3hdeHvMaGCb!Ryp`AR``|GrM}$D!S? zq^ux1=ijE5D0QgB8CMU9&tWu+M6H}qIQiUNxHuf&&}vyOFvKv*)HkDq1mPIE{7OBW zTd1_Re?hpnwZT+p`+NK0g3;?j0#9K>^L45z8`Gc;R5}$Lvo1Qv%^#iTUH^r`&lk&_ z)(TEHo*x4xs0^aBwDd$YRw}SJP);FVQC^|JQ~PO%Fjt$1SE#3PMCX5d+s{8ALLmuT z5$C(jXV3P<2B*0s>JLcqpeJuB^9G&DTg}JMh%7<0NFO3}k z&fR(sE+~vH#9Pe*ntJse29rJe7sH_&x#e_(mbusV^=h=d)7(Z!f+Nx$u5GHDwVuIV># zWAk)RxCg7B_U^}fbDdRsy5F56d9#-TNY?e+TiK=;-AKBYG;972u6GlS%(NtU5&mvf z?0f(shg3Mf8uc{`Ud~YLrVUEZK4CnpTfS-f;XZZev|ExIpQhX9+jyf3v|lR~I>Juz zB6Bv3UgF+w_u6Z0rMdOBr5XB=OjErJ;u{@)avGtI1$-7Rb6qmBe|_kbAbzA_szQJ^ zmRlMo7ctsyqy9ZpKwfA*SAWzupScO)cM0->Bh*#e*H`p2K0V1I8_toydTt7gODkmI zSMf(a#N!lVWSJ#Ky~G&2gyR&1o6N(h3Q44+NLo6_)SBVvYJ;>{^ghjosXlEW=GS(L zx9GML3rxp4b5(jx_p7weTun{Z&ipPo&HG1Tvz~9xT3sMocpGB!ugmYs^U4d;&7_@E zwnZz>xM*mQIaK`W{)?O4^o{V1<9u-y;#PRVRBwJLf8`l(1JW?Zy!GM1nNNm>X=SwY zP49iLB&S#H{PKIR>NBbg>uK6k#kV`XUUH>x{F7T9QbwWd;jSIYBtks z4SABDBXxb|IyfAMn8pkzoS4%X@AYvwM(^69NcJ;G!Jfji|J%9cY}3R?2e-OK%`n!cLB(edatVcYd1vpYn&Er* zG?%$GBG&5w`8;>I4~55{zRkBbwR<_N`3uxkTkx2Cr#LHcXIk3G!`vua;50H1!HWo| zdHw0T`IJM!t=5Tlj&=_Lmr4p!K2P+f{hY8?=cSDr%o?p7n*%;s>6o3z8DWN#>C?GW zogG%Mj`>z`hqah+i;%N?!4A?@{dP!@!{>#4%+i%vhD=$`;q>kObL8{;r@n{5epxTlkw3$1N-Qj}>i` zNk^JN2Ivw2799L2*_Di%d;AMjW%YTg2-8KUf#jHPI1De2rWji#VyE3^9o=-qW?gxm zMc}Bh-B%$f3pZ_XAeg_pcz|Wc~`b`=FB&hyYC-VJng4U^Yx&( z?+2WzVcbmG;Th5ReILT#Lfpt`taK;!N}FpPb1)gqL3H4H{O3-w7<$Uq4yklFRk;=n zqBlu4QF>j1i=MyQkKYGQ>_(lHWG)n!6!#b)F@NyVoNhE0H+G2)o<_ryXq9_qY;hl3 z{~IZHz<5J={l>Y#Z2d$V@yM!NeecxtFRmIwGOU%RKIHOELRcSLw4yf2K-ba(Cj#FxKDb6AE@EPK zwle5SdBr{Gbk-ubx~SPbRKirVrra7*kvp^a0`Qd;hekfgvrY{J_DI-}LCdSbq<85z zJN`Slp=oBw-EZi6ocP^p|M~pnI{hJeJ75ErH`f}s*~<7>f;(xje;X!Ij~|g6q?h=$ z&Lp?cT>77&VQy)&Y4?h^{phjfj{gODW;4MU@&iOh$Fd=T#~C5u6e%pl)1P zLY&;l88jvd?jFF(^D?hAFJ-pvJ9b~kw$1=8cA>Y*oxdFPOnF$?Mj@_(GW4yR11&ma zK+e|xjA$vUQs(j|PZwsyrrnIj-eZXj{_AcX) zv{@r*U2+M@NNpe->$vVsaS-8&`Wd>X)gS&}Z;g9iFA$dKm)k$iHHI2Xci-+wWj32{ z?)<)V3O_?cOR0Zla+9JhE?Wy!GCSvnj6W;eFRL_cLB-Rk*w^ zLdeqqTVta?mA4-4THZp?kNnT%XaV7`C*4+hxAvx-ifE0i!EvxmbwGp_Wj44btT8#% zo`)-(y8&e;#tozNSBX7`!wR{;X}&#O%XLUfNzf#i1 zt@#i#+U_lIRzR`%!n)L>8qun{)Ln&prnR#`HsidSzhi>nF4tPnQ_)j06f|F6Vrn>x zvI|MOP?f-@;lPw^^C$gjM${2uEzXB&mtHHDC-xDy+n zq6Ql10>vURc=5Nf(W5d@I!A2D3Fh0G%I%*ny?gzfMvnQN1yhr;ds!S-@MSZK2_D$) zUq>U+A>Arnb!G<3b1%2Fgm@T~{Q$Gb6r>%)#OghCFlwM@LyfpO*M428QI`3ZKj`1g zLgzmNJ%4Bk=$+x&Jk74OurC zMxVKcG!?!9d8St-cB|0uA+4&C>f#hOB$3m8A^Vm0?6pEjX=HXr!PICxX0L*8$zsXw zU9r8j!^+zvZxzB@h?xT}dw#QfL;fT1*WpUM9hfPhTmFKie|_xAiXb%jo@&}d_HOU~ zs4d_r_YSz`&>G;k;fr^0a~|r#=V_ipoAqKr?AfOB&bo!NUD7f}y59^19*jN6+e;kv zS9FBxjQ>PuziuY)7S88$63#hk=;}k;;!QcXV=#aDG#wjqM=d;bB3L$Dtz8*`@O_Uk3X<%wLhv*F^%eSlSD6@P=D&o~uw^ zEJ`2^$jKI@njC7*YhvJs`pDh@=K#`z^Er_|G zTy7%dPE|=xBp9>-T!`8G5h^W-cTv$_>K{X8loufsFxtPA8JN=O>CC zQ5?$EEw@-^=Ju9C&#lI1PFCjur*JL=IU7h&jH2MpS~+P@%UWh+MPXntmEm zPkr4$2|bkVusN(54QS zAcU=e;5_5_t;v1>s28A99w|6b1bPGL{LKX&_yl1B1TGPRHK=rBXoLuX$wVM6V=c|!QYPj}$j5pWBV#tSAimlnZ{ zrZs2?G31{QxCI6JTMxp+1>7V7qjCYBkMJO?Kp2z(QX7cW$zbsWE5U;GNTPO!SJ8?- z9V_n8Kt?waHi;8o2Js<1_gv6F2ogoeun9Xz2e2jK7;J0<+$01mQXFkr{ZNAh0DY^G zVex?w{m|86R}j|*LZCV1*%0tNrvZ5c!ena^B)#!qp$IhrsIUhc$b9H*2vVo3C^Qp% z_<{mgA%%vAt}ZTu(|-4}ND{RM#RH#hMWHL;Q#K0Wmv_+iR|4R>%?HLs)sUoxiH3t{ z(X%BeegA1eZbD~kFIvu-!3ii(z#cgFk-%3La@&O4dd&f~0(4%zgYxZ!3ZXzB3?N^u zKtjkgFEs#MWyD}H5ao?xzF`lZ?-vADK49%AFqi>kD2^8BfeuX$UENOxn=b?4dI%ww zbkGI?uqLY8{wjDi0qBYjF{MSU?L>g9A-KY+VBMUMYQSUkWo>A!g=7(&eOa>c{tg!y zg0wM=4mXi{eo78KrUeE|fbNu$Hm=#Bm;kukduWm*f-5eh&=BF}jyBXBODwn+_&luy zNkdF{Sp}WbV#7Tk*QlV7TUrP;z{DQuISCh*0)AQ*fu!1lYf;WNT@XSTkzq~XCqf6% zsx}Gm9BZxTV!7F_US$l3IbZHK$mJE#O)@uwmgV_bwLH^D|5E-b?}RP#+B#$L)0yb#Pc z1We#npu9N>7aTqP1rsf(d$K`H;JIz3;D)e)duBt_E{Jy4D*@pl2oLqd2YOa__qA|7 zu;MvTc*6J2LCO{|-M%Gd6}N5(#GzRA268@7xMjPy|L`=ng^c1-#zlvw`G*cu63#8> zDBDn`{6fm%!H2Q$tk0HM4b|X4_H7U~`QMVeUo>3oP7F1Rg3_jd*-mQOJGwlQ&L;$v zTR4w<;C-@vicw~K`}AA^k~YwA4M1W_cvERog`{jYA%F-5RR_-kOEg0;eET>d}QmLkAT`&hKy`xV(&zs&{lDcEZpECvaNQ zVFP@&R34G`i4rn~Si+@>lygZ1b>e;Uc)7mE1lhjO_-cT!ftaC`l1SZQYPrX`-7gA| z8g1~EzgoyDOa|L+D*$pol=At4)PibM0jduDd%+8i9AaQ>dsnBz(S7R<8QlXLqO#|F zvkg7p#0*rIx>1b+nE%D-Ojk?Lq&U15$whp5z<@RZW=UTteZND|vpvfi&U1rDLPC3X z5W2gEucPB~%E7tkxSd7A3%Zd*6M*L(DG23vSOH@25l34Y_b=)OGFX}`fJ-2i{6fPj z*{F+$67XU}1epL#%xVMR2R$HH^z^Ra=ujWu&@@#3gwr?B2lQ7FqE@?xP@@Xy=E(E= z<~6+a{#xc$h?FGwQ}}u?K{0rP>O=ge*uat^NP&t8huAmgh#USCP>s%={siChzH9~hCVuk3Q?S!)%0x&l3~M{CrYQOnW7oj8h3s5#)pak zw9l;2ogo_?IJ#FqwIPb{!9GaycFAox{<{R=4oCcblG%!w^@)2ARAJ!*qRioc?xC$l z_utKfAIik7oCIIg(Pz9r;V(hbf||ekRJ)a@VFmRn^dA%A z?l*&D)o7awR4g{3ase-G>T=h(U+L%-Ba6(i4kXQnTmcEdu9^rFFUwg;{h03< zna8T{Fj;SszvAzsG~n|rMoVCpM5$L6c>8?5u2-AA+*q8lhbrQwQ}tDo`Frxln^)C^ zFV?cO%w2cB6{i`yo1ppHmEVP;*=iXgEKrkC9YP)PQSm=r`MoGmvg7@m&|jmIIj z-mAHG(@$)+AU9}v&n!Q~xGibj;hWP+ECDBabUx3b7Fp&U+`=uoiKCHJ1#gCSG0=QJ zg3U%`zY2oH4Jjy=$E0t@_2C@h!yPfWxawu++0`L5hyaHjv%&l3m?x?r8KLkkqDhpc zp!$RpYC1nP#A6|3ww3-+^k6IdL!9Qy~Cr;O8Oc~pOIU%Eb?Pa2Wv{kT;f*N28-IP+IXE&*Y0vI zh@X&rIfBvd{hK4!!7iUwmwCMjJ2KY$7;FZ_&LZjQUQy`($Y{1@um5pj{Pg~AS_vw)(RVp*u^OB=&%7$ZBjWYHWbLc$}(qr|{=- z@gtFh%1yLS{bd1Pmrb7XabDERto$dnh&vM26JjO620Jzt^d6jx%UB-zpKEW#Vyp!O zwkcu=lY+$sV%rdN;asgg6;6O3V=p&)TM~(`#G9gC2j^0OwcCrjl(|4Z-TB%^a28$n z8tk}yQZj5jyUp-OtmX<6&vmVP@zcakR1lD1D(;ly0?$}=0I}vo5zi{S>zmh!W&6K< z#qjipgC+BiSBCD*$j?KxbB;&&%{eiHCK}{1+PMj*&V(X=1o7O(7fT5SX6n0$LcTkH z&T=lCVGN?*og&dFsR(0`IWhJg! z^uRb6XHip~?!ZrCzP5oG*k=~CkP5q7cad;`xex15;M#O}T;+*CbMi?|Z38TgNTPGp zyF7X&w>b z`$D|smJx9*fhMwvwB(CrL9`fDb@LqocCLz0*s-1~y9N?}W>DKI@t74h8T|lf#4Adg6=`B@GF03H=I=l@)Y*r>^rAbg*q;Swapm&T7IADizfOn137&|jat~&z?O7kix~EDO2d){^@;uFsYV0V751_7joQm} zn?l!$navT$?o+y?LJ%}G(xF!aw@>G+LL#tItMPok?D>R` zs(5YRnGN`~xfpVBjuO*~@$x)GQA76fF!UbBpY|f~gWyOA?TV@cPYcb95-JHHOq)`= zG5(>rg?t4R(kJ^XAD%@Qob{l3&Znm`@W#wfHLqZ4?ikDKJS0|DYFwC-TUHNi=|yAf zF%ac4Zt|rtW9~M4g0vLWdQu$oLOj;04r@`+tG8l_NpamY9%n(~IqDCHwWpMZ+st(h zhy?!e!b@YmV|D56iIc&Z?EI3aB>&HXYuf-m%d+}4ebNUTaB*;9Hh>Xw^%*MPFAaYP zT>75K6T@w{uDw&cUtTZ(0ysSsr+8_4DL!k$0M&swxF+W#{KpGbeFLMKROU zHGQHbDZD5?^*Z?&T}7cPV^$r??+7dFeqy;Go_g9$eLqgUb)@`QyLV-dz+)4_wGB9X zwR=e9e zijo`O?ETpK*`?QvT=E{ha$rpA*g7^!#C$P? zO3f=O_46_6Ztq0!jEd^RKe0sm`u&ctMl(XGhd<#-Q@anU?^RW21b`jX`J=_UzlxdS zT2bVbFOvnA@&w281}-w1vmo}~S3DmtevStzrmb4thz$SQ=X5(=lRry(!RyMUH9@*` zl`QZ8Q>;yz4)K!ULYYLR)*khxScyfU-A~^_ip9Wb^P!!~k0B$5=YMbo!r_6tFZAYD zV^*k=IclbD*<;0Ko{=c}@3$zY zRff9y38k!5mm(Y8QgenS>>9cg!oCJdJOirjXjUphx$Z?r*v{azmv4Fkvul+Q{Py@5 zoR@Mu@SnvwZ_1{}g;K-P;f5C>y0I4t-s)SHx0)ALI3W0Xh`)06fayTF7>Tj3CR#?oC*x9d3lg#bX@TGT8wZh@iIG0S_ z=KL`aiUIgL_32Uswa~(Up}w1rT`_!qAEa0AwJW9JvoQgr;-1Vgxp8fVe-~lW@ojo@ z)k*%wKWw*}XbjrkJm+tQuLXZNa+W_kQ$F4R)?a#ZmA{y4K15DQk<{E}Vsxb*!&_fK z!o8o5oJ)?DFR6jC43GeCt+Y17lC*crEAMiyr6O(Lre2kEDo483V~|9~$my z4C`F3%mXnmDGSz&SxtJ|`$O=7pI(Lo@NKW$kSk+*BnbzMT}OJ10u4Av(EHC!;nQ(+ z!GcF-gF;taC#c$J$su0WB$-lzaE8rC?l1TQmVCPbHE)92rJPh!LcEyBL;p#;`qc+c zrTFDx4@6_0nQGo^<8h^~cjU}t#9)htbmcUKOHICK-~3`tbI%zA)EK+_kinNhzfUT& zD7mn)uB!I$kda1^D~x876zAZA>B@ntzKCLE`yBoz(lFp_;r?eCA&b0*tg-~(X^s*) ze|lsm)`XtRanz~3`FOoXJWA{#&=gSyGnw z0uyXMFrm%MN-urEn2Aa3pPH_LU^cbE-Gg!{(rSkWg+iZtxp1djQ~XbUR#v3wE)WfTHZ*CSIN5o#VtASE4jMKq9R zT7b)0l-1RyiH4;dW8?|R+Pl3#s6o?wD%$)ZUG{Uot6e3&C1uaATDoeK&AUx$3XWvz z2FzWqVV&jH~%i~Venz{+d-Oz*sXjCvI%D&#&Pp;uRE zK1D5_z?)OL5GD0WCi~+^>3WNvtBz><^oYOO-C8D)e)IZcZHVBbpc7Z62(!cct?h>oEKL7 z-_c6%NuIG1az_^a@{y$!Ej_e}4v=kD%Ld0IE-csQatdG>OxAj3YLi zgl-j!e5YkvhwNec0Rlz%TkkbGq-R`YjM6em1o3y7Y0flfUsFn-W!RInt4MPPYWx?@ zyB}QLVK-l%mjWXGUb z-WB!~+RLTK&)Ot5`YNev&6)|LU(OPik58Utcy-`8cBOwrZ|?W8EVqL&3uJ)V<*yyH$q9vx*kEr@$0-gGS;b-#bW=i>W=8IFnPpE zu;yQXLQ6o6&--#8l(~TX6^x7XnsD5F4c!dWH`l)3H?Zo>snED2@A=gkWlFU2P1zyT zeXrpKXKxne)k5;g+EPIy1!t>Nw>!UA=txj}n>0%YmaR2r?-;Vqhi@O65h8x|ghY`j zL{M2qCaPkL5nj&gdoej*rdoBBbwTzQJF+@Kg7;-zDQ?<4p4|NA0O!kW8#?zN!8%G= zotuBw-B?b;h1$RR_p;x9X8g(TF6W~x-&hncFw7$QGMZ~q!C<5#kC`};4F62bQ4V+F zJK-z|Tu~qCJ56>A3**yFDB@_O5CT)sw|;QWm*0lsGjB15tNs_&Gx)$6l>m)0}Z)HMege2c&siMSLcNV4F1B26- zI;`>ZLk(V-Pg#mFi%lFdJ>V(wRa}+Usg@BzXA`_J1LnP~6EX!^X?LeKOL;q5Y*#3F zp3)^xZIu{hh&5JUagi`l=i2ov?c13(WurY&i{{b9X@Vmp(_mN;-HY^bXsD56a*WveLdabF*ALWEu`CrbjN?D`AGlOY^;LEkC@oi9s7(!O&ZX~VjvMVHdVT*n2s0Z%?r)TO!zh8=?( zlP3#s?%RHu$yf_wh+#<3lp9DQ_h1ip6RtoF~hDqcs$Qy+%%TPvq@z* z(af7F`FwtiXIoCAxS2nEZy!>XxuZtAqebw2g9X{^s7vmUu{0$C$GZsM4vZm8EozOJ z;rokaoTR7kpjbA!vsW|X*I)<-B&F@hVKF0-aHt?R#jVm&`( zxfGniY1+YA`h7!BGo~}tMmoWjQXjq5kkq`QQ~9BScvhLYaxo6dhZzh^k**5fgukx> zMxGFmf4vKBb}ovcHDy83BvM|@Axv4NLn{6+s`!(PLxTXbDS430{ae|_4Qqw?u{y5y z0>C~|;+J5T?9ZYL=I_Iyql$H9AD$jzE8e_vbm4ic&34?~F z@FuK&cIRraWU<_~{uMGiB17vt{a@((g9(@uUpDpI$8FxGI;W<%%e`m4_|adOrF$PH z@xu*cj^ehz6xFy}kWtyYnZ?JM@Zi4a@x~jYyCXZ8OkyV{>y(X?d=sBMNY414Sn5!d2b2}rJ*<540!pq`Fie?`7YCcEY2vpH<9HdsoHMXQ$b-f?o4p7A8>l>MW8GNSYwCy1alrj}+ zQD*L>n?tgm{)U%tRE3Y5^o@$ZaXxeIN2Z?2kXqe&K=R5^|2BS8qrZ;PCq_ta5V@Nf z`>ikgfrPT4xH_^6@=t{bl=@haw^97xpp;bVM~JGF*k{9;k^CpEOION!I>v}-r8)Vp zqhW(DnVF-v{=$8q>|kU~J%ZYm=v`sEf`1r%jYYh|`zmcp-HkBISIF!2onsmtR$3*) z;Opc{j>j3^CMs89c%+SJ@%0~sqh}|R+fDK8*H;d+X#n^8FFF}r?{0nT)MJU>V&(NE zEWgf=>b8BqwN498*(!08x5l?1l9T0ta_3G~Gs2r+4DB_XZ-gL+Luy7VaXDT+@8U8r z`_gLvyFaIHa>uE2XT0s))F|r7wTgCWM_VMXBtG+=DGSCjuFB1pM}-UlJ%J??L`_+$l5X5uXR!Afm(2fgjpsa^($sIm-kTfRyDw^R`q%}j1H z-y=Wz3KA+0CKW9^82!!^yv7@$eUh>kL>?>Gfl_@fV#<7=%!!_qd0T{USu^LN#^{yB zJYhIXQf9Ax9txi#QBpns*wR))zeN}5V5~A5lNfs3oH*zF<7asZhrz6dUTF4}D{F(Q z|AKQq%bp;b)eK!6nyUNyZ>9BAXS7bI*KeUU$}i`5CIf zUSmvNW678EjVTUBPb7(7o;9qS^K6Z}%QZ#Oh}~c3K_=Tk?xEFaqiID%gJ_@|-r+m0+(!2i zq6DoH*30)1^OZOZ)O(S-f*%D-owI*CdpLOv+Sw{)bqoC*8NR|lt-4GSEp*62&wt`6 zK<^WIP8uUz;ipYA2_>txV&1Ln-~JKLnxK_m!HL@!?suW2=$9WODYGAGHz>S8I$(Dz z*dJ3BFW*RD-Ke8K$BZY&hNq6Fa&KoX!*7rFj9vK)X z{$1IEa&UIDMPFST&*i)1>!(?()sB_dVw5Hz%h_nauDU41Qej)+fxBS6LA&U}xx!Zw z?TZUtCSBw5=k#^bf+oflAdk_xSK{VrR*bU6-uWF*c&GK) z8Fr^{Y?VYmd*Ky`Yb#t8shH750(RcK4yUff3LkxD={Gs!e1crH7r6}#VW0R!yRbTyrv5qAK}F*@JI4XLE=;<`N#@^sM%Mi14nurso2OFz($If})r1B2 zbSwTmMhn}26j;lFBZNbFjRajI8m3UYK* z;aDmowpi7lX=y&m1$j9EG4+*myC_uSm`;8P*HN?HtLF1PAOwH;CiO~LvThk0TPcR$ zmG=&b7Gtn0Y`>;X=*A+nbqb~F_@azYI#62672wAh3 zVy5?Q0!dTBOF zaI8xhY2|gu1J~gO9NX7}5{69tLNH3RE&Aq)y~G#sDr22kxE9vHr-GzNrdi_nW@xt)CnL?gRq8MwMq`8 z4n_^NrndN{BH8=Hmhcdl=8gvDl@hG7-5mEM;g;+U5z>2bTIw7#g_xK_{QXWY=L0pC z(tYbt{7#PU1ec6$!7hLLW1hIVZ>;MSo|XoKkYRO)ty@c8s!YKc;@%_?MWw@gRYl5! zwq*a#u0Rh)*>s_>G&yxf0)C-Elv=q7B@mK# z45~&c%yUG5odC!`_-K6(8&%HR;LLLlJa{BSK6RAhNDFVK{2tbo)w{Wb_6)Wlx<1{G z7){}Z;)H8+w=u)oK0~8X3fJ-gkXj;;Brhbmu-9-7Bq>OSY%3hzvxc})PK8W5fcSEI zuN;;;QkdtbP6#2P1(!Z(vzP6sjo2mua#m&_;rg2X%uh7V7oWBfU=I)pS(_lDK0qcXcoyOZx^S-nGy2q8AQqQ#LZJgHTMbq;H`?J znqG7G1~%f&EGnmtCIdH|F0Y3sDj0*z8=o7L6#aGJD@eo#0r*;E>jtwdmNjddPK8Ge z_5gGZ#P#KSt=2{!7;=h0r8e3>FyaYDXm)B$1N?6Vk9|`SRH#df$*$1P-&YzN=s6--Vo5qh+~s+>nt*lL!&m(IG^q|Q7n+1gy{_ar_Sn>mb{p{3fx<%D|gQ>1?t@s{iU zglR?w-b|~+guiez*l3rQCx?B=ix>JOGa!#I*GT_KFhzDx$F{6tPK0%qH-X^Uw)A#E ziU!~HO$FUP=BKZj{=iRD?1h7*T9IKNYRuk~Z7VV<3^1@xU3Su$=`02TFEp~G#lL<~ zGtE6*j74EX1#()N?J@J~6$5rfy)&GIps-S;=s=JW}rm(Qk=7!^qs1OvxM z?O%1j`aWoE^i*m|o90&(v+|djuF-|q=DfJJMYXG#Chr%ZHLmDUk71CvnS^i*)m}Vvg#*HEh8Jwgh)>tdH(l?Ai~Xwk)=QUO_~x=is|sOnGvSA%94* zjg%+623&V>{@iepTgEmirIDd)QFW13JVfhjW9vDHzEH<2e^~hp|5+I~KphGT7V`r2f?SBO-nC4LgBiVf16K#t}M9!!D8rMHnZz=&OKOd zw#3<8aFOS-TfLzO&>TsvB_VI_(>)^ZvC26jb~qg5&U7;$d3GfxcZ^Iq(swZ9$35bC zeFj(%n>bcJ(OzwkY)El~n4OK&s=%Rckl7K4wA4Z5#(~>4n!2HjVAu?-*~!NZZTN?9 zd+bevPKFyazl#qBtlhO*itDgXwK!?TR)WWJKu?`dVb|=LM%k1Z)&iJcLbM5%%SiSW zqKuwEgVALK8EBPYlJSrqW7Monv7A|Ra9L>w)Q~0^YBhCcXA1Z4(=nx3Oa;(;E$X6w zk~NJVsjJSq<*5rux>NVGQGK@l@V;Spu-0)HdWxyqMS}@8F|gcFpmgr?LcL$fU-eYJ z&88xkBu&{rhfokEX%Sjwt8?YQBdv*2aH~}-sbEU?z{ovIjdFj!T?pkgL#L?0rCP-y zBSj+1kG7#OEIPOVb<0N!zdF5-5Lp}|_=GS>G%vJ()^+W4ad?gu45o((& zq*Mx0lV_|$5Zhlf-0HF=&vdFoDmMTLIkYXjVvb`QQGlCr?h+dT^f)4rx%2PuRv9;F=hL06!5*PIe+HQq4LNg{%5+zYK<6oC650K+9f60 zC#7{q0dGtOJginGrLm3Rao*sGYDH3NI-AhZ5uiuZQfhOE%IF2^oer9$Rwktj-UA<$ z4}MgwOiCvX1y@}HPgX0FQtB)4oF?!TwKAz(`aSp$Pry?RIJXG=?UybghcV#E%fZjt zfv2gJNolSxc=%i3#})N6Z_Wk2I2-tcT22b-`+%!%~_W`Wi{0nJqNiSQ{k65*2h;HNDwV^K`4n2z)e0G=`c__Q$2s7X>;83`IV z8Z<|(Oe&N2gJ(K|=c<)SWk)=C>zCkX)XJpNJqi447x1%ceNtJ{-L(;Xwm0}Wwf@U! z{Fl`pf)CyTo~Ks6syh5_H$3ij20Y(jWbmB=9^4LIpd1;z{{VL2DhV!BjtpK$fM+-Z z7wJcas9eBfvjNZR`)IezfS>&iSgaTsMw-sW{Bs281;xlPg#+!E1X`jG+fg|8$gOOptad3<2;FSg=Lr6aO@AJW{lp{m9`8oH^ zL#~3k{|&ZDBX^E|_W-B(Uo+Y{`f7yEk){@*tqvfDpGNK+9XUYzBtU}zvU8l020maK_*Q**^C88cUED#pY2?l^>ScFiWhsE$ zHFD>eJlb8F1qBS%NZ&a)PkA|me%b=MLu0UkF~ zr6zUAuQdjpV*>cnufQWT%Ffa8lDjmI2fjppSTm!gABX?6SlL33&1Kg`o%qjc{`hdHREL)@R9KAPz{{9YVls>R$1mF)N0HgIV z_84ILRKWfE&T(YERNwi4F^bNSz7EQ+0*zI6jw7E*H4X(npzIuLY<|V$dn|CAzH@YW z1#r$Wz=H;zWBhyIOY_0w4LZlf5#XDvz!Q|6qq_(2*P0thqvg)AV=Y+MH^2_do#W6j zu*aW*CCdHOf`eeQoxqOhJ4g3)!1rd}Fzg(Y#LhAFBKU^?VdJB6=QyMltd}2HvRtT} z>0&&F8v&N0?;JyDz^@M7FxojLiJha}KxnTPB1Wpdb4>ggaDF-9F@w&L`U%|1v>ti2 zqH}cfl&beC=y8oS)p>~OvI|r@67+;Y=jeD4oO1$C*C^){`lo@vG7UUKqnuO7$OliD z4}Q|1d(5f=FZdHY(}26)24A=y{FDJVdjf8=9X!jRdtKVY1Ivuj;HMS!Gq3Cod^!_2 zTO&;y+_D%s9MriIG)JRP{`uDrj{-kYT`y1Q=4$xK*?NnN&%qKJuEF?V z9s<5A-0zTTxeo-KR|wdmuk(~I0sq?s*s75p{4kH44>;ZOHnK>0hf2D8tpIg-4YWw$_(T0! zR-?5m1%6{O@FT@Zx{|iI30|=V{IRA}*!&5P*U&TCfQJPDKh-=FH}}+?>=EE@C&uz zn-%plZ{7ra^_^xUBmB;9(UP0Ne%62Cu6{pgh?egZw`#>saS!eB(JDMvRoaehLc3kd zcMPFgVe=U-z)r2eJA}={q|Kv#0e4qDz)iofIe#lbwhvzgzM>a+xUhYMw0%}ExbGnF zT?X6t-v{0~7JRp`eWbK~Qwn(Ex8Qq(?fJGR+YcxLe`_K5USa!v()K|&!8fi2k5cZw z=M&($+kvBn&G$>2cWS(_e3AejV^DnLo8Z%Pz+;8&>rJqI{!=@6 zoUr{tQhuaKTADZRHl}sTcN_6qarwCJyHn_QI|m;mBY(VByj$q_5#*}LM<5AW^2V~W zAfw#$L|8sfd^ZbgRCxqg9@2g&zX0hNoiPqPqLy%q=ZCemW{Fy-*+;ZV+U{RZI;s`_ z{kIzC*w=@UNXgm{i_9F(i;*(vA;I7lg9xX1o}#^AmdZyurWO7LJ1I?!l-K(-Cf73& z>A3dq6I%R@Fqdu`37&NYk$9f2&Cs6II+dGbYEKE3$`V2q&|_!79sh{97N@n@THzYY z;SWSHJ>f@iJClzI&()q0`+&1NpKB2U+;uR)mgltmAB&~EDyN4;L$Gxq0woA}{BGrI z`Nj1DZJ}29OJk9^W3i@Z(by5gNVN03TtpcVh!OI!Z}!A3QlL=%J(ZK<|Qh*qwx z5Tjibqgk|^Lyx|31c`QumoIA_D#d6w=^=yi@aK(UB2a=*rM;r97NXUlZdb){{UP={YqXw% zC_O*dBkfzrJMJ5aD!;gWTMys;5SKWP`M0R}63>wH5Z_;9M3le8vx*r|3-PX}5wSyy z*Q>8)DlLofl7xLm#X8G}S}~&CXozpr{67&N3E~=Nf-}TnEo1)OMAep$welO3y_uR| z$Y%zPH5Ro~E55SchiSV3vC7Mc_(c0u`%EZ)BNN~CJP{9tk5v}$Nw1(+(oeLjXfGPi zO$9I+)OqQRMn>h;qAWf?8^l!FK|Y>pvG%BJ^w=$lCi-|a~WSrsNd(-P^ANr|Q zZYm$9WEAA})#ILX05&sO6Ch?czG&~aGyP{m9{kuy)Of4)v@b1+j&mW7?mqsxV##8N zvFhiGvz9}gXZL(@?0Sgf-+aE9wFP3qhcAd23GtoLFQ{WY#35fkPYh#%&O=I(~F3rdnIQ|o-n4dj&H*~Y zc$Gn1?%`mpv~XH{n)E2++ph#qOk^7sBj{a1#8ieJ3eo10gR$#uxBfcgU(Na%_ zfi!H9$RS$1htF%M$8&varprXQhqwN{5l^AB-;rCl!!-Z?JKEt0Ej|KT%+%buh1GN4 z@5$YpU?kB;>15g|g)Y#h(!x9XkI~}GzSlKjF}?3B5-yFGS9fz*Lq0{yG(R>>2!ff1})qSo)n`+UTVfn`%+gDEt8i|(GFR(5bX*>?Qg*jJN!hV3BqYQ zo6ZsHmP?-zqn#C_S^wFJli7AQ?#FpKk9Noxqt!8k!XOMDIve-nyihdAgXs zAVw<@qMf6|Pr!DcLF{g&bQxXF&*m41u@d+Ff}zP1H>Swmk%3l5nH*6T60y=D-5>5t%ln9L!()*!a)|G+0RgmZaoDY;apCHQydYt?w6UQjK4Uy?LR`3(h^9?^{1xoPyZHU{4T|6WOcJHvbEMzJ zBgZx4=bjt&Kd)p%I;Hb-8}{%veTNoW;I6P2){ENkpro}M*^6fS!xq}1RlEq-vAI6r zDg6kicz%y=qsvU3vP|yN?ff-3>4A7b7xlf5=Ri**R0sW`{9d?CtluZ#D=H9*=MU*- z3qIG+GI>Nl7D9E3p~7RKx_>^GgnGhX`gglJG>h-f+RVC~gfQ-VB2a?xly2?%j6Q7I z*42|)!HDnfXT(==b#KRN*dByi#VFod9m=})gy58naDw2)+%s9t95!9U%vmc&^A@6o zv%M=}cm6()3{&eEA7(w{%WPmaGMgAb#-Bmvx|bc)2)U295jlVfWQwdHN3*fL9uRq1 zx)C{u*~|p%BS*ajd28;AA|GIDrbBLgXhhz^gfLqf+yq9mjtd|Uw3`2dY8+srmO$R6 zo&WzwE+usyxg0WQH~$57PGI|Ohy3ZsM&xab@I@rZhuO$@$Vb04B3D~(XF?g=8zr%A zS&-BIOJr-Myo1TG6#s2`lx-@5*zRE@YO_@svy;J%Ybt9|3%TnGBXT$s!R(UcNUP*7 z9at#~Gg1ZNyYAvlK^oiC3u0-y5pfHXXSti<#S`pUZ-^hhu|QdTB(sOv%j{#Km}u#! zWwC<-A-^(kfw8FjnHVAJX|`<-#HVA7i0PL2W?eSxcow3)+dqnrWe)HW5A=pwB~+C0SMPs{@2 zjW5oXoMqhxLhM^;bng?GLyVYM_jZEV*=SI_(Zt&88^~MQj6{_a>wI>~LWl#be>T=k zhZ*raEo5C+Lv(uGsF=tcA??|=6JqJGpN+RCKJDig2l3AdKfka&=`_esrvCh#_Dr{$ zQVh}F-Kbb+d7XUX*sKQP{l9)T*6@gU(yHST#G;U&4Ntoyrrxr_Qt^$o3#^~%BRsku zVYHc!GGa=WYc+$0_}w8RVuK~Vu~yL4>?Fiv-z_A=YceB$i6hb^yvJj_VK#c9oH(Q~ zV&dR-8*J+OMMwft7%_2hZ<9!XL{b?t`Cr_L4A$LUCPLys|NRV0&#x>dL)o!2x z{WcLOK`7;;l`&4`%$y1_*hMkeva4`^`y0V7@otp4L$vtr<#u-2BM2XaAebOrW@5}M zgV`{~k)rqlY z6+#~MGm$N?^YRVGp`H=HtfLF5hY+(G(FCD^xydv#{3oq$G2{bTO=7gr7BeD;ZCXmA z-R9*xjKf_qnzxR!?M8%(BqC6P(9ETC!v2yJ~xMDhVDD=ITh;H$KQLM%! zUb7;2vFCE!EGnCIqb~Frgy0>^akt0|5BX+g@>I+-V8X-^sPO}!ze6tTBOtdg&@ zXXHAY=%OZUV5=9dnP=oWv!4M{{!k*GEcwPjrt#kOqqI_*okq(w)Elcs%{Qf z!~{J|H)uEnhf0JKg!ODqH(xQ_26m$uZWBvRR@fi>y@`bLV-;_S-J^5tVTZPeCITf0 z{%pNX0P7UU2C z<|BPlrOxdYTyp0AB-U15-Nrg>7uzjf*DnFWr(Y3)5`<882OB2t=uS3VtXhOvwWzzW zk8MD>UCOE*)phCdDiPA75Ka(w^Hqyv`7iG5VfTvB_Oas0+BO_^OeL``qFDXOT1>}J z1K-~P9oya;I5rgIE>}G&pc!*#;PhyX<$$Tu66gHLL z>q*C0aXr;@30xm-AgOg4n=L*ELULp8W#F@Vf*)7x^jV$7F7SsV2sb~$meJ`fnY)-3 z2|8+Ypdw54-GiSujtNv`sort;dCCNomBH$>)axu=EbZ4K@RO`OeDD)E)xiD#0?srz zeipaED}2CD8Svf@!E1xTvy{iT(#)RV?Yn?aOUJi>w(AXe`6OVrK{Ix|34S#PJjb9J zy~l!&xQ1rT<(u)0*o@DZ#Brd$wSmgXfo0?I`^-AU@0GfKF8IB=1*M&3&#^*n@>t=p z$o&0Q__W} z1ofeA!S_&yJ|U{5pbijR@zXu7_I(Locw(D8tk$yPu$uLHKf;cj+>Rl#mKBFpkA5Iy zvn5hThE=nRAeFy`%0!%D&ov*4`@_hCa!J=oN%6P94y}vFR@X^MzAYfGng}Qx>8x!->a!K{1q>OKz35#gU##Z&DB-fcBuRoSZ11YJ-*@ckgmK>Rg zB~k0<5K{BTWx1rAq$KVaH^Tm-s>D_|Nl9(LfyB@fX(T1NelwR4r#3wy>l1625kmE8 zmP@)tN(x!_7w##0wqUDUq$Fx3NX=^!X(A>0E?rK@PPSDhVo7bW{)FUx-Ys4#={70J zZ*Kr$zmGMKCtKYnC5?;$vG`0PcSuRGfq{g04D2ow@hes7y9wwyQzrt;yX=R}tV4@9 z(yilyxJbgkNFto#c`JL5ZDWOrNw!@W=^luKru9mww_oE(s1Ei+`NKYboLLZf$w0y> zo{C|g%%Aby>)hVgfZP5?NuIh79$hGmn44OX3{DhUs4$7&g~&;-z1derCY5No=9Ay6CT9exR+qh z{yhm^tCRo0yB%!J$6($%sk8Nq0o(l<*gBomJ9#F7`M7}j=+HaypQ+9O?DJhu`M|H& z@dt4q=Xwfk=nsThb@$b=8+4rQMt*1br{WvN>_hi|wI`19dYyP?bUK1m-H^y8op@#} zO965D_GOvy+r)5raZ!YXPOyt7{koq{=+_T$%MJs%d~GM!MC#Y$xU>}D1K;W~->>`Y z0(3&Zo_iBKVJ+bnfl{k-@#fKJ@kp>Bx#jXSVAb(po28aJ#P#a~*qlkAjnq2*g>v87 zsN*~K!M70#u0fH+$b)69hd|?8?7CYs$XF(d++ta|p<+H~<56p2MScKdL zMWtXVi@|nDZScS(s2b4uFYH|RBPQ%_z6~OU3Y#alf_wX6<2`c2+nc7MtBe5KD;H{K z4aV*V+b0$J#Kf;BU_kOaXm}Lb|CmV{|0kYEq2>7zp$6Vx%ionx?I@ktr%kCkM%es6 z-@{oLMb6v>*Fc;+B@#`}T;J+6j7onEkcrTzHQdW0Aj5wMIV$^gRjmB6tz6FA?liK! zR3cD<5Th%7DOPvb^nfl-cTgvOlE6B#F@+7ebzH{V9odl$WEsIqWBE#a!}g2obLnff9sdU2L}$ol~mr zm@ZAM+i@Y<70&Mf>?vOm+v0>ST_@bpXXu2_)U^SB8GzDG3Qb|+a6znlEf-{wi@TV; zC`}MDb)_b!_@>Cx%{eWWmMzxZeJbQ34-hSfm*tjdD~FQrF(CN*J=P z=&JduO{yX1%^5&pJZ0EC_ch(HNKqpr5= zEpf-CB)>`6ar32#upK86+v2uP`gdEfZG0Z6_dL)$y1U|yL9=jS<(iZeT)gvhQkNFK zs8*fBJss&|><2?=xIhFOL1@$6*Tw4Eb^1QW#AT=L$RxOLx_m*(dZ6nNFXD$nS-#yW zkVWk#*z%F`B964pdIduHF(Occ@L0Tv+jX7NMf^lOeWv^XS@jIjo+>Z9Xxp(%Akf+g zB$^;R6EEU+ohOHjcm*d!8*m%)`|F8pxsv-(o?nc!^)S6i_~Zx#c6XSxX>iYmLYoIAH};u13?} zkgHz#@`cr~kASQm@#1Pwv5+5r_Tp;f9)-Mi@{6jGz@`;LPI5OQ8!R5D+WOvuJjUOM z9B;Le+r(jYJk{3h?aN3fa-SoUM-ExHv5^0~W<)kvmQJ%x{-BD;i_TAs|JSOMA9vZ( zpA(kRY`w-poN;ZUv8Vx@yg0Xtai0SDhjt@T6%U5fOCi3>er-&|;@nBwsC5w6^)(^} z^pF@|Uh~fjxkyb^gA%^^DM3h&<_gT%Vfw*|N5wU<53k5OG%FFr+=9Bju z70WCGg|^JJ4f+7$7w5lLwq=oJ5Vx5tungul^uXafZR`3e zw>-cY9H}^~(3c^*rc5$^{PBcA?uQUVE=+pvk?J=BVs+(;T|tsAQ|A4G?4Ac8P!9!y{h75SI*cdEo(Y+YPzzD3|9P0RB;r;}E;f_{UD& zu>8lP9ywP1vmtl>XmqEVEb*v^cLhYB-;9XzqaKka)|NLgO}KZeoQ`bc$V1?^^%$0p zPDARjjT6(2G<%R8CnU0+6Vr{1Adu+yr^`f`Cg`{K76DzxeoyWc2z!eVP7wBRLNY6alakrJVz{PK*f$pcK*H_g z?PKN+Y2t1AMcdpq2*m+Jpada`J7IoN%pjy>Hd+iD2+=uc9T&ry9nczNAY4c{>M@ACcB7>9O<22WGIpAzNS4{kH`W5U4wvju)_kQY%c^~fY zOztRqisM(Xvp8`D`!px6V9!c{`}McPwaDg_ORsJj;C;UX&*AiG`y<3_b$#qzJNAX9OB5$qhN zm<}tM34G)+S|yKf;60`ed&SdZbq4%G6K9;n<5|%N zIm-Jd%sBC~{I_eLp6=GIM3}lC(FEZFm!T~YqLp%GVzhGca2CA_IU$e878U&AJRly< zowiHIf&NhodXdvl5fsqzGr|2IgI_W@M$JEhH=4{Q{IbC@s_+EA_A250@^~dz#gXOl zyp^B_>Thn}6Yv$$v0P`*b01W^D00000000000Dyr20001VZE$dSGC@~DE_7{hP)h{{ V000000RRC2I{*Lx5$6B^008|{q&xrs From edbc4ac5c3fcb3dfc52261b15dcc5b015af00061 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sun, 2 Nov 2025 15:14:23 +0300 Subject: [PATCH 131/189] A bit more deterministic output --- .../annotations/test_ocel_annotation.py | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py b/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py index a321b7caf..6e105e493 100644 --- a/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py +++ b/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py @@ -1,3 +1,5 @@ +import json + from ...core.gold_based_test import execute_test_with_gold from ....ficus import * @@ -21,10 +23,31 @@ def to_grpc_part(self) -> GrpcPipelinePartBase: def execute_callback(self, values: dict[str, GrpcContextValue]): assert const_ocel_annotation in values - gold_value = str(values[const_ocel_annotation].ocel_annotation) + + annotations = list(values[const_ocel_annotation].ocel_annotation.annotations) + annotations = sorted(annotations, key=lambda a: a.element_id) + final_states = list(map(lambda a: a.final_state, annotations)) + + test_results = [] + + for state in final_states: + entity_states = [] + type_states = sorted(state.type_states, key=lambda t: t.type) + + for type_state in type_states: + ids = [id for id in type_state.object_ids] + ids.sort() + + entity_states.append({ + 'type': type_state.type, + 'object_ids': ids + }) + + test_results.append(entity_states) + gold_path = get_ocel_gold_path(self.test_name) - execute_test_with_gold(gold_path, gold_value) + execute_test_with_gold(gold_path, json.dumps(test_results, indent=2)) def test_ocel_annotation_1(): From 45d44e911f5d12977fa842a525b5a0631f4f0443 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sun, 2 Nov 2025 15:14:28 +0300 Subject: [PATCH 132/189] Update gold --- .../python/ocel/test_ocel_annotation_1.gold | 793 +++++++++--------- 1 file changed, 388 insertions(+), 405 deletions(-) diff --git a/Ficus/test_data/gold/python/ocel/test_ocel_annotation_1.gold b/Ficus/test_data/gold/python/ocel/test_ocel_annotation_1.gold index 6e4b0442b..705f3cfc0 100644 --- a/Ficus/test_data/gold/python/ocel/test_ocel_annotation_1.gold +++ b/Ficus/test_data/gold/python/ocel/test_ocel_annotation_1.gold @@ -1,405 +1,388 @@ -annotations { - element_id: 29 - final_state { - type_states { - type: "Type1" - object_ids: "2" - object_ids: "3" - object_ids: "1" - } - type_states { - type: "Type2" - object_ids: "6" - object_ids: "4" - object_ids: "5" - } - } -} -annotations { - element_id: 31 - final_state { - type_states { - type: "Type2" - object_ids: "4" - object_ids: "5" - object_ids: "6" - } - type_states { - type: "Type1" - object_ids: "3" - object_ids: "2" - object_ids: "1" - } - } -} -annotations { - element_id: 9 - final_state { - } -} -annotations { - element_id: 25 - final_state { - type_states { - type: "Type1" - object_ids: "1" - object_ids: "2" - object_ids: "3" - } - } -} -annotations { - element_id: 7 - final_state { - } -} -annotations { - element_id: 15 - final_state { - } -} -annotations { - element_id: 21 - final_state { - type_states { - type: "Type1" - object_ids: "1" - object_ids: "2" - object_ids: "3" - } - } -} -annotations { - element_id: 55 - final_state { - type_states { - type: "Type1" - object_ids: "8" - } - type_states { - type: "Type3" - object_ids: "9" - } - type_states { - type: "Type2" - object_ids: "10" - } - } -} -annotations { - element_id: 1 - final_state { - } -} -annotations { - final_state { - } -} -annotations { - element_id: 17 - final_state { - type_states { - type: "Type1" - object_ids: "3" - object_ids: "1" - object_ids: "2" - } - } -} -annotations { - element_id: 41 - final_state { - type_states { - type: "Type2" - } - type_states { - type: "Type1" - object_ids: "8" - object_ids: "7" - } - } -} -annotations { - element_id: 23 - final_state { - type_states { - type: "Type1" - object_ids: "3" - object_ids: "1" - object_ids: "2" - } - } -} -annotations { - element_id: 53 - final_state { - type_states { - type: "Type2" - object_ids: "10" - } - type_states { - type: "Type3" - object_ids: "9" - } - type_states { - type: "Type1" - object_ids: "8" - } - } -} -annotations { - element_id: 45 - final_state { - type_states { - type: "Type1" - object_ids: "8" - object_ids: "7" - } - type_states { - type: "Type2" - } - } -} -annotations { - element_id: 19 - final_state { - type_states { - type: "Type1" - object_ids: "3" - object_ids: "1" - object_ids: "2" - } - } -} -annotations { - element_id: 3 - final_state { - } -} -annotations { - element_id: 27 - final_state { - type_states { - type: "Type1" - object_ids: "1" - object_ids: "2" - object_ids: "3" - } - } -} -annotations { - element_id: 37 - final_state { - type_states { - type: "Type2" - object_ids: "4" - object_ids: "6" - } - type_states { - type: "Type1" - object_ids: "7" - object_ids: "2" - } - } -} -annotations { - element_id: 47 - final_state { - type_states { - type: "Type2" - } - type_states { - type: "Type1" - object_ids: "7" - object_ids: "8" - } - } -} -annotations { - element_id: 39 - final_state { - type_states { - type: "Type1" - object_ids: "7" - object_ids: "2" - } - type_states { - type: "Type2" - object_ids: "4" - object_ids: "6" - } - } -} -annotations { - element_id: 59 - final_state { - type_states { - type: "Type2" - object_ids: "10" - } - type_states { - type: "Type1" - } - type_states { - type: "Type3" - object_ids: "11" - object_ids: "9" - } - } -} -annotations { - element_id: 33 - final_state { - type_states { - type: "Type2" - object_ids: "4" - object_ids: "6" - object_ids: "5" - } - type_states { - type: "Type1" - object_ids: "3" - object_ids: "2" - object_ids: "1" - } - } -} -annotations { - element_id: 51 - final_state { - type_states { - type: "Type2" - } - type_states { - type: "Type1" - object_ids: "8" - object_ids: "7" - } - } -} -annotations { - element_id: 43 - final_state { - type_states { - type: "Type2" - } - type_states { - type: "Type1" - object_ids: "8" - object_ids: "7" - } - } -} -annotations { - element_id: 61 - final_state { - type_states { - type: "Type2" - object_ids: "10" - } - type_states { - type: "Type3" - object_ids: "9" - object_ids: "11" - } - type_states { - type: "Type1" - } - } -} -annotations { - element_id: 63 - final_state { - type_states { - type: "Type2" - object_ids: "10" - } - type_states { - type: "Type1" - } - type_states { - type: "Type3" - object_ids: "9" - object_ids: "11" - } - } -} -annotations { - element_id: 57 - final_state { - type_states { - type: "Type2" - object_ids: "10" - } - type_states { - type: "Type1" - } - type_states { - type: "Type3" - object_ids: "11" - object_ids: "9" - } - } -} -annotations { - element_id: 49 - final_state { - type_states { - type: "Type1" - object_ids: "7" - object_ids: "8" - } - type_states { - type: "Type2" - } - } -} -annotations { - element_id: 65 - final_state { - type_states { - type: "Type1" - } - type_states { - type: "Type3" - object_ids: "9" - object_ids: "11" - } - type_states { - type: "Type2" - object_ids: "10" - } - } -} -annotations { - element_id: 5 - final_state { - } -} -annotations { - element_id: 13 - final_state { - } -} -annotations { - element_id: 35 - final_state { - type_states { - type: "Type2" - object_ids: "5" - object_ids: "4" - object_ids: "6" - } - type_states { - type: "Type1" - object_ids: "2" - object_ids: "1" - object_ids: "3" - } - } -} -annotations { - element_id: 11 - final_state { - } -} +[ + [], + [], + [], + [], + [], + [], + [], + [], + [], + [ + { + "type": "Type1", + "object_ids": [ + "1", + "2", + "3" + ] + } + ], + [ + { + "type": "Type1", + "object_ids": [ + "1", + "2", + "3" + ] + } + ], + [ + { + "type": "Type1", + "object_ids": [ + "1", + "2", + "3" + ] + } + ], + [ + { + "type": "Type1", + "object_ids": [ + "1", + "2", + "3" + ] + } + ], + [ + { + "type": "Type1", + "object_ids": [ + "1", + "2", + "3" + ] + } + ], + [ + { + "type": "Type1", + "object_ids": [ + "1", + "2", + "3" + ] + } + ], + [ + { + "type": "Type1", + "object_ids": [ + "1", + "2", + "3" + ] + }, + { + "type": "Type2", + "object_ids": [ + "4", + "5", + "6" + ] + } + ], + [ + { + "type": "Type1", + "object_ids": [ + "1", + "2", + "3" + ] + }, + { + "type": "Type2", + "object_ids": [ + "4", + "5", + "6" + ] + } + ], + [ + { + "type": "Type1", + "object_ids": [ + "1", + "2", + "3" + ] + }, + { + "type": "Type2", + "object_ids": [ + "4", + "5", + "6" + ] + } + ], + [ + { + "type": "Type1", + "object_ids": [ + "1", + "2", + "3" + ] + }, + { + "type": "Type2", + "object_ids": [ + "4", + "5", + "6" + ] + } + ], + [ + { + "type": "Type1", + "object_ids": [ + "2", + "7" + ] + }, + { + "type": "Type2", + "object_ids": [ + "4", + "6" + ] + } + ], + [ + { + "type": "Type1", + "object_ids": [ + "2", + "7" + ] + }, + { + "type": "Type2", + "object_ids": [ + "4", + "6" + ] + } + ], + [ + { + "type": "Type1", + "object_ids": [ + "7", + "8" + ] + }, + { + "type": "Type2", + "object_ids": [] + } + ], + [ + { + "type": "Type1", + "object_ids": [ + "7", + "8" + ] + }, + { + "type": "Type2", + "object_ids": [] + } + ], + [ + { + "type": "Type1", + "object_ids": [ + "7", + "8" + ] + }, + { + "type": "Type2", + "object_ids": [] + } + ], + [ + { + "type": "Type1", + "object_ids": [ + "7", + "8" + ] + }, + { + "type": "Type2", + "object_ids": [] + } + ], + [ + { + "type": "Type1", + "object_ids": [ + "7", + "8" + ] + }, + { + "type": "Type2", + "object_ids": [] + } + ], + [ + { + "type": "Type1", + "object_ids": [ + "7", + "8" + ] + }, + { + "type": "Type2", + "object_ids": [] + } + ], + [ + { + "type": "Type1", + "object_ids": [ + "8" + ] + }, + { + "type": "Type2", + "object_ids": [ + "10" + ] + }, + { + "type": "Type3", + "object_ids": [ + "9" + ] + } + ], + [ + { + "type": "Type1", + "object_ids": [ + "8" + ] + }, + { + "type": "Type2", + "object_ids": [ + "10" + ] + }, + { + "type": "Type3", + "object_ids": [ + "9" + ] + } + ], + [ + { + "type": "Type1", + "object_ids": [] + }, + { + "type": "Type2", + "object_ids": [ + "10" + ] + }, + { + "type": "Type3", + "object_ids": [ + "11", + "9" + ] + } + ], + [ + { + "type": "Type1", + "object_ids": [] + }, + { + "type": "Type2", + "object_ids": [ + "10" + ] + }, + { + "type": "Type3", + "object_ids": [ + "11", + "9" + ] + } + ], + [ + { + "type": "Type1", + "object_ids": [] + }, + { + "type": "Type2", + "object_ids": [ + "10" + ] + }, + { + "type": "Type3", + "object_ids": [ + "11", + "9" + ] + } + ], + [ + { + "type": "Type1", + "object_ids": [] + }, + { + "type": "Type2", + "object_ids": [ + "10" + ] + }, + { + "type": "Type3", + "object_ids": [ + "11", + "9" + ] + } + ], + [ + { + "type": "Type1", + "object_ids": [] + }, + { + "type": "Type2", + "object_ids": [ + "10" + ] + }, + { + "type": "Type3", + "object_ids": [ + "11", + "9" + ] + } + ] +] \ No newline at end of file From b1cd04bbd1d6a32aa9a142842cb1e8f41ab1ab81 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sun, 2 Nov 2025 16:42:41 +0300 Subject: [PATCH 133/189] Add additional filtering + update gold --- .../annotations/test_ocel_annotation.py | 27 ++- .../python/ocel/test_ocel_annotation_1.gold | 226 ------------------ 2 files changed, 19 insertions(+), 234 deletions(-) diff --git a/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py b/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py index 6e105e493..0005dd96f 100644 --- a/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py +++ b/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py @@ -51,24 +51,35 @@ def execute_callback(self, values: dict[str, GrpcContextValue]): def test_ocel_annotation_1(): - _execute_ocel_annotation_test('test_ocel_annotation_1', 'ocel.bxes') + _execute_ocel_annotation_test( + 'test_ocel_annotation_1', + 'ocel.bxes', + [ + RemainEventsByRegex('(^Procfiler|^Ocel)'), + FilterEventsByRegex('NextId'), + RemainOnlyMethodStartEvents(), + PrepareSoftwareLog(time_attribute='time:timestamp'), + ] + ) -def _execute_ocel_annotation_test(test_name: str, log_name: str): +def _execute_ocel_annotation_test(test_name: str, log_name: str, filter_parts: list[PipelinePart]): with open(get_ocel_logs_software_data_extraction_config(), "r") as f: software_data_config = f.read() - pipeline = Pipeline( - ReadLogFromBxes(use_bytes=True), - RemainEventsByRegex('(^Procfiler|^Ocel)'), - RemainOnlyMethodStartEvents(), - PrepareSoftwareLog(time_attribute='time:timestamp'), + pipeline = Pipeline() + + pipeline.parts.append(ReadLogFromBxes(use_bytes=True)) + + pipeline.parts.extend(filter_parts) + + pipeline.parts.extend([ AddStartArtificialEvents(), DiscoverRootSequenceGraph(root_sequence_kind=RootSequenceKind.FindBest, merge_sequences_of_events=False), AnnotateGraphWithOCEL(), AssertCorrectOcelAnnotation(test_name) - ) + ]) result = _execute_pipeline(pipeline, { 'bytes': BytesContextValue(read_file_bytes(get_ocel_log_path(log_name))), diff --git a/Ficus/test_data/gold/python/ocel/test_ocel_annotation_1.gold b/Ficus/test_data/gold/python/ocel/test_ocel_annotation_1.gold index 705f3cfc0..a4ee9fe56 100644 --- a/Ficus/test_data/gold/python/ocel/test_ocel_annotation_1.gold +++ b/Ficus/test_data/gold/python/ocel/test_ocel_annotation_1.gold @@ -2,90 +2,6 @@ [], [], [], - [], - [], - [], - [], - [], - [], - [ - { - "type": "Type1", - "object_ids": [ - "1", - "2", - "3" - ] - } - ], - [ - { - "type": "Type1", - "object_ids": [ - "1", - "2", - "3" - ] - } - ], - [ - { - "type": "Type1", - "object_ids": [ - "1", - "2", - "3" - ] - } - ], - [ - { - "type": "Type1", - "object_ids": [ - "1", - "2", - "3" - ] - } - ], - [ - { - "type": "Type1", - "object_ids": [ - "1", - "2", - "3" - ] - } - ], - [ - { - "type": "Type1", - "object_ids": [ - "1", - "2", - "3" - ] - } - ], - [ - { - "type": "Type1", - "object_ids": [ - "1", - "2", - "3" - ] - }, - { - "type": "Type2", - "object_ids": [ - "4", - "5", - "6" - ] - } - ], [ { "type": "Type1", @@ -122,108 +38,6 @@ ] } ], - [ - { - "type": "Type1", - "object_ids": [ - "1", - "2", - "3" - ] - }, - { - "type": "Type2", - "object_ids": [ - "4", - "5", - "6" - ] - } - ], - [ - { - "type": "Type1", - "object_ids": [ - "2", - "7" - ] - }, - { - "type": "Type2", - "object_ids": [ - "4", - "6" - ] - } - ], - [ - { - "type": "Type1", - "object_ids": [ - "2", - "7" - ] - }, - { - "type": "Type2", - "object_ids": [ - "4", - "6" - ] - } - ], - [ - { - "type": "Type1", - "object_ids": [ - "7", - "8" - ] - }, - { - "type": "Type2", - "object_ids": [] - } - ], - [ - { - "type": "Type1", - "object_ids": [ - "7", - "8" - ] - }, - { - "type": "Type2", - "object_ids": [] - } - ], - [ - { - "type": "Type1", - "object_ids": [ - "7", - "8" - ] - }, - { - "type": "Type2", - "object_ids": [] - } - ], - [ - { - "type": "Type1", - "object_ids": [ - "7", - "8" - ] - }, - { - "type": "Type2", - "object_ids": [] - } - ], [ { "type": "Type1", @@ -250,46 +64,6 @@ "object_ids": [] } ], - [ - { - "type": "Type1", - "object_ids": [ - "8" - ] - }, - { - "type": "Type2", - "object_ids": [ - "10" - ] - }, - { - "type": "Type3", - "object_ids": [ - "9" - ] - } - ], - [ - { - "type": "Type1", - "object_ids": [ - "8" - ] - }, - { - "type": "Type2", - "object_ids": [ - "10" - ] - }, - { - "type": "Type3", - "object_ids": [ - "9" - ] - } - ], [ { "type": "Type1", From d7f9c680db3faf93af93740d7d61a8eb6779ffc2 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sun, 2 Nov 2025 16:54:41 +0300 Subject: [PATCH 134/189] Create a smaller xes log and use it in test for understandability --- .../annotations/test_ocel_annotation.py | 4 +- Ficus/test_data/source/ocel/logs/ocel.bxes | Bin 59138 -> 0 bytes Ficus/test_data/source/ocel/logs/ocel.xes | 188 ++++++++++++++++++ 3 files changed, 190 insertions(+), 2 deletions(-) delete mode 100644 Ficus/test_data/source/ocel/logs/ocel.bxes create mode 100644 Ficus/test_data/source/ocel/logs/ocel.xes diff --git a/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py b/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py index 0005dd96f..2a5f094d4 100644 --- a/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py +++ b/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py @@ -53,7 +53,7 @@ def execute_callback(self, values: dict[str, GrpcContextValue]): def test_ocel_annotation_1(): _execute_ocel_annotation_test( 'test_ocel_annotation_1', - 'ocel.bxes', + 'ocel.xes', [ RemainEventsByRegex('(^Procfiler|^Ocel)'), FilterEventsByRegex('NextId'), @@ -69,7 +69,7 @@ def _execute_ocel_annotation_test(test_name: str, log_name: str, filter_parts: l pipeline = Pipeline() - pipeline.parts.append(ReadLogFromBxes(use_bytes=True)) + pipeline.parts.append(ReadLogFromXes(use_bytes=True)) pipeline.parts.extend(filter_parts) diff --git a/Ficus/test_data/source/ocel/logs/ocel.bxes b/Ficus/test_data/source/ocel/logs/ocel.bxes deleted file mode 100644 index 8c7fd80e80777401ece1d22a34ff7c1bcf9add96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59138 zcmV(;K-<4iO9KQH00ICA0DEI%TWto@{f6cM05vTG01W^D0Ca6|a6xHQQD-i6ZE)

      bQ>KDldOI@sMa&Axpz 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 U000010096y00027<^TWy0BrP%9RL6T diff --git a/Ficus/test_data/source/ocel/logs/ocel.xes b/Ficus/test_data/source/ocel/logs/ocel.xes new file mode 100644 index 000000000..b7ae0eee8 --- /dev/null +++ b/Ficus/test_data/source/ocel/logs/ocel.xes @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 2718dbff5e1ead77d3299d3c34006bfbbfe59b8d Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sun, 2 Nov 2025 18:36:24 +0300 Subject: [PATCH 135/189] Add ocel objects relations to OCEL models + regenerate models --- Ficus/protos/pipelines_and_context.proto | 6 + .../Npm/src/protos/backend_service.ts | 1 + .../Npm/src/protos/context_values_service.ts | 1 + .../ficus/GrpcModelElementOcelAnnotation.ts | 3 + .../ficus/GrpcOcelStateObjectMapping.ts | 12 + .../ficus/GrpcOcelStateObjectRelation.ts | 12 + .../Npm/src/protos/front_contract.ts | 1 + .../Npm/src/protos/kafka_service.ts | 1 + .../Npm/src/protos/pipelines_and_context.ts | 1 + .../go/grpcmodels/pipelines_and_context.pb.go | 838 ++++++++++-------- .../models/pipelines_and_context_pb2.py | 276 +++--- .../models/pipelines_and_context_pb2.pyi | 14 +- 12 files changed, 642 insertions(+), 524 deletions(-) create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelStateObjectMapping.ts create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelStateObjectRelation.ts diff --git a/Ficus/protos/pipelines_and_context.proto b/Ficus/protos/pipelines_and_context.proto index fe1989fb9..38cad16a5 100644 --- a/Ficus/protos/pipelines_and_context.proto +++ b/Ficus/protos/pipelines_and_context.proto @@ -57,6 +57,12 @@ message GrpcModelElementOcelAnnotation { uint64 element_id = 1; optional GrpcOcelState initial_state = 2; GrpcOcelState final_state = 3; + repeated GrpcOcelStateObjectRelation relations = 4; +} + +message GrpcOcelStateObjectRelation { + string object_id = 1; + repeated string related_objects_ids = 2; } message GrpcOcelState { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/backend_service.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/backend_service.ts index 4838e9b75..0fe6250e0 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/backend_service.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/backend_service.ts @@ -84,6 +84,7 @@ export interface ProtoGrpcType { GrpcOcelObjectTypeState: MessageTypeDefinition GrpcOcelProducedObject: MessageTypeDefinition GrpcOcelState: MessageTypeDefinition + GrpcOcelStateObjectRelation: MessageTypeDefinition GrpcParallelPipelinePart: MessageTypeDefinition GrpcParallelPipelineParts: MessageTypeDefinition GrpcPetriNet: MessageTypeDefinition diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/context_values_service.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/context_values_service.ts index 0d13109b5..4a4e99887 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/context_values_service.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/context_values_service.ts @@ -81,6 +81,7 @@ export interface ProtoGrpcType { GrpcOcelObjectTypeState: MessageTypeDefinition GrpcOcelProducedObject: MessageTypeDefinition GrpcOcelState: MessageTypeDefinition + GrpcOcelStateObjectRelation: MessageTypeDefinition GrpcParallelPipelinePart: MessageTypeDefinition GrpcParallelPipelineParts: MessageTypeDefinition GrpcPetriNet: MessageTypeDefinition diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcModelElementOcelAnnotation.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcModelElementOcelAnnotation.ts index 1ecdedb6b..abe794cc7 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcModelElementOcelAnnotation.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcModelElementOcelAnnotation.ts @@ -1,12 +1,14 @@ // Original file: ../../../../../protos/pipelines_and_context.proto import type { GrpcOcelState_DONTUSE as _ficus_GrpcOcelState_DONTUSE, GrpcOcelState as _ficus_GrpcOcelState } from '../ficus/GrpcOcelState'; +import type { GrpcOcelStateObjectRelation_DONTUSE as _ficus_GrpcOcelStateObjectRelation_DONTUSE, GrpcOcelStateObjectRelation as _ficus_GrpcOcelStateObjectRelation } from '../ficus/GrpcOcelStateObjectRelation'; import type { Long } from '@grpc/proto-loader'; export interface GrpcModelElementOcelAnnotation_DONTUSE { 'elementId'?: (number | string | Long); 'initialState'?: (_ficus_GrpcOcelState_DONTUSE | null); 'finalState'?: (_ficus_GrpcOcelState_DONTUSE | null); + 'relations'?: (_ficus_GrpcOcelStateObjectRelation_DONTUSE)[]; '_initialState'?: "initialState"; } @@ -14,5 +16,6 @@ export interface GrpcModelElementOcelAnnotation { 'elementId': (number); 'initialState'?: (_ficus_GrpcOcelState | null); 'finalState': (_ficus_GrpcOcelState | null); + 'relations': (_ficus_GrpcOcelStateObjectRelation)[]; '_initialState': "initialState"; } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelStateObjectMapping.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelStateObjectMapping.ts new file mode 100644 index 000000000..49edc275f --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelStateObjectMapping.ts @@ -0,0 +1,12 @@ +// Original file: ../../../../../protos/pipelines_and_context.proto + + +export interface GrpcOcelStateObjectMapping_DONTUSE { + 'objectId'?: (string); + 'relatedObjectsIds'?: (string)[]; +} + +export interface GrpcOcelStateObjectMapping { + 'objectId': (string); + 'relatedObjectsIds': (string)[]; +} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelStateObjectRelation.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelStateObjectRelation.ts new file mode 100644 index 000000000..fae030137 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelStateObjectRelation.ts @@ -0,0 +1,12 @@ +// Original file: ../../../../../protos/pipelines_and_context.proto + + +export interface GrpcOcelStateObjectRelation_DONTUSE { + 'objectId'?: (string); + 'relatedObjectsIds'?: (string)[]; +} + +export interface GrpcOcelStateObjectRelation { + 'objectId': (string); + 'relatedObjectsIds': (string)[]; +} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/front_contract.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/front_contract.ts index 6b1654f3e..095dad5cb 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/front_contract.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/front_contract.ts @@ -83,6 +83,7 @@ export interface ProtoGrpcType { GrpcOcelObjectTypeState: MessageTypeDefinition GrpcOcelProducedObject: MessageTypeDefinition GrpcOcelState: MessageTypeDefinition + GrpcOcelStateObjectRelation: MessageTypeDefinition GrpcParallelPipelinePart: MessageTypeDefinition GrpcParallelPipelineParts: MessageTypeDefinition GrpcPetriNet: MessageTypeDefinition diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/kafka_service.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/kafka_service.ts index 41a76735a..96c3cba07 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/kafka_service.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/kafka_service.ts @@ -98,6 +98,7 @@ export interface ProtoGrpcType { GrpcOcelObjectTypeState: MessageTypeDefinition GrpcOcelProducedObject: MessageTypeDefinition GrpcOcelState: MessageTypeDefinition + GrpcOcelStateObjectRelation: MessageTypeDefinition GrpcParallelPipelinePart: MessageTypeDefinition GrpcParallelPipelineParts: MessageTypeDefinition GrpcPetriNet: MessageTypeDefinition diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/pipelines_and_context.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/pipelines_and_context.ts index 8b6c25d9d..4a45d651c 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/pipelines_and_context.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/pipelines_and_context.ts @@ -77,6 +77,7 @@ export interface ProtoGrpcType { GrpcOcelObjectTypeState: MessageTypeDefinition GrpcOcelProducedObject: MessageTypeDefinition GrpcOcelState: MessageTypeDefinition + GrpcOcelStateObjectRelation: MessageTypeDefinition GrpcParallelPipelinePart: MessageTypeDefinition GrpcParallelPipelineParts: MessageTypeDefinition GrpcPetriNet: MessageTypeDefinition diff --git a/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go b/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go index e902e9044..9dd3b8cd4 100644 --- a/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go +++ b/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go @@ -819,10 +819,11 @@ func (x *GrpcOcelModelAnnotation) GetAnnotations() []*GrpcModelElementOcelAnnota } type GrpcModelElementOcelAnnotation struct { - state protoimpl.MessageState `protogen:"open.v1"` - ElementId uint64 `protobuf:"varint,1,opt,name=element_id,json=elementId,proto3" json:"element_id,omitempty"` - InitialState *GrpcOcelState `protobuf:"bytes,2,opt,name=initial_state,json=initialState,proto3,oneof" json:"initial_state,omitempty"` - FinalState *GrpcOcelState `protobuf:"bytes,3,opt,name=final_state,json=finalState,proto3" json:"final_state,omitempty"` + state protoimpl.MessageState `protogen:"open.v1"` + ElementId uint64 `protobuf:"varint,1,opt,name=element_id,json=elementId,proto3" json:"element_id,omitempty"` + InitialState *GrpcOcelState `protobuf:"bytes,2,opt,name=initial_state,json=initialState,proto3,oneof" json:"initial_state,omitempty"` + FinalState *GrpcOcelState `protobuf:"bytes,3,opt,name=final_state,json=finalState,proto3" json:"final_state,omitempty"` + Relations []*GrpcOcelStateObjectRelation `protobuf:"bytes,4,rep,name=relations,proto3" json:"relations,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -878,6 +879,65 @@ func (x *GrpcModelElementOcelAnnotation) GetFinalState() *GrpcOcelState { return nil } +func (x *GrpcModelElementOcelAnnotation) GetRelations() []*GrpcOcelStateObjectRelation { + if x != nil { + return x.Relations + } + return nil +} + +type GrpcOcelStateObjectRelation struct { + state protoimpl.MessageState `protogen:"open.v1"` + ObjectId string `protobuf:"bytes,1,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"` + RelatedObjectsIds []string `protobuf:"bytes,2,rep,name=related_objects_ids,json=relatedObjectsIds,proto3" json:"related_objects_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GrpcOcelStateObjectRelation) Reset() { + *x = GrpcOcelStateObjectRelation{} + mi := &file_pipelines_and_context_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GrpcOcelStateObjectRelation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GrpcOcelStateObjectRelation) ProtoMessage() {} + +func (x *GrpcOcelStateObjectRelation) ProtoReflect() protoreflect.Message { + mi := &file_pipelines_and_context_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GrpcOcelStateObjectRelation.ProtoReflect.Descriptor instead. +func (*GrpcOcelStateObjectRelation) Descriptor() ([]byte, []int) { + return file_pipelines_and_context_proto_rawDescGZIP(), []int{5} +} + +func (x *GrpcOcelStateObjectRelation) GetObjectId() string { + if x != nil { + return x.ObjectId + } + return "" +} + +func (x *GrpcOcelStateObjectRelation) GetRelatedObjectsIds() []string { + if x != nil { + return x.RelatedObjectsIds + } + return nil +} + type GrpcOcelState struct { state protoimpl.MessageState `protogen:"open.v1"` TypeStates []*GrpcOcelObjectTypeState `protobuf:"bytes,1,rep,name=type_states,json=typeStates,proto3" json:"type_states,omitempty"` @@ -887,7 +947,7 @@ type GrpcOcelState struct { func (x *GrpcOcelState) Reset() { *x = GrpcOcelState{} - mi := &file_pipelines_and_context_proto_msgTypes[5] + mi := &file_pipelines_and_context_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -899,7 +959,7 @@ func (x *GrpcOcelState) String() string { func (*GrpcOcelState) ProtoMessage() {} func (x *GrpcOcelState) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[5] + mi := &file_pipelines_and_context_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -912,7 +972,7 @@ func (x *GrpcOcelState) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcOcelState.ProtoReflect.Descriptor instead. func (*GrpcOcelState) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{5} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{6} } func (x *GrpcOcelState) GetTypeStates() []*GrpcOcelObjectTypeState { @@ -932,7 +992,7 @@ type GrpcOcelObjectTypeState struct { func (x *GrpcOcelObjectTypeState) Reset() { *x = GrpcOcelObjectTypeState{} - mi := &file_pipelines_and_context_proto_msgTypes[6] + mi := &file_pipelines_and_context_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -944,7 +1004,7 @@ func (x *GrpcOcelObjectTypeState) String() string { func (*GrpcOcelObjectTypeState) ProtoMessage() {} func (x *GrpcOcelObjectTypeState) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[6] + mi := &file_pipelines_and_context_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -957,7 +1017,7 @@ func (x *GrpcOcelObjectTypeState) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcOcelObjectTypeState.ProtoReflect.Descriptor instead. func (*GrpcOcelObjectTypeState) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{6} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{7} } func (x *GrpcOcelObjectTypeState) GetType() string { @@ -983,7 +1043,7 @@ type GrpcFloatArray struct { func (x *GrpcFloatArray) Reset() { *x = GrpcFloatArray{} - mi := &file_pipelines_and_context_proto_msgTypes[7] + mi := &file_pipelines_and_context_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -995,7 +1055,7 @@ func (x *GrpcFloatArray) String() string { func (*GrpcFloatArray) ProtoMessage() {} func (x *GrpcFloatArray) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[7] + mi := &file_pipelines_and_context_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1008,7 +1068,7 @@ func (x *GrpcFloatArray) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcFloatArray.ProtoReflect.Descriptor instead. func (*GrpcFloatArray) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{7} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{8} } func (x *GrpcFloatArray) GetItems() []float64 { @@ -1027,7 +1087,7 @@ type GrpcIntArray struct { func (x *GrpcIntArray) Reset() { *x = GrpcIntArray{} - mi := &file_pipelines_and_context_proto_msgTypes[8] + mi := &file_pipelines_and_context_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1039,7 +1099,7 @@ func (x *GrpcIntArray) String() string { func (*GrpcIntArray) ProtoMessage() {} func (x *GrpcIntArray) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[8] + mi := &file_pipelines_and_context_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1052,7 +1112,7 @@ func (x *GrpcIntArray) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcIntArray.ProtoReflect.Descriptor instead. func (*GrpcIntArray) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{8} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{9} } func (x *GrpcIntArray) GetItems() []int64 { @@ -1071,7 +1131,7 @@ type GrpcUintArray struct { func (x *GrpcUintArray) Reset() { *x = GrpcUintArray{} - mi := &file_pipelines_and_context_proto_msgTypes[9] + mi := &file_pipelines_and_context_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1083,7 +1143,7 @@ func (x *GrpcUintArray) String() string { func (*GrpcUintArray) ProtoMessage() {} func (x *GrpcUintArray) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[9] + mi := &file_pipelines_and_context_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1096,7 +1156,7 @@ func (x *GrpcUintArray) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcUintArray.ProtoReflect.Descriptor instead. func (*GrpcUintArray) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{9} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{10} } func (x *GrpcUintArray) GetItems() []uint64 { @@ -1116,7 +1176,7 @@ type GrpcContextKeyValue struct { func (x *GrpcContextKeyValue) Reset() { *x = GrpcContextKeyValue{} - mi := &file_pipelines_and_context_proto_msgTypes[10] + mi := &file_pipelines_and_context_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1128,7 +1188,7 @@ func (x *GrpcContextKeyValue) String() string { func (*GrpcContextKeyValue) ProtoMessage() {} func (x *GrpcContextKeyValue) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[10] + mi := &file_pipelines_and_context_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1141,7 +1201,7 @@ func (x *GrpcContextKeyValue) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcContextKeyValue.ProtoReflect.Descriptor instead. func (*GrpcContextKeyValue) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{10} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{11} } func (x *GrpcContextKeyValue) GetKey() *GrpcContextKey { @@ -1167,7 +1227,7 @@ type GrpcHashesEventLogContextValue struct { func (x *GrpcHashesEventLogContextValue) Reset() { *x = GrpcHashesEventLogContextValue{} - mi := &file_pipelines_and_context_proto_msgTypes[11] + mi := &file_pipelines_and_context_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1179,7 +1239,7 @@ func (x *GrpcHashesEventLogContextValue) String() string { func (*GrpcHashesEventLogContextValue) ProtoMessage() {} func (x *GrpcHashesEventLogContextValue) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[11] + mi := &file_pipelines_and_context_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1192,7 +1252,7 @@ func (x *GrpcHashesEventLogContextValue) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcHashesEventLogContextValue.ProtoReflect.Descriptor instead. func (*GrpcHashesEventLogContextValue) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{11} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{12} } func (x *GrpcHashesEventLogContextValue) GetLog() *GrpcHashesEventLog { @@ -1211,7 +1271,7 @@ type GrpcNamesEventLogContextValue struct { func (x *GrpcNamesEventLogContextValue) Reset() { *x = GrpcNamesEventLogContextValue{} - mi := &file_pipelines_and_context_proto_msgTypes[12] + mi := &file_pipelines_and_context_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1223,7 +1283,7 @@ func (x *GrpcNamesEventLogContextValue) String() string { func (*GrpcNamesEventLogContextValue) ProtoMessage() {} func (x *GrpcNamesEventLogContextValue) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[12] + mi := &file_pipelines_and_context_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1236,7 +1296,7 @@ func (x *GrpcNamesEventLogContextValue) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcNamesEventLogContextValue.ProtoReflect.Descriptor instead. func (*GrpcNamesEventLogContextValue) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{12} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{13} } func (x *GrpcNamesEventLogContextValue) GetLog() *GrpcNamesEventLog { @@ -1255,7 +1315,7 @@ type GrpcEventLogTraceSubArraysContextValue struct { func (x *GrpcEventLogTraceSubArraysContextValue) Reset() { *x = GrpcEventLogTraceSubArraysContextValue{} - mi := &file_pipelines_and_context_proto_msgTypes[13] + mi := &file_pipelines_and_context_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1267,7 +1327,7 @@ func (x *GrpcEventLogTraceSubArraysContextValue) String() string { func (*GrpcEventLogTraceSubArraysContextValue) ProtoMessage() {} func (x *GrpcEventLogTraceSubArraysContextValue) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[13] + mi := &file_pipelines_and_context_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1280,7 +1340,7 @@ func (x *GrpcEventLogTraceSubArraysContextValue) ProtoReflect() protoreflect.Mes // Deprecated: Use GrpcEventLogTraceSubArraysContextValue.ProtoReflect.Descriptor instead. func (*GrpcEventLogTraceSubArraysContextValue) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{13} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{14} } func (x *GrpcEventLogTraceSubArraysContextValue) GetTracesSubArrays() []*GrpcTraceSubArrays { @@ -1300,7 +1360,7 @@ type GrpcTraceSubArray struct { func (x *GrpcTraceSubArray) Reset() { *x = GrpcTraceSubArray{} - mi := &file_pipelines_and_context_proto_msgTypes[14] + mi := &file_pipelines_and_context_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1312,7 +1372,7 @@ func (x *GrpcTraceSubArray) String() string { func (*GrpcTraceSubArray) ProtoMessage() {} func (x *GrpcTraceSubArray) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[14] + mi := &file_pipelines_and_context_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1325,7 +1385,7 @@ func (x *GrpcTraceSubArray) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcTraceSubArray.ProtoReflect.Descriptor instead. func (*GrpcTraceSubArray) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{14} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{15} } func (x *GrpcTraceSubArray) GetStart() uint32 { @@ -1351,7 +1411,7 @@ type GrpcTraceSubArrays struct { func (x *GrpcTraceSubArrays) Reset() { *x = GrpcTraceSubArrays{} - mi := &file_pipelines_and_context_proto_msgTypes[15] + mi := &file_pipelines_and_context_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1363,7 +1423,7 @@ func (x *GrpcTraceSubArrays) String() string { func (*GrpcTraceSubArrays) ProtoMessage() {} func (x *GrpcTraceSubArrays) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[15] + mi := &file_pipelines_and_context_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1376,7 +1436,7 @@ func (x *GrpcTraceSubArrays) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcTraceSubArrays.ProtoReflect.Descriptor instead. func (*GrpcTraceSubArrays) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{15} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{16} } func (x *GrpcTraceSubArrays) GetSubArrays() []*GrpcTraceSubArray { @@ -1396,7 +1456,7 @@ type GrpcSubArrayWithTraceIndex struct { func (x *GrpcSubArrayWithTraceIndex) Reset() { *x = GrpcSubArrayWithTraceIndex{} - mi := &file_pipelines_and_context_proto_msgTypes[16] + mi := &file_pipelines_and_context_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1408,7 +1468,7 @@ func (x *GrpcSubArrayWithTraceIndex) String() string { func (*GrpcSubArrayWithTraceIndex) ProtoMessage() {} func (x *GrpcSubArrayWithTraceIndex) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[16] + mi := &file_pipelines_and_context_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1421,7 +1481,7 @@ func (x *GrpcSubArrayWithTraceIndex) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcSubArrayWithTraceIndex.ProtoReflect.Descriptor instead. func (*GrpcSubArrayWithTraceIndex) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{16} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{17} } func (x *GrpcSubArrayWithTraceIndex) GetSubArray() *GrpcTraceSubArray { @@ -1447,7 +1507,7 @@ type GrpcSubArraysWithTraceIndexContextValue struct { func (x *GrpcSubArraysWithTraceIndexContextValue) Reset() { *x = GrpcSubArraysWithTraceIndexContextValue{} - mi := &file_pipelines_and_context_proto_msgTypes[17] + mi := &file_pipelines_and_context_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1459,7 +1519,7 @@ func (x *GrpcSubArraysWithTraceIndexContextValue) String() string { func (*GrpcSubArraysWithTraceIndexContextValue) ProtoMessage() {} func (x *GrpcSubArraysWithTraceIndexContextValue) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[17] + mi := &file_pipelines_and_context_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1472,7 +1532,7 @@ func (x *GrpcSubArraysWithTraceIndexContextValue) ProtoReflect() protoreflect.Me // Deprecated: Use GrpcSubArraysWithTraceIndexContextValue.ProtoReflect.Descriptor instead. func (*GrpcSubArraysWithTraceIndexContextValue) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{17} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{18} } func (x *GrpcSubArraysWithTraceIndexContextValue) GetSubArrays() []*GrpcSubArrayWithTraceIndex { @@ -1493,7 +1553,7 @@ type GrpcColorsEventLog struct { func (x *GrpcColorsEventLog) Reset() { *x = GrpcColorsEventLog{} - mi := &file_pipelines_and_context_proto_msgTypes[18] + mi := &file_pipelines_and_context_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1505,7 +1565,7 @@ func (x *GrpcColorsEventLog) String() string { func (*GrpcColorsEventLog) ProtoMessage() {} func (x *GrpcColorsEventLog) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[18] + mi := &file_pipelines_and_context_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1518,7 +1578,7 @@ func (x *GrpcColorsEventLog) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcColorsEventLog.ProtoReflect.Descriptor instead. func (*GrpcColorsEventLog) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{18} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{19} } func (x *GrpcColorsEventLog) GetMapping() []*GrpcColorsEventLogMapping { @@ -1555,7 +1615,7 @@ type GrpcColorsLogAdjustment struct { func (x *GrpcColorsLogAdjustment) Reset() { *x = GrpcColorsLogAdjustment{} - mi := &file_pipelines_and_context_proto_msgTypes[19] + mi := &file_pipelines_and_context_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1567,7 +1627,7 @@ func (x *GrpcColorsLogAdjustment) String() string { func (*GrpcColorsLogAdjustment) ProtoMessage() {} func (x *GrpcColorsLogAdjustment) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[19] + mi := &file_pipelines_and_context_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1580,7 +1640,7 @@ func (x *GrpcColorsLogAdjustment) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcColorsLogAdjustment.ProtoReflect.Descriptor instead. func (*GrpcColorsLogAdjustment) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{19} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{20} } func (x *GrpcColorsLogAdjustment) GetSelection() isGrpcColorsLogAdjustment_Selection { @@ -1635,7 +1695,7 @@ type GrpcColorsLogRectangleAdjustment struct { func (x *GrpcColorsLogRectangleAdjustment) Reset() { *x = GrpcColorsLogRectangleAdjustment{} - mi := &file_pipelines_and_context_proto_msgTypes[20] + mi := &file_pipelines_and_context_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1647,7 +1707,7 @@ func (x *GrpcColorsLogRectangleAdjustment) String() string { func (*GrpcColorsLogRectangleAdjustment) ProtoMessage() {} func (x *GrpcColorsLogRectangleAdjustment) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[20] + mi := &file_pipelines_and_context_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1660,7 +1720,7 @@ func (x *GrpcColorsLogRectangleAdjustment) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcColorsLogRectangleAdjustment.ProtoReflect.Descriptor instead. func (*GrpcColorsLogRectangleAdjustment) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{20} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{21} } func (x *GrpcColorsLogRectangleAdjustment) GetUpLeftPoint() *GrpcLogPoint { @@ -1694,7 +1754,7 @@ type GrpcLogPoint struct { func (x *GrpcLogPoint) Reset() { *x = GrpcLogPoint{} - mi := &file_pipelines_and_context_proto_msgTypes[21] + mi := &file_pipelines_and_context_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1706,7 +1766,7 @@ func (x *GrpcLogPoint) String() string { func (*GrpcLogPoint) ProtoMessage() {} func (x *GrpcLogPoint) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[21] + mi := &file_pipelines_and_context_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1719,7 +1779,7 @@ func (x *GrpcLogPoint) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcLogPoint.ProtoReflect.Descriptor instead. func (*GrpcLogPoint) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{21} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{22} } func (x *GrpcLogPoint) GetTraceIndex() uint64 { @@ -1745,7 +1805,7 @@ type GrpcColorsLogXAxisAfterTraceAdjustment struct { func (x *GrpcColorsLogXAxisAfterTraceAdjustment) Reset() { *x = GrpcColorsLogXAxisAfterTraceAdjustment{} - mi := &file_pipelines_and_context_proto_msgTypes[22] + mi := &file_pipelines_and_context_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1757,7 +1817,7 @@ func (x *GrpcColorsLogXAxisAfterTraceAdjustment) String() string { func (*GrpcColorsLogXAxisAfterTraceAdjustment) ProtoMessage() {} func (x *GrpcColorsLogXAxisAfterTraceAdjustment) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[22] + mi := &file_pipelines_and_context_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1770,7 +1830,7 @@ func (x *GrpcColorsLogXAxisAfterTraceAdjustment) ProtoReflect() protoreflect.Mes // Deprecated: Use GrpcColorsLogXAxisAfterTraceAdjustment.ProtoReflect.Descriptor instead. func (*GrpcColorsLogXAxisAfterTraceAdjustment) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{22} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{23} } func (x *GrpcColorsLogXAxisAfterTraceAdjustment) GetTraceIndex() uint64 { @@ -1790,7 +1850,7 @@ type GrpcColorsEventLogMapping struct { func (x *GrpcColorsEventLogMapping) Reset() { *x = GrpcColorsEventLogMapping{} - mi := &file_pipelines_and_context_proto_msgTypes[23] + mi := &file_pipelines_and_context_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1802,7 +1862,7 @@ func (x *GrpcColorsEventLogMapping) String() string { func (*GrpcColorsEventLogMapping) ProtoMessage() {} func (x *GrpcColorsEventLogMapping) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[23] + mi := &file_pipelines_and_context_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1815,7 +1875,7 @@ func (x *GrpcColorsEventLogMapping) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcColorsEventLogMapping.ProtoReflect.Descriptor instead. func (*GrpcColorsEventLogMapping) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{23} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{24} } func (x *GrpcColorsEventLogMapping) GetName() string { @@ -1842,7 +1902,7 @@ type GrpcColorsTrace struct { func (x *GrpcColorsTrace) Reset() { *x = GrpcColorsTrace{} - mi := &file_pipelines_and_context_proto_msgTypes[24] + mi := &file_pipelines_and_context_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1854,7 +1914,7 @@ func (x *GrpcColorsTrace) String() string { func (*GrpcColorsTrace) ProtoMessage() {} func (x *GrpcColorsTrace) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[24] + mi := &file_pipelines_and_context_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1867,7 +1927,7 @@ func (x *GrpcColorsTrace) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcColorsTrace.ProtoReflect.Descriptor instead. func (*GrpcColorsTrace) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{24} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{25} } func (x *GrpcColorsTrace) GetEventColors() []*GrpcColoredRectangle { @@ -1895,7 +1955,7 @@ type GrpcColoredRectangle struct { func (x *GrpcColoredRectangle) Reset() { *x = GrpcColoredRectangle{} - mi := &file_pipelines_and_context_proto_msgTypes[25] + mi := &file_pipelines_and_context_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1907,7 +1967,7 @@ func (x *GrpcColoredRectangle) String() string { func (*GrpcColoredRectangle) ProtoMessage() {} func (x *GrpcColoredRectangle) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[25] + mi := &file_pipelines_and_context_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1920,7 +1980,7 @@ func (x *GrpcColoredRectangle) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcColoredRectangle.ProtoReflect.Descriptor instead. func (*GrpcColoredRectangle) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{25} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{26} } func (x *GrpcColoredRectangle) GetColorIndex() uint32 { @@ -1954,7 +2014,7 @@ type GrpcEnum struct { func (x *GrpcEnum) Reset() { *x = GrpcEnum{} - mi := &file_pipelines_and_context_proto_msgTypes[26] + mi := &file_pipelines_and_context_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1966,7 +2026,7 @@ func (x *GrpcEnum) String() string { func (*GrpcEnum) ProtoMessage() {} func (x *GrpcEnum) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[26] + mi := &file_pipelines_and_context_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1979,7 +2039,7 @@ func (x *GrpcEnum) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcEnum.ProtoReflect.Descriptor instead. func (*GrpcEnum) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{26} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{27} } func (x *GrpcEnum) GetEnumType() string { @@ -2007,7 +2067,7 @@ type GrpcEventLogInfo struct { func (x *GrpcEventLogInfo) Reset() { *x = GrpcEventLogInfo{} - mi := &file_pipelines_and_context_proto_msgTypes[27] + mi := &file_pipelines_and_context_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2019,7 +2079,7 @@ func (x *GrpcEventLogInfo) String() string { func (*GrpcEventLogInfo) ProtoMessage() {} func (x *GrpcEventLogInfo) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[27] + mi := &file_pipelines_and_context_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2032,7 +2092,7 @@ func (x *GrpcEventLogInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcEventLogInfo.ProtoReflect.Descriptor instead. func (*GrpcEventLogInfo) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{27} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{28} } func (x *GrpcEventLogInfo) GetEventsCount() uint32 { @@ -2065,7 +2125,7 @@ type GrpcStrings struct { func (x *GrpcStrings) Reset() { *x = GrpcStrings{} - mi := &file_pipelines_and_context_proto_msgTypes[28] + mi := &file_pipelines_and_context_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2077,7 +2137,7 @@ func (x *GrpcStrings) String() string { func (*GrpcStrings) ProtoMessage() {} func (x *GrpcStrings) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[28] + mi := &file_pipelines_and_context_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2090,7 +2150,7 @@ func (x *GrpcStrings) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcStrings.ProtoReflect.Descriptor instead. func (*GrpcStrings) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{28} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{29} } func (x *GrpcStrings) GetStrings() []string { @@ -2109,7 +2169,7 @@ type GrpcPipeline struct { func (x *GrpcPipeline) Reset() { *x = GrpcPipeline{} - mi := &file_pipelines_and_context_proto_msgTypes[29] + mi := &file_pipelines_and_context_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2121,7 +2181,7 @@ func (x *GrpcPipeline) String() string { func (*GrpcPipeline) ProtoMessage() {} func (x *GrpcPipeline) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[29] + mi := &file_pipelines_and_context_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2134,7 +2194,7 @@ func (x *GrpcPipeline) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcPipeline.ProtoReflect.Descriptor instead. func (*GrpcPipeline) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{29} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{30} } func (x *GrpcPipeline) GetParts() []*GrpcPipelinePartBase { @@ -2159,7 +2219,7 @@ type GrpcPipelinePartBase struct { func (x *GrpcPipelinePartBase) Reset() { *x = GrpcPipelinePartBase{} - mi := &file_pipelines_and_context_proto_msgTypes[30] + mi := &file_pipelines_and_context_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2171,7 +2231,7 @@ func (x *GrpcPipelinePartBase) String() string { func (*GrpcPipelinePartBase) ProtoMessage() {} func (x *GrpcPipelinePartBase) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[30] + mi := &file_pipelines_and_context_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2184,7 +2244,7 @@ func (x *GrpcPipelinePartBase) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcPipelinePartBase.ProtoReflect.Descriptor instead. func (*GrpcPipelinePartBase) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{30} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{31} } func (x *GrpcPipelinePartBase) GetPart() isGrpcPipelinePartBase_Part { @@ -2268,7 +2328,7 @@ type GrpcPipelinePart struct { func (x *GrpcPipelinePart) Reset() { *x = GrpcPipelinePart{} - mi := &file_pipelines_and_context_proto_msgTypes[31] + mi := &file_pipelines_and_context_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2280,7 +2340,7 @@ func (x *GrpcPipelinePart) String() string { func (*GrpcPipelinePart) ProtoMessage() {} func (x *GrpcPipelinePart) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[31] + mi := &file_pipelines_and_context_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2293,7 +2353,7 @@ func (x *GrpcPipelinePart) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcPipelinePart.ProtoReflect.Descriptor instead. func (*GrpcPipelinePart) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{31} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{32} } func (x *GrpcPipelinePart) GetName() string { @@ -2319,7 +2379,7 @@ type GrpcPipelinePartConfiguration struct { func (x *GrpcPipelinePartConfiguration) Reset() { *x = GrpcPipelinePartConfiguration{} - mi := &file_pipelines_and_context_proto_msgTypes[32] + mi := &file_pipelines_and_context_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2331,7 +2391,7 @@ func (x *GrpcPipelinePartConfiguration) String() string { func (*GrpcPipelinePartConfiguration) ProtoMessage() {} func (x *GrpcPipelinePartConfiguration) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[32] + mi := &file_pipelines_and_context_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2344,7 +2404,7 @@ func (x *GrpcPipelinePartConfiguration) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcPipelinePartConfiguration.ProtoReflect.Descriptor instead. func (*GrpcPipelinePartConfiguration) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{32} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{33} } func (x *GrpcPipelinePartConfiguration) GetConfigurationParameters() []*GrpcContextKeyValue { @@ -2363,7 +2423,7 @@ type GrpcParallelPipelinePart struct { func (x *GrpcParallelPipelinePart) Reset() { *x = GrpcParallelPipelinePart{} - mi := &file_pipelines_and_context_proto_msgTypes[33] + mi := &file_pipelines_and_context_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2375,7 +2435,7 @@ func (x *GrpcParallelPipelinePart) String() string { func (*GrpcParallelPipelinePart) ProtoMessage() {} func (x *GrpcParallelPipelinePart) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[33] + mi := &file_pipelines_and_context_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2388,7 +2448,7 @@ func (x *GrpcParallelPipelinePart) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcParallelPipelinePart.ProtoReflect.Descriptor instead. func (*GrpcParallelPipelinePart) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{33} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{34} } func (x *GrpcParallelPipelinePart) GetPipelineParts() []*GrpcPipelinePartBase { @@ -2407,7 +2467,7 @@ type GrpcParallelPipelineParts struct { func (x *GrpcParallelPipelineParts) Reset() { *x = GrpcParallelPipelineParts{} - mi := &file_pipelines_and_context_proto_msgTypes[34] + mi := &file_pipelines_and_context_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2419,7 +2479,7 @@ func (x *GrpcParallelPipelineParts) String() string { func (*GrpcParallelPipelineParts) ProtoMessage() {} func (x *GrpcParallelPipelineParts) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[34] + mi := &file_pipelines_and_context_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2432,7 +2492,7 @@ func (x *GrpcParallelPipelineParts) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcParallelPipelineParts.ProtoReflect.Descriptor instead. func (*GrpcParallelPipelineParts) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{34} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{35} } func (x *GrpcParallelPipelineParts) GetPipeline() []*GrpcParallelPipelinePart { @@ -2453,7 +2513,7 @@ type GrpcSimpleContextRequestPipelinePart struct { func (x *GrpcSimpleContextRequestPipelinePart) Reset() { *x = GrpcSimpleContextRequestPipelinePart{} - mi := &file_pipelines_and_context_proto_msgTypes[35] + mi := &file_pipelines_and_context_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2465,7 +2525,7 @@ func (x *GrpcSimpleContextRequestPipelinePart) String() string { func (*GrpcSimpleContextRequestPipelinePart) ProtoMessage() {} func (x *GrpcSimpleContextRequestPipelinePart) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[35] + mi := &file_pipelines_and_context_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2478,7 +2538,7 @@ func (x *GrpcSimpleContextRequestPipelinePart) ProtoReflect() protoreflect.Messa // Deprecated: Use GrpcSimpleContextRequestPipelinePart.ProtoReflect.Descriptor instead. func (*GrpcSimpleContextRequestPipelinePart) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{35} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{36} } func (x *GrpcSimpleContextRequestPipelinePart) GetKey() *GrpcContextKey { @@ -2514,7 +2574,7 @@ type GrpcComplexContextRequestPipelinePart struct { func (x *GrpcComplexContextRequestPipelinePart) Reset() { *x = GrpcComplexContextRequestPipelinePart{} - mi := &file_pipelines_and_context_proto_msgTypes[36] + mi := &file_pipelines_and_context_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2526,7 +2586,7 @@ func (x *GrpcComplexContextRequestPipelinePart) String() string { func (*GrpcComplexContextRequestPipelinePart) ProtoMessage() {} func (x *GrpcComplexContextRequestPipelinePart) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[36] + mi := &file_pipelines_and_context_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2539,7 +2599,7 @@ func (x *GrpcComplexContextRequestPipelinePart) ProtoReflect() protoreflect.Mess // Deprecated: Use GrpcComplexContextRequestPipelinePart.ProtoReflect.Descriptor instead. func (*GrpcComplexContextRequestPipelinePart) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{36} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{37} } func (x *GrpcComplexContextRequestPipelinePart) GetKeys() []*GrpcContextKey { @@ -2581,7 +2641,7 @@ type GrpcGraph struct { func (x *GrpcGraph) Reset() { *x = GrpcGraph{} - mi := &file_pipelines_and_context_proto_msgTypes[37] + mi := &file_pipelines_and_context_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2593,7 +2653,7 @@ func (x *GrpcGraph) String() string { func (*GrpcGraph) ProtoMessage() {} func (x *GrpcGraph) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[37] + mi := &file_pipelines_and_context_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2606,7 +2666,7 @@ func (x *GrpcGraph) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGraph.ProtoReflect.Descriptor instead. func (*GrpcGraph) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{37} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{38} } func (x *GrpcGraph) GetNodes() []*GrpcGraphNode { @@ -2642,7 +2702,7 @@ type GrpcGraphNode struct { func (x *GrpcGraphNode) Reset() { *x = GrpcGraphNode{} - mi := &file_pipelines_and_context_proto_msgTypes[38] + mi := &file_pipelines_and_context_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2654,7 +2714,7 @@ func (x *GrpcGraphNode) String() string { func (*GrpcGraphNode) ProtoMessage() {} func (x *GrpcGraphNode) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[38] + mi := &file_pipelines_and_context_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2667,7 +2727,7 @@ func (x *GrpcGraphNode) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGraphNode.ProtoReflect.Descriptor instead. func (*GrpcGraphNode) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{38} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{39} } func (x *GrpcGraphNode) GetId() uint64 { @@ -2717,7 +2777,7 @@ type GrpcNodeAdditionalData struct { func (x *GrpcNodeAdditionalData) Reset() { *x = GrpcNodeAdditionalData{} - mi := &file_pipelines_and_context_proto_msgTypes[39] + mi := &file_pipelines_and_context_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2729,7 +2789,7 @@ func (x *GrpcNodeAdditionalData) String() string { func (*GrpcNodeAdditionalData) ProtoMessage() {} func (x *GrpcNodeAdditionalData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[39] + mi := &file_pipelines_and_context_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2742,7 +2802,7 @@ func (x *GrpcNodeAdditionalData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcNodeAdditionalData.ProtoReflect.Descriptor instead. func (*GrpcNodeAdditionalData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{39} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{40} } func (x *GrpcNodeAdditionalData) GetData() isGrpcNodeAdditionalData_Data { @@ -2862,7 +2922,7 @@ type GrpcMultithreadedFragment struct { func (x *GrpcMultithreadedFragment) Reset() { *x = GrpcMultithreadedFragment{} - mi := &file_pipelines_and_context_proto_msgTypes[40] + mi := &file_pipelines_and_context_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2874,7 +2934,7 @@ func (x *GrpcMultithreadedFragment) String() string { func (*GrpcMultithreadedFragment) ProtoMessage() {} func (x *GrpcMultithreadedFragment) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[40] + mi := &file_pipelines_and_context_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2887,7 +2947,7 @@ func (x *GrpcMultithreadedFragment) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcMultithreadedFragment.ProtoReflect.Descriptor instead. func (*GrpcMultithreadedFragment) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{40} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{41} } func (x *GrpcMultithreadedFragment) GetMultithreadedLog() *GrpcSimpleEventLog { @@ -2907,7 +2967,7 @@ type GrpcActivityStartEndData struct { func (x *GrpcActivityStartEndData) Reset() { *x = GrpcActivityStartEndData{} - mi := &file_pipelines_and_context_proto_msgTypes[41] + mi := &file_pipelines_and_context_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2919,7 +2979,7 @@ func (x *GrpcActivityStartEndData) String() string { func (*GrpcActivityStartEndData) ProtoMessage() {} func (x *GrpcActivityStartEndData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[41] + mi := &file_pipelines_and_context_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2932,7 +2992,7 @@ func (x *GrpcActivityStartEndData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcActivityStartEndData.ProtoReflect.Descriptor instead. func (*GrpcActivityStartEndData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{41} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{42} } func (x *GrpcActivityStartEndData) GetStartTime() int64 { @@ -2959,7 +3019,7 @@ type GrpcEventCoordinates struct { func (x *GrpcEventCoordinates) Reset() { *x = GrpcEventCoordinates{} - mi := &file_pipelines_and_context_proto_msgTypes[42] + mi := &file_pipelines_and_context_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2971,7 +3031,7 @@ func (x *GrpcEventCoordinates) String() string { func (*GrpcEventCoordinates) ProtoMessage() {} func (x *GrpcEventCoordinates) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[42] + mi := &file_pipelines_and_context_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2984,7 +3044,7 @@ func (x *GrpcEventCoordinates) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcEventCoordinates.ProtoReflect.Descriptor instead. func (*GrpcEventCoordinates) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{42} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{43} } func (x *GrpcEventCoordinates) GetTraceId() uint64 { @@ -3010,7 +3070,7 @@ type GrpcNodeCorrespondingTraceData struct { func (x *GrpcNodeCorrespondingTraceData) Reset() { *x = GrpcNodeCorrespondingTraceData{} - mi := &file_pipelines_and_context_proto_msgTypes[43] + mi := &file_pipelines_and_context_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3022,7 +3082,7 @@ func (x *GrpcNodeCorrespondingTraceData) String() string { func (*GrpcNodeCorrespondingTraceData) ProtoMessage() {} func (x *GrpcNodeCorrespondingTraceData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[43] + mi := &file_pipelines_and_context_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3035,7 +3095,7 @@ func (x *GrpcNodeCorrespondingTraceData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcNodeCorrespondingTraceData.ProtoReflect.Descriptor instead. func (*GrpcNodeCorrespondingTraceData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{43} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{44} } func (x *GrpcNodeCorrespondingTraceData) GetBelongsToRootSequence() bool { @@ -3059,7 +3119,7 @@ type GrpcSoftwareData struct { func (x *GrpcSoftwareData) Reset() { *x = GrpcSoftwareData{} - mi := &file_pipelines_and_context_proto_msgTypes[44] + mi := &file_pipelines_and_context_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3071,7 +3131,7 @@ func (x *GrpcSoftwareData) String() string { func (*GrpcSoftwareData) ProtoMessage() {} func (x *GrpcSoftwareData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[44] + mi := &file_pipelines_and_context_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3084,7 +3144,7 @@ func (x *GrpcSoftwareData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcSoftwareData.ProtoReflect.Descriptor instead. func (*GrpcSoftwareData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{44} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{45} } func (x *GrpcSoftwareData) GetHistogram() []*GrpcHistogramEntry { @@ -3138,7 +3198,7 @@ type GrpcOcelObjectTypeData struct { func (x *GrpcOcelObjectTypeData) Reset() { *x = GrpcOcelObjectTypeData{} - mi := &file_pipelines_and_context_proto_msgTypes[45] + mi := &file_pipelines_and_context_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3150,7 +3210,7 @@ func (x *GrpcOcelObjectTypeData) String() string { func (*GrpcOcelObjectTypeData) ProtoMessage() {} func (x *GrpcOcelObjectTypeData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[45] + mi := &file_pipelines_and_context_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3163,7 +3223,7 @@ func (x *GrpcOcelObjectTypeData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcOcelObjectTypeData.ProtoReflect.Descriptor instead. func (*GrpcOcelObjectTypeData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{45} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{46} } func (x *GrpcOcelObjectTypeData) GetType() string { @@ -3183,7 +3243,7 @@ type GrpcOcelAllocateMerge struct { func (x *GrpcOcelAllocateMerge) Reset() { *x = GrpcOcelAllocateMerge{} - mi := &file_pipelines_and_context_proto_msgTypes[46] + mi := &file_pipelines_and_context_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3195,7 +3255,7 @@ func (x *GrpcOcelAllocateMerge) String() string { func (*GrpcOcelAllocateMerge) ProtoMessage() {} func (x *GrpcOcelAllocateMerge) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[46] + mi := &file_pipelines_and_context_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3208,7 +3268,7 @@ func (x *GrpcOcelAllocateMerge) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcOcelAllocateMerge.ProtoReflect.Descriptor instead. func (*GrpcOcelAllocateMerge) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{46} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{47} } func (x *GrpcOcelAllocateMerge) GetType() string { @@ -3235,7 +3295,7 @@ type GrpcOcelProducedObject struct { func (x *GrpcOcelProducedObject) Reset() { *x = GrpcOcelProducedObject{} - mi := &file_pipelines_and_context_proto_msgTypes[47] + mi := &file_pipelines_and_context_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3247,7 +3307,7 @@ func (x *GrpcOcelProducedObject) String() string { func (*GrpcOcelProducedObject) ProtoMessage() {} func (x *GrpcOcelProducedObject) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[47] + mi := &file_pipelines_and_context_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3260,7 +3320,7 @@ func (x *GrpcOcelProducedObject) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcOcelProducedObject.ProtoReflect.Descriptor instead. func (*GrpcOcelProducedObject) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{47} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{48} } func (x *GrpcOcelProducedObject) GetId() string { @@ -3286,7 +3346,7 @@ type GrpcOcelConsumeProduce struct { func (x *GrpcOcelConsumeProduce) Reset() { *x = GrpcOcelConsumeProduce{} - mi := &file_pipelines_and_context_proto_msgTypes[48] + mi := &file_pipelines_and_context_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3298,7 +3358,7 @@ func (x *GrpcOcelConsumeProduce) String() string { func (*GrpcOcelConsumeProduce) ProtoMessage() {} func (x *GrpcOcelConsumeProduce) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[48] + mi := &file_pipelines_and_context_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3311,7 +3371,7 @@ func (x *GrpcOcelConsumeProduce) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcOcelConsumeProduce.ProtoReflect.Descriptor instead. func (*GrpcOcelConsumeProduce) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{48} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{49} } func (x *GrpcOcelConsumeProduce) GetProducedObjects() []*GrpcOcelProducedObject { @@ -3337,7 +3397,7 @@ type GrpcOcelData struct { func (x *GrpcOcelData) Reset() { *x = GrpcOcelData{} - mi := &file_pipelines_and_context_proto_msgTypes[49] + mi := &file_pipelines_and_context_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3349,7 +3409,7 @@ func (x *GrpcOcelData) String() string { func (*GrpcOcelData) ProtoMessage() {} func (x *GrpcOcelData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[49] + mi := &file_pipelines_and_context_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3362,7 +3422,7 @@ func (x *GrpcOcelData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcOcelData.ProtoReflect.Descriptor instead. func (*GrpcOcelData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{49} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{50} } func (x *GrpcOcelData) GetObjectId() string { @@ -3454,7 +3514,7 @@ type GrpcActivityDurationData struct { func (x *GrpcActivityDurationData) Reset() { *x = GrpcActivityDurationData{} - mi := &file_pipelines_and_context_proto_msgTypes[50] + mi := &file_pipelines_and_context_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3466,7 +3526,7 @@ func (x *GrpcActivityDurationData) String() string { func (*GrpcActivityDurationData) ProtoMessage() {} func (x *GrpcActivityDurationData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[50] + mi := &file_pipelines_and_context_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3479,7 +3539,7 @@ func (x *GrpcActivityDurationData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcActivityDurationData.ProtoReflect.Descriptor instead. func (*GrpcActivityDurationData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{50} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{51} } func (x *GrpcActivityDurationData) GetBase() *GrpcGenericEnhancementBase { @@ -3514,7 +3574,7 @@ type GrpcGenericEnhancementBase struct { func (x *GrpcGenericEnhancementBase) Reset() { *x = GrpcGenericEnhancementBase{} - mi := &file_pipelines_and_context_proto_msgTypes[51] + mi := &file_pipelines_and_context_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3526,7 +3586,7 @@ func (x *GrpcGenericEnhancementBase) String() string { func (*GrpcGenericEnhancementBase) ProtoMessage() {} func (x *GrpcGenericEnhancementBase) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[51] + mi := &file_pipelines_and_context_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3539,7 +3599,7 @@ func (x *GrpcGenericEnhancementBase) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGenericEnhancementBase.ProtoReflect.Descriptor instead. func (*GrpcGenericEnhancementBase) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{51} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{52} } func (x *GrpcGenericEnhancementBase) GetName() string { @@ -3573,7 +3633,7 @@ type GrpcGeneralHistogramData struct { func (x *GrpcGeneralHistogramData) Reset() { *x = GrpcGeneralHistogramData{} - mi := &file_pipelines_and_context_proto_msgTypes[52] + mi := &file_pipelines_and_context_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3585,7 +3645,7 @@ func (x *GrpcGeneralHistogramData) String() string { func (*GrpcGeneralHistogramData) ProtoMessage() {} func (x *GrpcGeneralHistogramData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[52] + mi := &file_pipelines_and_context_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3598,7 +3658,7 @@ func (x *GrpcGeneralHistogramData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGeneralHistogramData.ProtoReflect.Descriptor instead. func (*GrpcGeneralHistogramData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{52} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{53} } func (x *GrpcGeneralHistogramData) GetBase() *GrpcGenericEnhancementBase { @@ -3625,7 +3685,7 @@ type GrpcSimpleCounterData struct { func (x *GrpcSimpleCounterData) Reset() { *x = GrpcSimpleCounterData{} - mi := &file_pipelines_and_context_proto_msgTypes[53] + mi := &file_pipelines_and_context_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3637,7 +3697,7 @@ func (x *GrpcSimpleCounterData) String() string { func (*GrpcSimpleCounterData) ProtoMessage() {} func (x *GrpcSimpleCounterData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[53] + mi := &file_pipelines_and_context_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3650,7 +3710,7 @@ func (x *GrpcSimpleCounterData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcSimpleCounterData.ProtoReflect.Descriptor instead. func (*GrpcSimpleCounterData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{53} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{54} } func (x *GrpcSimpleCounterData) GetBase() *GrpcGenericEnhancementBase { @@ -3677,7 +3737,7 @@ type GrpcMethodInliningInfo struct { func (x *GrpcMethodInliningInfo) Reset() { *x = GrpcMethodInliningInfo{} - mi := &file_pipelines_and_context_proto_msgTypes[54] + mi := &file_pipelines_and_context_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3689,7 +3749,7 @@ func (x *GrpcMethodInliningInfo) String() string { func (*GrpcMethodInliningInfo) ProtoMessage() {} func (x *GrpcMethodInliningInfo) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[54] + mi := &file_pipelines_and_context_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3702,7 +3762,7 @@ func (x *GrpcMethodInliningInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcMethodInliningInfo.ProtoReflect.Descriptor instead. func (*GrpcMethodInliningInfo) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{54} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{55} } func (x *GrpcMethodInliningInfo) GetInlineeInfo() *GrpcMethodNameParts { @@ -3730,7 +3790,7 @@ type GrpcMethodNameParts struct { func (x *GrpcMethodNameParts) Reset() { *x = GrpcMethodNameParts{} - mi := &file_pipelines_and_context_proto_msgTypes[55] + mi := &file_pipelines_and_context_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3742,7 +3802,7 @@ func (x *GrpcMethodNameParts) String() string { func (*GrpcMethodNameParts) ProtoMessage() {} func (x *GrpcMethodNameParts) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[55] + mi := &file_pipelines_and_context_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3755,7 +3815,7 @@ func (x *GrpcMethodNameParts) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcMethodNameParts.ProtoReflect.Descriptor instead. func (*GrpcMethodNameParts) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{55} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{56} } func (x *GrpcMethodNameParts) GetName() string { @@ -3789,7 +3849,7 @@ type GrpcHistogramEntry struct { func (x *GrpcHistogramEntry) Reset() { *x = GrpcHistogramEntry{} - mi := &file_pipelines_and_context_proto_msgTypes[56] + mi := &file_pipelines_and_context_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3801,7 +3861,7 @@ func (x *GrpcHistogramEntry) String() string { func (*GrpcHistogramEntry) ProtoMessage() {} func (x *GrpcHistogramEntry) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[56] + mi := &file_pipelines_and_context_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3814,7 +3874,7 @@ func (x *GrpcHistogramEntry) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcHistogramEntry.ProtoReflect.Descriptor instead. func (*GrpcHistogramEntry) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{56} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{57} } func (x *GrpcHistogramEntry) GetName() string { @@ -3840,7 +3900,7 @@ type GrpcTimelineDiagramFragment struct { func (x *GrpcTimelineDiagramFragment) Reset() { *x = GrpcTimelineDiagramFragment{} - mi := &file_pipelines_and_context_proto_msgTypes[57] + mi := &file_pipelines_and_context_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3852,7 +3912,7 @@ func (x *GrpcTimelineDiagramFragment) String() string { func (*GrpcTimelineDiagramFragment) ProtoMessage() {} func (x *GrpcTimelineDiagramFragment) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[57] + mi := &file_pipelines_and_context_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3865,7 +3925,7 @@ func (x *GrpcTimelineDiagramFragment) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcTimelineDiagramFragment.ProtoReflect.Descriptor instead. func (*GrpcTimelineDiagramFragment) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{57} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{58} } func (x *GrpcTimelineDiagramFragment) GetThreads() []*GrpcThread { @@ -3886,7 +3946,7 @@ type GrpcAllocationInfo struct { func (x *GrpcAllocationInfo) Reset() { *x = GrpcAllocationInfo{} - mi := &file_pipelines_and_context_proto_msgTypes[58] + mi := &file_pipelines_and_context_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3898,7 +3958,7 @@ func (x *GrpcAllocationInfo) String() string { func (*GrpcAllocationInfo) ProtoMessage() {} func (x *GrpcAllocationInfo) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[58] + mi := &file_pipelines_and_context_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3911,7 +3971,7 @@ func (x *GrpcAllocationInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcAllocationInfo.ProtoReflect.Descriptor instead. func (*GrpcAllocationInfo) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{58} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{59} } func (x *GrpcAllocationInfo) GetTypeName() string { @@ -3946,7 +4006,7 @@ type GrpcUnderlyingPatternInfo struct { func (x *GrpcUnderlyingPatternInfo) Reset() { *x = GrpcUnderlyingPatternInfo{} - mi := &file_pipelines_and_context_proto_msgTypes[59] + mi := &file_pipelines_and_context_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3958,7 +4018,7 @@ func (x *GrpcUnderlyingPatternInfo) String() string { func (*GrpcUnderlyingPatternInfo) ProtoMessage() {} func (x *GrpcUnderlyingPatternInfo) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[59] + mi := &file_pipelines_and_context_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3971,7 +4031,7 @@ func (x *GrpcUnderlyingPatternInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcUnderlyingPatternInfo.ProtoReflect.Descriptor instead. func (*GrpcUnderlyingPatternInfo) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{59} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{60} } func (x *GrpcUnderlyingPatternInfo) GetPatternKind() GrpcUnderlyingPatternKind { @@ -4009,7 +4069,7 @@ type GrpcGraphEdge struct { func (x *GrpcGraphEdge) Reset() { *x = GrpcGraphEdge{} - mi := &file_pipelines_and_context_proto_msgTypes[60] + mi := &file_pipelines_and_context_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4021,7 +4081,7 @@ func (x *GrpcGraphEdge) String() string { func (*GrpcGraphEdge) ProtoMessage() {} func (x *GrpcGraphEdge) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[60] + mi := &file_pipelines_and_context_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4034,7 +4094,7 @@ func (x *GrpcGraphEdge) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGraphEdge.ProtoReflect.Descriptor instead. func (*GrpcGraphEdge) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{60} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{61} } func (x *GrpcGraphEdge) GetId() uint64 { @@ -4093,7 +4153,7 @@ type GrpcGraphEdgeAdditionalData struct { func (x *GrpcGraphEdgeAdditionalData) Reset() { *x = GrpcGraphEdgeAdditionalData{} - mi := &file_pipelines_and_context_proto_msgTypes[61] + mi := &file_pipelines_and_context_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4105,7 +4165,7 @@ func (x *GrpcGraphEdgeAdditionalData) String() string { func (*GrpcGraphEdgeAdditionalData) ProtoMessage() {} func (x *GrpcGraphEdgeAdditionalData) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[61] + mi := &file_pipelines_and_context_proto_msgTypes[62] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4118,7 +4178,7 @@ func (x *GrpcGraphEdgeAdditionalData) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcGraphEdgeAdditionalData.ProtoReflect.Descriptor instead. func (*GrpcGraphEdgeAdditionalData) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{61} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{62} } func (x *GrpcGraphEdgeAdditionalData) GetData() isGrpcGraphEdgeAdditionalData_Data { @@ -4186,7 +4246,7 @@ type GrpcEdgeExecutionInfo struct { func (x *GrpcEdgeExecutionInfo) Reset() { *x = GrpcEdgeExecutionInfo{} - mi := &file_pipelines_and_context_proto_msgTypes[62] + mi := &file_pipelines_and_context_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4198,7 +4258,7 @@ func (x *GrpcEdgeExecutionInfo) String() string { func (*GrpcEdgeExecutionInfo) ProtoMessage() {} func (x *GrpcEdgeExecutionInfo) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[62] + mi := &file_pipelines_and_context_proto_msgTypes[63] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4211,7 +4271,7 @@ func (x *GrpcEdgeExecutionInfo) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcEdgeExecutionInfo.ProtoReflect.Descriptor instead. func (*GrpcEdgeExecutionInfo) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{62} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{63} } func (x *GrpcEdgeExecutionInfo) GetTraceId() uint64 { @@ -4230,7 +4290,7 @@ type GrpcBytes struct { func (x *GrpcBytes) Reset() { *x = GrpcBytes{} - mi := &file_pipelines_and_context_proto_msgTypes[63] + mi := &file_pipelines_and_context_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4242,7 +4302,7 @@ func (x *GrpcBytes) String() string { func (*GrpcBytes) ProtoMessage() {} func (x *GrpcBytes) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[63] + mi := &file_pipelines_and_context_proto_msgTypes[64] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4255,7 +4315,7 @@ func (x *GrpcBytes) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcBytes.ProtoReflect.Descriptor instead. func (*GrpcBytes) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{63} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{64} } func (x *GrpcBytes) GetBytes() []byte { @@ -4274,7 +4334,7 @@ type GrpcLogTimelineDiagram struct { func (x *GrpcLogTimelineDiagram) Reset() { *x = GrpcLogTimelineDiagram{} - mi := &file_pipelines_and_context_proto_msgTypes[64] + mi := &file_pipelines_and_context_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4286,7 +4346,7 @@ func (x *GrpcLogTimelineDiagram) String() string { func (*GrpcLogTimelineDiagram) ProtoMessage() {} func (x *GrpcLogTimelineDiagram) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[64] + mi := &file_pipelines_and_context_proto_msgTypes[65] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4299,7 +4359,7 @@ func (x *GrpcLogTimelineDiagram) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcLogTimelineDiagram.ProtoReflect.Descriptor instead. func (*GrpcLogTimelineDiagram) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{64} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{65} } func (x *GrpcLogTimelineDiagram) GetTraces() []*GrpcTraceTimelineDiagram { @@ -4319,7 +4379,7 @@ type GrpcTimelineTraceEventsGroup struct { func (x *GrpcTimelineTraceEventsGroup) Reset() { *x = GrpcTimelineTraceEventsGroup{} - mi := &file_pipelines_and_context_proto_msgTypes[65] + mi := &file_pipelines_and_context_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4331,7 +4391,7 @@ func (x *GrpcTimelineTraceEventsGroup) String() string { func (*GrpcTimelineTraceEventsGroup) ProtoMessage() {} func (x *GrpcTimelineTraceEventsGroup) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[65] + mi := &file_pipelines_and_context_proto_msgTypes[66] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4344,7 +4404,7 @@ func (x *GrpcTimelineTraceEventsGroup) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcTimelineTraceEventsGroup.ProtoReflect.Descriptor instead. func (*GrpcTimelineTraceEventsGroup) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{65} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{66} } func (x *GrpcTimelineTraceEventsGroup) GetStartPoint() *GrpcLogPoint { @@ -4371,7 +4431,7 @@ type GrpcTraceTimelineDiagram struct { func (x *GrpcTraceTimelineDiagram) Reset() { *x = GrpcTraceTimelineDiagram{} - mi := &file_pipelines_and_context_proto_msgTypes[66] + mi := &file_pipelines_and_context_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4383,7 +4443,7 @@ func (x *GrpcTraceTimelineDiagram) String() string { func (*GrpcTraceTimelineDiagram) ProtoMessage() {} func (x *GrpcTraceTimelineDiagram) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[66] + mi := &file_pipelines_and_context_proto_msgTypes[67] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4396,7 +4456,7 @@ func (x *GrpcTraceTimelineDiagram) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcTraceTimelineDiagram.ProtoReflect.Descriptor instead. func (*GrpcTraceTimelineDiagram) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{66} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{67} } func (x *GrpcTraceTimelineDiagram) GetThreads() []*GrpcThread { @@ -4422,7 +4482,7 @@ type GrpcThread struct { func (x *GrpcThread) Reset() { *x = GrpcThread{} - mi := &file_pipelines_and_context_proto_msgTypes[67] + mi := &file_pipelines_and_context_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4434,7 +4494,7 @@ func (x *GrpcThread) String() string { func (*GrpcThread) ProtoMessage() {} func (x *GrpcThread) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[67] + mi := &file_pipelines_and_context_proto_msgTypes[68] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4447,7 +4507,7 @@ func (x *GrpcThread) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcThread.ProtoReflect.Descriptor instead. func (*GrpcThread) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{67} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{68} } func (x *GrpcThread) GetEvents() []*GrpcThreadEvent { @@ -4467,7 +4527,7 @@ type GrpcThreadEvent struct { func (x *GrpcThreadEvent) Reset() { *x = GrpcThreadEvent{} - mi := &file_pipelines_and_context_proto_msgTypes[68] + mi := &file_pipelines_and_context_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4479,7 +4539,7 @@ func (x *GrpcThreadEvent) String() string { func (*GrpcThreadEvent) ProtoMessage() {} func (x *GrpcThreadEvent) ProtoReflect() protoreflect.Message { - mi := &file_pipelines_and_context_proto_msgTypes[68] + mi := &file_pipelines_and_context_proto_msgTypes[69] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4492,7 +4552,7 @@ func (x *GrpcThreadEvent) ProtoReflect() protoreflect.Message { // Deprecated: Use GrpcThreadEvent.ProtoReflect.Descriptor instead. func (*GrpcThreadEvent) Descriptor() ([]byte, []int) { - return file_pipelines_and_context_proto_rawDescGZIP(), []int{68} + return file_pipelines_and_context_proto_rawDescGZIP(), []int{69} } func (x *GrpcThreadEvent) GetName() string { @@ -4557,14 +4617,18 @@ const file_pipelines_and_context_proto_rawDesc = "" + "\x0focel_annotation\x18\x1b \x01(\v2\x1e.ficus.GrpcOcelModelAnnotationH\x00R\x0eocelAnnotationB\x0e\n" + "\fcontextValue\"b\n" + "\x17GrpcOcelModelAnnotation\x12G\n" + - "\vannotations\x18\x01 \x03(\v2%.ficus.GrpcModelElementOcelAnnotationR\vannotations\"\xc8\x01\n" + + "\vannotations\x18\x01 \x03(\v2%.ficus.GrpcModelElementOcelAnnotationR\vannotations\"\x8a\x02\n" + "\x1eGrpcModelElementOcelAnnotation\x12\x1d\n" + "\n" + "element_id\x18\x01 \x01(\x04R\telementId\x12>\n" + "\rinitial_state\x18\x02 \x01(\v2\x14.ficus.GrpcOcelStateH\x00R\finitialState\x88\x01\x01\x125\n" + "\vfinal_state\x18\x03 \x01(\v2\x14.ficus.GrpcOcelStateR\n" + - "finalStateB\x10\n" + - "\x0e_initial_state\"P\n" + + "finalState\x12@\n" + + "\trelations\x18\x04 \x03(\v2\".ficus.GrpcOcelStateObjectRelationR\trelationsB\x10\n" + + "\x0e_initial_state\"j\n" + + "\x1bGrpcOcelStateObjectRelation\x12\x1b\n" + + "\tobject_id\x18\x01 \x01(\tR\bobjectId\x12.\n" + + "\x13related_objects_ids\x18\x02 \x03(\tR\x11relatedObjectsIds\"P\n" + "\rGrpcOcelState\x12?\n" + "\vtype_states\x18\x01 \x03(\v2\x1e.ficus.GrpcOcelObjectTypeStateR\n" + "typeStates\"L\n" + @@ -4830,7 +4894,7 @@ func file_pipelines_and_context_proto_rawDescGZIP() []byte { } var file_pipelines_and_context_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_pipelines_and_context_proto_msgTypes = make([]protoimpl.MessageInfo, 69) +var file_pipelines_and_context_proto_msgTypes = make([]protoimpl.MessageInfo, 70) var file_pipelines_and_context_proto_goTypes = []any{ (GrpcGraphKind)(0), // 0: ficus.GrpcGraphKind (GrpcDurationKind)(0), // 1: ficus.GrpcDurationKind @@ -4840,189 +4904,191 @@ var file_pipelines_and_context_proto_goTypes = []any{ (*GrpcContextValue)(nil), // 5: ficus.GrpcContextValue (*GrpcOcelModelAnnotation)(nil), // 6: ficus.GrpcOcelModelAnnotation (*GrpcModelElementOcelAnnotation)(nil), // 7: ficus.GrpcModelElementOcelAnnotation - (*GrpcOcelState)(nil), // 8: ficus.GrpcOcelState - (*GrpcOcelObjectTypeState)(nil), // 9: ficus.GrpcOcelObjectTypeState - (*GrpcFloatArray)(nil), // 10: ficus.GrpcFloatArray - (*GrpcIntArray)(nil), // 11: ficus.GrpcIntArray - (*GrpcUintArray)(nil), // 12: ficus.GrpcUintArray - (*GrpcContextKeyValue)(nil), // 13: ficus.GrpcContextKeyValue - (*GrpcHashesEventLogContextValue)(nil), // 14: ficus.GrpcHashesEventLogContextValue - (*GrpcNamesEventLogContextValue)(nil), // 15: ficus.GrpcNamesEventLogContextValue - (*GrpcEventLogTraceSubArraysContextValue)(nil), // 16: ficus.GrpcEventLogTraceSubArraysContextValue - (*GrpcTraceSubArray)(nil), // 17: ficus.GrpcTraceSubArray - (*GrpcTraceSubArrays)(nil), // 18: ficus.GrpcTraceSubArrays - (*GrpcSubArrayWithTraceIndex)(nil), // 19: ficus.GrpcSubArrayWithTraceIndex - (*GrpcSubArraysWithTraceIndexContextValue)(nil), // 20: ficus.GrpcSubArraysWithTraceIndexContextValue - (*GrpcColorsEventLog)(nil), // 21: ficus.GrpcColorsEventLog - (*GrpcColorsLogAdjustment)(nil), // 22: ficus.GrpcColorsLogAdjustment - (*GrpcColorsLogRectangleAdjustment)(nil), // 23: ficus.GrpcColorsLogRectangleAdjustment - (*GrpcLogPoint)(nil), // 24: ficus.GrpcLogPoint - (*GrpcColorsLogXAxisAfterTraceAdjustment)(nil), // 25: ficus.GrpcColorsLogXAxisAfterTraceAdjustment - (*GrpcColorsEventLogMapping)(nil), // 26: ficus.GrpcColorsEventLogMapping - (*GrpcColorsTrace)(nil), // 27: ficus.GrpcColorsTrace - (*GrpcColoredRectangle)(nil), // 28: ficus.GrpcColoredRectangle - (*GrpcEnum)(nil), // 29: ficus.GrpcEnum - (*GrpcEventLogInfo)(nil), // 30: ficus.GrpcEventLogInfo - (*GrpcStrings)(nil), // 31: ficus.GrpcStrings - (*GrpcPipeline)(nil), // 32: ficus.GrpcPipeline - (*GrpcPipelinePartBase)(nil), // 33: ficus.GrpcPipelinePartBase - (*GrpcPipelinePart)(nil), // 34: ficus.GrpcPipelinePart - (*GrpcPipelinePartConfiguration)(nil), // 35: ficus.GrpcPipelinePartConfiguration - (*GrpcParallelPipelinePart)(nil), // 36: ficus.GrpcParallelPipelinePart - (*GrpcParallelPipelineParts)(nil), // 37: ficus.GrpcParallelPipelineParts - (*GrpcSimpleContextRequestPipelinePart)(nil), // 38: ficus.GrpcSimpleContextRequestPipelinePart - (*GrpcComplexContextRequestPipelinePart)(nil), // 39: ficus.GrpcComplexContextRequestPipelinePart - (*GrpcGraph)(nil), // 40: ficus.GrpcGraph - (*GrpcGraphNode)(nil), // 41: ficus.GrpcGraphNode - (*GrpcNodeAdditionalData)(nil), // 42: ficus.GrpcNodeAdditionalData - (*GrpcMultithreadedFragment)(nil), // 43: ficus.GrpcMultithreadedFragment - (*GrpcActivityStartEndData)(nil), // 44: ficus.GrpcActivityStartEndData - (*GrpcEventCoordinates)(nil), // 45: ficus.GrpcEventCoordinates - (*GrpcNodeCorrespondingTraceData)(nil), // 46: ficus.GrpcNodeCorrespondingTraceData - (*GrpcSoftwareData)(nil), // 47: ficus.GrpcSoftwareData - (*GrpcOcelObjectTypeData)(nil), // 48: ficus.GrpcOcelObjectTypeData - (*GrpcOcelAllocateMerge)(nil), // 49: ficus.GrpcOcelAllocateMerge - (*GrpcOcelProducedObject)(nil), // 50: ficus.GrpcOcelProducedObject - (*GrpcOcelConsumeProduce)(nil), // 51: ficus.GrpcOcelConsumeProduce - (*GrpcOcelData)(nil), // 52: ficus.GrpcOcelData - (*GrpcActivityDurationData)(nil), // 53: ficus.GrpcActivityDurationData - (*GrpcGenericEnhancementBase)(nil), // 54: ficus.GrpcGenericEnhancementBase - (*GrpcGeneralHistogramData)(nil), // 55: ficus.GrpcGeneralHistogramData - (*GrpcSimpleCounterData)(nil), // 56: ficus.GrpcSimpleCounterData - (*GrpcMethodInliningInfo)(nil), // 57: ficus.GrpcMethodInliningInfo - (*GrpcMethodNameParts)(nil), // 58: ficus.GrpcMethodNameParts - (*GrpcHistogramEntry)(nil), // 59: ficus.GrpcHistogramEntry - (*GrpcTimelineDiagramFragment)(nil), // 60: ficus.GrpcTimelineDiagramFragment - (*GrpcAllocationInfo)(nil), // 61: ficus.GrpcAllocationInfo - (*GrpcUnderlyingPatternInfo)(nil), // 62: ficus.GrpcUnderlyingPatternInfo - (*GrpcGraphEdge)(nil), // 63: ficus.GrpcGraphEdge - (*GrpcGraphEdgeAdditionalData)(nil), // 64: ficus.GrpcGraphEdgeAdditionalData - (*GrpcEdgeExecutionInfo)(nil), // 65: ficus.GrpcEdgeExecutionInfo - (*GrpcBytes)(nil), // 66: ficus.GrpcBytes - (*GrpcLogTimelineDiagram)(nil), // 67: ficus.GrpcLogTimelineDiagram - (*GrpcTimelineTraceEventsGroup)(nil), // 68: ficus.GrpcTimelineTraceEventsGroup - (*GrpcTraceTimelineDiagram)(nil), // 69: ficus.GrpcTraceTimelineDiagram - (*GrpcThread)(nil), // 70: ficus.GrpcThread - (*GrpcThreadEvent)(nil), // 71: ficus.GrpcThreadEvent - (*GrpcPetriNet)(nil), // 72: ficus.GrpcPetriNet - (*GrpcAnnotation)(nil), // 73: ficus.GrpcAnnotation - (*GrpcDataset)(nil), // 74: ficus.GrpcDataset - (*GrpcLabeledDataset)(nil), // 75: ficus.GrpcLabeledDataset - (*GrpcSimpleEventLog)(nil), // 76: ficus.GrpcSimpleEventLog - (*GrpcHashesEventLog)(nil), // 77: ficus.GrpcHashesEventLog - (*GrpcNamesEventLog)(nil), // 78: ficus.GrpcNamesEventLog - (*GrpcColor)(nil), // 79: ficus.GrpcColor - (*GrpcGuid)(nil), // 80: ficus.GrpcGuid - (*emptypb.Empty)(nil), // 81: google.protobuf.Empty + (*GrpcOcelStateObjectRelation)(nil), // 8: ficus.GrpcOcelStateObjectRelation + (*GrpcOcelState)(nil), // 9: ficus.GrpcOcelState + (*GrpcOcelObjectTypeState)(nil), // 10: ficus.GrpcOcelObjectTypeState + (*GrpcFloatArray)(nil), // 11: ficus.GrpcFloatArray + (*GrpcIntArray)(nil), // 12: ficus.GrpcIntArray + (*GrpcUintArray)(nil), // 13: ficus.GrpcUintArray + (*GrpcContextKeyValue)(nil), // 14: ficus.GrpcContextKeyValue + (*GrpcHashesEventLogContextValue)(nil), // 15: ficus.GrpcHashesEventLogContextValue + (*GrpcNamesEventLogContextValue)(nil), // 16: ficus.GrpcNamesEventLogContextValue + (*GrpcEventLogTraceSubArraysContextValue)(nil), // 17: ficus.GrpcEventLogTraceSubArraysContextValue + (*GrpcTraceSubArray)(nil), // 18: ficus.GrpcTraceSubArray + (*GrpcTraceSubArrays)(nil), // 19: ficus.GrpcTraceSubArrays + (*GrpcSubArrayWithTraceIndex)(nil), // 20: ficus.GrpcSubArrayWithTraceIndex + (*GrpcSubArraysWithTraceIndexContextValue)(nil), // 21: ficus.GrpcSubArraysWithTraceIndexContextValue + (*GrpcColorsEventLog)(nil), // 22: ficus.GrpcColorsEventLog + (*GrpcColorsLogAdjustment)(nil), // 23: ficus.GrpcColorsLogAdjustment + (*GrpcColorsLogRectangleAdjustment)(nil), // 24: ficus.GrpcColorsLogRectangleAdjustment + (*GrpcLogPoint)(nil), // 25: ficus.GrpcLogPoint + (*GrpcColorsLogXAxisAfterTraceAdjustment)(nil), // 26: ficus.GrpcColorsLogXAxisAfterTraceAdjustment + (*GrpcColorsEventLogMapping)(nil), // 27: ficus.GrpcColorsEventLogMapping + (*GrpcColorsTrace)(nil), // 28: ficus.GrpcColorsTrace + (*GrpcColoredRectangle)(nil), // 29: ficus.GrpcColoredRectangle + (*GrpcEnum)(nil), // 30: ficus.GrpcEnum + (*GrpcEventLogInfo)(nil), // 31: ficus.GrpcEventLogInfo + (*GrpcStrings)(nil), // 32: ficus.GrpcStrings + (*GrpcPipeline)(nil), // 33: ficus.GrpcPipeline + (*GrpcPipelinePartBase)(nil), // 34: ficus.GrpcPipelinePartBase + (*GrpcPipelinePart)(nil), // 35: ficus.GrpcPipelinePart + (*GrpcPipelinePartConfiguration)(nil), // 36: ficus.GrpcPipelinePartConfiguration + (*GrpcParallelPipelinePart)(nil), // 37: ficus.GrpcParallelPipelinePart + (*GrpcParallelPipelineParts)(nil), // 38: ficus.GrpcParallelPipelineParts + (*GrpcSimpleContextRequestPipelinePart)(nil), // 39: ficus.GrpcSimpleContextRequestPipelinePart + (*GrpcComplexContextRequestPipelinePart)(nil), // 40: ficus.GrpcComplexContextRequestPipelinePart + (*GrpcGraph)(nil), // 41: ficus.GrpcGraph + (*GrpcGraphNode)(nil), // 42: ficus.GrpcGraphNode + (*GrpcNodeAdditionalData)(nil), // 43: ficus.GrpcNodeAdditionalData + (*GrpcMultithreadedFragment)(nil), // 44: ficus.GrpcMultithreadedFragment + (*GrpcActivityStartEndData)(nil), // 45: ficus.GrpcActivityStartEndData + (*GrpcEventCoordinates)(nil), // 46: ficus.GrpcEventCoordinates + (*GrpcNodeCorrespondingTraceData)(nil), // 47: ficus.GrpcNodeCorrespondingTraceData + (*GrpcSoftwareData)(nil), // 48: ficus.GrpcSoftwareData + (*GrpcOcelObjectTypeData)(nil), // 49: ficus.GrpcOcelObjectTypeData + (*GrpcOcelAllocateMerge)(nil), // 50: ficus.GrpcOcelAllocateMerge + (*GrpcOcelProducedObject)(nil), // 51: ficus.GrpcOcelProducedObject + (*GrpcOcelConsumeProduce)(nil), // 52: ficus.GrpcOcelConsumeProduce + (*GrpcOcelData)(nil), // 53: ficus.GrpcOcelData + (*GrpcActivityDurationData)(nil), // 54: ficus.GrpcActivityDurationData + (*GrpcGenericEnhancementBase)(nil), // 55: ficus.GrpcGenericEnhancementBase + (*GrpcGeneralHistogramData)(nil), // 56: ficus.GrpcGeneralHistogramData + (*GrpcSimpleCounterData)(nil), // 57: ficus.GrpcSimpleCounterData + (*GrpcMethodInliningInfo)(nil), // 58: ficus.GrpcMethodInliningInfo + (*GrpcMethodNameParts)(nil), // 59: ficus.GrpcMethodNameParts + (*GrpcHistogramEntry)(nil), // 60: ficus.GrpcHistogramEntry + (*GrpcTimelineDiagramFragment)(nil), // 61: ficus.GrpcTimelineDiagramFragment + (*GrpcAllocationInfo)(nil), // 62: ficus.GrpcAllocationInfo + (*GrpcUnderlyingPatternInfo)(nil), // 63: ficus.GrpcUnderlyingPatternInfo + (*GrpcGraphEdge)(nil), // 64: ficus.GrpcGraphEdge + (*GrpcGraphEdgeAdditionalData)(nil), // 65: ficus.GrpcGraphEdgeAdditionalData + (*GrpcEdgeExecutionInfo)(nil), // 66: ficus.GrpcEdgeExecutionInfo + (*GrpcBytes)(nil), // 67: ficus.GrpcBytes + (*GrpcLogTimelineDiagram)(nil), // 68: ficus.GrpcLogTimelineDiagram + (*GrpcTimelineTraceEventsGroup)(nil), // 69: ficus.GrpcTimelineTraceEventsGroup + (*GrpcTraceTimelineDiagram)(nil), // 70: ficus.GrpcTraceTimelineDiagram + (*GrpcThread)(nil), // 71: ficus.GrpcThread + (*GrpcThreadEvent)(nil), // 72: ficus.GrpcThreadEvent + (*GrpcPetriNet)(nil), // 73: ficus.GrpcPetriNet + (*GrpcAnnotation)(nil), // 74: ficus.GrpcAnnotation + (*GrpcDataset)(nil), // 75: ficus.GrpcDataset + (*GrpcLabeledDataset)(nil), // 76: ficus.GrpcLabeledDataset + (*GrpcSimpleEventLog)(nil), // 77: ficus.GrpcSimpleEventLog + (*GrpcHashesEventLog)(nil), // 78: ficus.GrpcHashesEventLog + (*GrpcNamesEventLog)(nil), // 79: ficus.GrpcNamesEventLog + (*GrpcColor)(nil), // 80: ficus.GrpcColor + (*GrpcGuid)(nil), // 81: ficus.GrpcGuid + (*emptypb.Empty)(nil), // 82: google.protobuf.Empty } var file_pipelines_and_context_proto_depIdxs = []int32{ 5, // 0: ficus.GrpcContextValueWithKeyName.value:type_name -> ficus.GrpcContextValue - 14, // 1: ficus.GrpcContextValue.hashes_log:type_name -> ficus.GrpcHashesEventLogContextValue - 15, // 2: ficus.GrpcContextValue.names_log:type_name -> ficus.GrpcNamesEventLogContextValue - 16, // 3: ficus.GrpcContextValue.traces_sub_arrays:type_name -> ficus.GrpcEventLogTraceSubArraysContextValue - 20, // 4: ficus.GrpcContextValue.trace_index_sub_arrays:type_name -> ficus.GrpcSubArraysWithTraceIndexContextValue - 15, // 5: ficus.GrpcContextValue.xes_event_log:type_name -> ficus.GrpcNamesEventLogContextValue - 21, // 6: ficus.GrpcContextValue.colors_log:type_name -> ficus.GrpcColorsEventLog - 29, // 7: ficus.GrpcContextValue.enum:type_name -> ficus.GrpcEnum - 30, // 8: ficus.GrpcContextValue.event_log_info:type_name -> ficus.GrpcEventLogInfo - 31, // 9: ficus.GrpcContextValue.strings:type_name -> ficus.GrpcStrings - 32, // 10: ficus.GrpcContextValue.pipeline:type_name -> ficus.GrpcPipeline - 72, // 11: ficus.GrpcContextValue.petriNet:type_name -> ficus.GrpcPetriNet - 40, // 12: ficus.GrpcContextValue.graph:type_name -> ficus.GrpcGraph - 73, // 13: ficus.GrpcContextValue.annotation:type_name -> ficus.GrpcAnnotation - 74, // 14: ficus.GrpcContextValue.dataset:type_name -> ficus.GrpcDataset - 75, // 15: ficus.GrpcContextValue.labeled_dataset:type_name -> ficus.GrpcLabeledDataset - 66, // 16: ficus.GrpcContextValue.bytes:type_name -> ficus.GrpcBytes - 67, // 17: ficus.GrpcContextValue.logTimelineDiagram:type_name -> ficus.GrpcLogTimelineDiagram - 10, // 18: ficus.GrpcContextValue.float_array:type_name -> ficus.GrpcFloatArray - 11, // 19: ficus.GrpcContextValue.int_array:type_name -> ficus.GrpcIntArray - 12, // 20: ficus.GrpcContextValue.uint_array:type_name -> ficus.GrpcUintArray - 76, // 21: ficus.GrpcContextValue.event_log:type_name -> ficus.GrpcSimpleEventLog + 15, // 1: ficus.GrpcContextValue.hashes_log:type_name -> ficus.GrpcHashesEventLogContextValue + 16, // 2: ficus.GrpcContextValue.names_log:type_name -> ficus.GrpcNamesEventLogContextValue + 17, // 3: ficus.GrpcContextValue.traces_sub_arrays:type_name -> ficus.GrpcEventLogTraceSubArraysContextValue + 21, // 4: ficus.GrpcContextValue.trace_index_sub_arrays:type_name -> ficus.GrpcSubArraysWithTraceIndexContextValue + 16, // 5: ficus.GrpcContextValue.xes_event_log:type_name -> ficus.GrpcNamesEventLogContextValue + 22, // 6: ficus.GrpcContextValue.colors_log:type_name -> ficus.GrpcColorsEventLog + 30, // 7: ficus.GrpcContextValue.enum:type_name -> ficus.GrpcEnum + 31, // 8: ficus.GrpcContextValue.event_log_info:type_name -> ficus.GrpcEventLogInfo + 32, // 9: ficus.GrpcContextValue.strings:type_name -> ficus.GrpcStrings + 33, // 10: ficus.GrpcContextValue.pipeline:type_name -> ficus.GrpcPipeline + 73, // 11: ficus.GrpcContextValue.petriNet:type_name -> ficus.GrpcPetriNet + 41, // 12: ficus.GrpcContextValue.graph:type_name -> ficus.GrpcGraph + 74, // 13: ficus.GrpcContextValue.annotation:type_name -> ficus.GrpcAnnotation + 75, // 14: ficus.GrpcContextValue.dataset:type_name -> ficus.GrpcDataset + 76, // 15: ficus.GrpcContextValue.labeled_dataset:type_name -> ficus.GrpcLabeledDataset + 67, // 16: ficus.GrpcContextValue.bytes:type_name -> ficus.GrpcBytes + 68, // 17: ficus.GrpcContextValue.logTimelineDiagram:type_name -> ficus.GrpcLogTimelineDiagram + 11, // 18: ficus.GrpcContextValue.float_array:type_name -> ficus.GrpcFloatArray + 12, // 19: ficus.GrpcContextValue.int_array:type_name -> ficus.GrpcIntArray + 13, // 20: ficus.GrpcContextValue.uint_array:type_name -> ficus.GrpcUintArray + 77, // 21: ficus.GrpcContextValue.event_log:type_name -> ficus.GrpcSimpleEventLog 6, // 22: ficus.GrpcContextValue.ocel_annotation:type_name -> ficus.GrpcOcelModelAnnotation 7, // 23: ficus.GrpcOcelModelAnnotation.annotations:type_name -> ficus.GrpcModelElementOcelAnnotation - 8, // 24: ficus.GrpcModelElementOcelAnnotation.initial_state:type_name -> ficus.GrpcOcelState - 8, // 25: ficus.GrpcModelElementOcelAnnotation.final_state:type_name -> ficus.GrpcOcelState - 9, // 26: ficus.GrpcOcelState.type_states:type_name -> ficus.GrpcOcelObjectTypeState - 3, // 27: ficus.GrpcContextKeyValue.key:type_name -> ficus.GrpcContextKey - 5, // 28: ficus.GrpcContextKeyValue.value:type_name -> ficus.GrpcContextValue - 77, // 29: ficus.GrpcHashesEventLogContextValue.log:type_name -> ficus.GrpcHashesEventLog - 78, // 30: ficus.GrpcNamesEventLogContextValue.log:type_name -> ficus.GrpcNamesEventLog - 18, // 31: ficus.GrpcEventLogTraceSubArraysContextValue.traces_sub_arrays:type_name -> ficus.GrpcTraceSubArrays - 17, // 32: ficus.GrpcTraceSubArrays.sub_arrays:type_name -> ficus.GrpcTraceSubArray - 17, // 33: ficus.GrpcSubArrayWithTraceIndex.sub_array:type_name -> ficus.GrpcTraceSubArray - 19, // 34: ficus.GrpcSubArraysWithTraceIndexContextValue.sub_arrays:type_name -> ficus.GrpcSubArrayWithTraceIndex - 26, // 35: ficus.GrpcColorsEventLog.mapping:type_name -> ficus.GrpcColorsEventLogMapping - 27, // 36: ficus.GrpcColorsEventLog.traces:type_name -> ficus.GrpcColorsTrace - 22, // 37: ficus.GrpcColorsEventLog.adjustments:type_name -> ficus.GrpcColorsLogAdjustment - 23, // 38: ficus.GrpcColorsLogAdjustment.rectangle_adjustment:type_name -> ficus.GrpcColorsLogRectangleAdjustment - 25, // 39: ficus.GrpcColorsLogAdjustment.axis_after_trace:type_name -> ficus.GrpcColorsLogXAxisAfterTraceAdjustment - 24, // 40: ficus.GrpcColorsLogRectangleAdjustment.up_left_point:type_name -> ficus.GrpcLogPoint - 24, // 41: ficus.GrpcColorsLogRectangleAdjustment.down_right_point:type_name -> ficus.GrpcLogPoint - 79, // 42: ficus.GrpcColorsEventLogMapping.color:type_name -> ficus.GrpcColor - 28, // 43: ficus.GrpcColorsTrace.event_colors:type_name -> ficus.GrpcColoredRectangle - 33, // 44: ficus.GrpcPipeline.parts:type_name -> ficus.GrpcPipelinePartBase - 34, // 45: ficus.GrpcPipelinePartBase.defaultPart:type_name -> ficus.GrpcPipelinePart - 36, // 46: ficus.GrpcPipelinePartBase.parallelPart:type_name -> ficus.GrpcParallelPipelinePart - 38, // 47: ficus.GrpcPipelinePartBase.simpleContextRequestPart:type_name -> ficus.GrpcSimpleContextRequestPipelinePart - 39, // 48: ficus.GrpcPipelinePartBase.complexContextRequestPart:type_name -> ficus.GrpcComplexContextRequestPipelinePart - 35, // 49: ficus.GrpcPipelinePart.configuration:type_name -> ficus.GrpcPipelinePartConfiguration - 13, // 50: ficus.GrpcPipelinePartConfiguration.configurationParameters:type_name -> ficus.GrpcContextKeyValue - 33, // 51: ficus.GrpcParallelPipelinePart.pipelineParts:type_name -> ficus.GrpcPipelinePartBase - 36, // 52: ficus.GrpcParallelPipelineParts.pipeline:type_name -> ficus.GrpcParallelPipelinePart - 3, // 53: ficus.GrpcSimpleContextRequestPipelinePart.key:type_name -> ficus.GrpcContextKey - 80, // 54: ficus.GrpcSimpleContextRequestPipelinePart.frontendPartUuid:type_name -> ficus.GrpcGuid - 3, // 55: ficus.GrpcComplexContextRequestPipelinePart.keys:type_name -> ficus.GrpcContextKey - 34, // 56: ficus.GrpcComplexContextRequestPipelinePart.beforePipelinePart:type_name -> ficus.GrpcPipelinePart - 80, // 57: ficus.GrpcComplexContextRequestPipelinePart.frontendPartUuid:type_name -> ficus.GrpcGuid - 41, // 58: ficus.GrpcGraph.nodes:type_name -> ficus.GrpcGraphNode - 63, // 59: ficus.GrpcGraph.edges:type_name -> ficus.GrpcGraphEdge - 0, // 60: ficus.GrpcGraph.kind:type_name -> ficus.GrpcGraphKind - 42, // 61: ficus.GrpcGraphNode.additional_data:type_name -> ficus.GrpcNodeAdditionalData - 40, // 62: ficus.GrpcGraphNode.inner_graph:type_name -> ficus.GrpcGraph - 81, // 63: ficus.GrpcNodeAdditionalData.none:type_name -> google.protobuf.Empty - 47, // 64: ficus.GrpcNodeAdditionalData.software_data:type_name -> ficus.GrpcSoftwareData - 62, // 65: ficus.GrpcNodeAdditionalData.pattern_info:type_name -> ficus.GrpcUnderlyingPatternInfo - 46, // 66: ficus.GrpcNodeAdditionalData.trace_data:type_name -> ficus.GrpcNodeCorrespondingTraceData - 44, // 67: ficus.GrpcNodeAdditionalData.time_data:type_name -> ficus.GrpcActivityStartEndData - 43, // 68: ficus.GrpcNodeAdditionalData.multithreaded_fragment:type_name -> ficus.GrpcMultithreadedFragment - 45, // 69: ficus.GrpcNodeAdditionalData.original_event_coordinates:type_name -> ficus.GrpcEventCoordinates - 76, // 70: ficus.GrpcMultithreadedFragment.multithreaded_log:type_name -> ficus.GrpcSimpleEventLog - 59, // 71: ficus.GrpcSoftwareData.histogram:type_name -> ficus.GrpcHistogramEntry - 60, // 72: ficus.GrpcSoftwareData.timeline_diagram_fragment:type_name -> ficus.GrpcTimelineDiagramFragment - 55, // 73: ficus.GrpcSoftwareData.histogram_data:type_name -> ficus.GrpcGeneralHistogramData - 56, // 74: ficus.GrpcSoftwareData.simple_counter_data:type_name -> ficus.GrpcSimpleCounterData - 53, // 75: ficus.GrpcSoftwareData.activities_durations_data:type_name -> ficus.GrpcActivityDurationData - 52, // 76: ficus.GrpcSoftwareData.ocel_data:type_name -> ficus.GrpcOcelData - 50, // 77: ficus.GrpcOcelConsumeProduce.produced_objects:type_name -> ficus.GrpcOcelProducedObject - 48, // 78: ficus.GrpcOcelData.allocate:type_name -> ficus.GrpcOcelObjectTypeData - 48, // 79: ficus.GrpcOcelData.consume:type_name -> ficus.GrpcOcelObjectTypeData - 49, // 80: ficus.GrpcOcelData.merged_object_allocation:type_name -> ficus.GrpcOcelAllocateMerge - 51, // 81: ficus.GrpcOcelData.produce_object_consumption:type_name -> ficus.GrpcOcelConsumeProduce - 54, // 82: ficus.GrpcActivityDurationData.base:type_name -> ficus.GrpcGenericEnhancementBase - 1, // 83: ficus.GrpcActivityDurationData.kind:type_name -> ficus.GrpcDurationKind - 54, // 84: ficus.GrpcGeneralHistogramData.base:type_name -> ficus.GrpcGenericEnhancementBase - 59, // 85: ficus.GrpcGeneralHistogramData.entries:type_name -> ficus.GrpcHistogramEntry - 54, // 86: ficus.GrpcSimpleCounterData.base:type_name -> ficus.GrpcGenericEnhancementBase - 58, // 87: ficus.GrpcMethodInliningInfo.inlinee_info:type_name -> ficus.GrpcMethodNameParts - 58, // 88: ficus.GrpcMethodInliningInfo.inliner_info:type_name -> ficus.GrpcMethodNameParts - 70, // 89: ficus.GrpcTimelineDiagramFragment.threads:type_name -> ficus.GrpcThread - 2, // 90: ficus.GrpcUnderlyingPatternInfo.pattern_kind:type_name -> ficus.GrpcUnderlyingPatternKind - 40, // 91: ficus.GrpcUnderlyingPatternInfo.graph:type_name -> ficus.GrpcGraph - 64, // 92: ficus.GrpcGraphEdge.additional_data:type_name -> ficus.GrpcGraphEdgeAdditionalData - 47, // 93: ficus.GrpcGraphEdgeAdditionalData.software_data:type_name -> ficus.GrpcSoftwareData - 65, // 94: ficus.GrpcGraphEdgeAdditionalData.execution_info:type_name -> ficus.GrpcEdgeExecutionInfo - 44, // 95: ficus.GrpcGraphEdgeAdditionalData.time_data:type_name -> ficus.GrpcActivityStartEndData - 69, // 96: ficus.GrpcLogTimelineDiagram.traces:type_name -> ficus.GrpcTraceTimelineDiagram - 24, // 97: ficus.GrpcTimelineTraceEventsGroup.start_point:type_name -> ficus.GrpcLogPoint - 24, // 98: ficus.GrpcTimelineTraceEventsGroup.end_point:type_name -> ficus.GrpcLogPoint - 70, // 99: ficus.GrpcTraceTimelineDiagram.threads:type_name -> ficus.GrpcThread - 68, // 100: ficus.GrpcTraceTimelineDiagram.events_groups:type_name -> ficus.GrpcTimelineTraceEventsGroup - 71, // 101: ficus.GrpcThread.events:type_name -> ficus.GrpcThreadEvent - 102, // [102:102] is the sub-list for method output_type - 102, // [102:102] is the sub-list for method input_type - 102, // [102:102] is the sub-list for extension type_name - 102, // [102:102] is the sub-list for extension extendee - 0, // [0:102] is the sub-list for field type_name + 9, // 24: ficus.GrpcModelElementOcelAnnotation.initial_state:type_name -> ficus.GrpcOcelState + 9, // 25: ficus.GrpcModelElementOcelAnnotation.final_state:type_name -> ficus.GrpcOcelState + 8, // 26: ficus.GrpcModelElementOcelAnnotation.relations:type_name -> ficus.GrpcOcelStateObjectRelation + 10, // 27: ficus.GrpcOcelState.type_states:type_name -> ficus.GrpcOcelObjectTypeState + 3, // 28: ficus.GrpcContextKeyValue.key:type_name -> ficus.GrpcContextKey + 5, // 29: ficus.GrpcContextKeyValue.value:type_name -> ficus.GrpcContextValue + 78, // 30: ficus.GrpcHashesEventLogContextValue.log:type_name -> ficus.GrpcHashesEventLog + 79, // 31: ficus.GrpcNamesEventLogContextValue.log:type_name -> ficus.GrpcNamesEventLog + 19, // 32: ficus.GrpcEventLogTraceSubArraysContextValue.traces_sub_arrays:type_name -> ficus.GrpcTraceSubArrays + 18, // 33: ficus.GrpcTraceSubArrays.sub_arrays:type_name -> ficus.GrpcTraceSubArray + 18, // 34: ficus.GrpcSubArrayWithTraceIndex.sub_array:type_name -> ficus.GrpcTraceSubArray + 20, // 35: ficus.GrpcSubArraysWithTraceIndexContextValue.sub_arrays:type_name -> ficus.GrpcSubArrayWithTraceIndex + 27, // 36: ficus.GrpcColorsEventLog.mapping:type_name -> ficus.GrpcColorsEventLogMapping + 28, // 37: ficus.GrpcColorsEventLog.traces:type_name -> ficus.GrpcColorsTrace + 23, // 38: ficus.GrpcColorsEventLog.adjustments:type_name -> ficus.GrpcColorsLogAdjustment + 24, // 39: ficus.GrpcColorsLogAdjustment.rectangle_adjustment:type_name -> ficus.GrpcColorsLogRectangleAdjustment + 26, // 40: ficus.GrpcColorsLogAdjustment.axis_after_trace:type_name -> ficus.GrpcColorsLogXAxisAfterTraceAdjustment + 25, // 41: ficus.GrpcColorsLogRectangleAdjustment.up_left_point:type_name -> ficus.GrpcLogPoint + 25, // 42: ficus.GrpcColorsLogRectangleAdjustment.down_right_point:type_name -> ficus.GrpcLogPoint + 80, // 43: ficus.GrpcColorsEventLogMapping.color:type_name -> ficus.GrpcColor + 29, // 44: ficus.GrpcColorsTrace.event_colors:type_name -> ficus.GrpcColoredRectangle + 34, // 45: ficus.GrpcPipeline.parts:type_name -> ficus.GrpcPipelinePartBase + 35, // 46: ficus.GrpcPipelinePartBase.defaultPart:type_name -> ficus.GrpcPipelinePart + 37, // 47: ficus.GrpcPipelinePartBase.parallelPart:type_name -> ficus.GrpcParallelPipelinePart + 39, // 48: ficus.GrpcPipelinePartBase.simpleContextRequestPart:type_name -> ficus.GrpcSimpleContextRequestPipelinePart + 40, // 49: ficus.GrpcPipelinePartBase.complexContextRequestPart:type_name -> ficus.GrpcComplexContextRequestPipelinePart + 36, // 50: ficus.GrpcPipelinePart.configuration:type_name -> ficus.GrpcPipelinePartConfiguration + 14, // 51: ficus.GrpcPipelinePartConfiguration.configurationParameters:type_name -> ficus.GrpcContextKeyValue + 34, // 52: ficus.GrpcParallelPipelinePart.pipelineParts:type_name -> ficus.GrpcPipelinePartBase + 37, // 53: ficus.GrpcParallelPipelineParts.pipeline:type_name -> ficus.GrpcParallelPipelinePart + 3, // 54: ficus.GrpcSimpleContextRequestPipelinePart.key:type_name -> ficus.GrpcContextKey + 81, // 55: ficus.GrpcSimpleContextRequestPipelinePart.frontendPartUuid:type_name -> ficus.GrpcGuid + 3, // 56: ficus.GrpcComplexContextRequestPipelinePart.keys:type_name -> ficus.GrpcContextKey + 35, // 57: ficus.GrpcComplexContextRequestPipelinePart.beforePipelinePart:type_name -> ficus.GrpcPipelinePart + 81, // 58: ficus.GrpcComplexContextRequestPipelinePart.frontendPartUuid:type_name -> ficus.GrpcGuid + 42, // 59: ficus.GrpcGraph.nodes:type_name -> ficus.GrpcGraphNode + 64, // 60: ficus.GrpcGraph.edges:type_name -> ficus.GrpcGraphEdge + 0, // 61: ficus.GrpcGraph.kind:type_name -> ficus.GrpcGraphKind + 43, // 62: ficus.GrpcGraphNode.additional_data:type_name -> ficus.GrpcNodeAdditionalData + 41, // 63: ficus.GrpcGraphNode.inner_graph:type_name -> ficus.GrpcGraph + 82, // 64: ficus.GrpcNodeAdditionalData.none:type_name -> google.protobuf.Empty + 48, // 65: ficus.GrpcNodeAdditionalData.software_data:type_name -> ficus.GrpcSoftwareData + 63, // 66: ficus.GrpcNodeAdditionalData.pattern_info:type_name -> ficus.GrpcUnderlyingPatternInfo + 47, // 67: ficus.GrpcNodeAdditionalData.trace_data:type_name -> ficus.GrpcNodeCorrespondingTraceData + 45, // 68: ficus.GrpcNodeAdditionalData.time_data:type_name -> ficus.GrpcActivityStartEndData + 44, // 69: ficus.GrpcNodeAdditionalData.multithreaded_fragment:type_name -> ficus.GrpcMultithreadedFragment + 46, // 70: ficus.GrpcNodeAdditionalData.original_event_coordinates:type_name -> ficus.GrpcEventCoordinates + 77, // 71: ficus.GrpcMultithreadedFragment.multithreaded_log:type_name -> ficus.GrpcSimpleEventLog + 60, // 72: ficus.GrpcSoftwareData.histogram:type_name -> ficus.GrpcHistogramEntry + 61, // 73: ficus.GrpcSoftwareData.timeline_diagram_fragment:type_name -> ficus.GrpcTimelineDiagramFragment + 56, // 74: ficus.GrpcSoftwareData.histogram_data:type_name -> ficus.GrpcGeneralHistogramData + 57, // 75: ficus.GrpcSoftwareData.simple_counter_data:type_name -> ficus.GrpcSimpleCounterData + 54, // 76: ficus.GrpcSoftwareData.activities_durations_data:type_name -> ficus.GrpcActivityDurationData + 53, // 77: ficus.GrpcSoftwareData.ocel_data:type_name -> ficus.GrpcOcelData + 51, // 78: ficus.GrpcOcelConsumeProduce.produced_objects:type_name -> ficus.GrpcOcelProducedObject + 49, // 79: ficus.GrpcOcelData.allocate:type_name -> ficus.GrpcOcelObjectTypeData + 49, // 80: ficus.GrpcOcelData.consume:type_name -> ficus.GrpcOcelObjectTypeData + 50, // 81: ficus.GrpcOcelData.merged_object_allocation:type_name -> ficus.GrpcOcelAllocateMerge + 52, // 82: ficus.GrpcOcelData.produce_object_consumption:type_name -> ficus.GrpcOcelConsumeProduce + 55, // 83: ficus.GrpcActivityDurationData.base:type_name -> ficus.GrpcGenericEnhancementBase + 1, // 84: ficus.GrpcActivityDurationData.kind:type_name -> ficus.GrpcDurationKind + 55, // 85: ficus.GrpcGeneralHistogramData.base:type_name -> ficus.GrpcGenericEnhancementBase + 60, // 86: ficus.GrpcGeneralHistogramData.entries:type_name -> ficus.GrpcHistogramEntry + 55, // 87: ficus.GrpcSimpleCounterData.base:type_name -> ficus.GrpcGenericEnhancementBase + 59, // 88: ficus.GrpcMethodInliningInfo.inlinee_info:type_name -> ficus.GrpcMethodNameParts + 59, // 89: ficus.GrpcMethodInliningInfo.inliner_info:type_name -> ficus.GrpcMethodNameParts + 71, // 90: ficus.GrpcTimelineDiagramFragment.threads:type_name -> ficus.GrpcThread + 2, // 91: ficus.GrpcUnderlyingPatternInfo.pattern_kind:type_name -> ficus.GrpcUnderlyingPatternKind + 41, // 92: ficus.GrpcUnderlyingPatternInfo.graph:type_name -> ficus.GrpcGraph + 65, // 93: ficus.GrpcGraphEdge.additional_data:type_name -> ficus.GrpcGraphEdgeAdditionalData + 48, // 94: ficus.GrpcGraphEdgeAdditionalData.software_data:type_name -> ficus.GrpcSoftwareData + 66, // 95: ficus.GrpcGraphEdgeAdditionalData.execution_info:type_name -> ficus.GrpcEdgeExecutionInfo + 45, // 96: ficus.GrpcGraphEdgeAdditionalData.time_data:type_name -> ficus.GrpcActivityStartEndData + 70, // 97: ficus.GrpcLogTimelineDiagram.traces:type_name -> ficus.GrpcTraceTimelineDiagram + 25, // 98: ficus.GrpcTimelineTraceEventsGroup.start_point:type_name -> ficus.GrpcLogPoint + 25, // 99: ficus.GrpcTimelineTraceEventsGroup.end_point:type_name -> ficus.GrpcLogPoint + 71, // 100: ficus.GrpcTraceTimelineDiagram.threads:type_name -> ficus.GrpcThread + 69, // 101: ficus.GrpcTraceTimelineDiagram.events_groups:type_name -> ficus.GrpcTimelineTraceEventsGroup + 72, // 102: ficus.GrpcThread.events:type_name -> ficus.GrpcThreadEvent + 103, // [103:103] is the sub-list for method output_type + 103, // [103:103] is the sub-list for method input_type + 103, // [103:103] is the sub-list for extension type_name + 103, // [103:103] is the sub-list for extension extendee + 0, // [0:103] is the sub-list for field type_name } func init() { file_pipelines_and_context_proto_init() } @@ -5062,17 +5128,17 @@ func file_pipelines_and_context_proto_init() { (*GrpcContextValue_OcelAnnotation)(nil), } file_pipelines_and_context_proto_msgTypes[4].OneofWrappers = []any{} - file_pipelines_and_context_proto_msgTypes[19].OneofWrappers = []any{ + file_pipelines_and_context_proto_msgTypes[20].OneofWrappers = []any{ (*GrpcColorsLogAdjustment_RectangleAdjustment)(nil), (*GrpcColorsLogAdjustment_AxisAfterTrace)(nil), } - file_pipelines_and_context_proto_msgTypes[30].OneofWrappers = []any{ + file_pipelines_and_context_proto_msgTypes[31].OneofWrappers = []any{ (*GrpcPipelinePartBase_DefaultPart)(nil), (*GrpcPipelinePartBase_ParallelPart)(nil), (*GrpcPipelinePartBase_SimpleContextRequestPart)(nil), (*GrpcPipelinePartBase_ComplexContextRequestPart)(nil), } - file_pipelines_and_context_proto_msgTypes[39].OneofWrappers = []any{ + file_pipelines_and_context_proto_msgTypes[40].OneofWrappers = []any{ (*GrpcNodeAdditionalData_None)(nil), (*GrpcNodeAdditionalData_SoftwareData)(nil), (*GrpcNodeAdditionalData_PatternInfo)(nil), @@ -5080,17 +5146,17 @@ func file_pipelines_and_context_proto_init() { (*GrpcNodeAdditionalData_TimeData)(nil), (*GrpcNodeAdditionalData_MultithreadedFragment)(nil), } - file_pipelines_and_context_proto_msgTypes[45].OneofWrappers = []any{} file_pipelines_and_context_proto_msgTypes[46].OneofWrappers = []any{} file_pipelines_and_context_proto_msgTypes[47].OneofWrappers = []any{} - file_pipelines_and_context_proto_msgTypes[49].OneofWrappers = []any{ + file_pipelines_and_context_proto_msgTypes[48].OneofWrappers = []any{} + file_pipelines_and_context_proto_msgTypes[50].OneofWrappers = []any{ (*GrpcOcelData_Allocate)(nil), (*GrpcOcelData_Consume)(nil), (*GrpcOcelData_MergedObjectAllocation)(nil), (*GrpcOcelData_ProduceObjectConsumption)(nil), } - file_pipelines_and_context_proto_msgTypes[51].OneofWrappers = []any{} - file_pipelines_and_context_proto_msgTypes[61].OneofWrappers = []any{ + file_pipelines_and_context_proto_msgTypes[52].OneofWrappers = []any{} + file_pipelines_and_context_proto_msgTypes[62].OneofWrappers = []any{ (*GrpcGraphEdgeAdditionalData_SoftwareData)(nil), (*GrpcGraphEdgeAdditionalData_ExecutionInfo)(nil), (*GrpcGraphEdgeAdditionalData_TimeData)(nil), @@ -5101,7 +5167,7 @@ func file_pipelines_and_context_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_pipelines_and_context_proto_rawDesc), len(file_pipelines_and_context_proto_rawDesc)), NumEnums: 3, - NumMessages: 69, + NumMessages: 70, NumExtensions: 0, NumServices: 0, }, diff --git a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py index 16c7a3b14..c438e6ac7 100644 --- a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py +++ b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py @@ -34,7 +34,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bpipelines_and_context.proto\x12\x05\x66icus\x1a\x0fpm_models.proto\x1a\nutil.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x1e\n\x0eGrpcContextKey\x12\x0c\n\x04name\x18\x01 \x01(\t\"W\n\x1bGrpcContextValueWithKeyName\x12\x10\n\x08key_name\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"\xc6\t\n\x10GrpcContextValue\x12\x10\n\x06string\x18\x01 \x01(\tH\x00\x12;\n\nhashes_log\x18\x02 \x01(\x0b\x32%.ficus.GrpcHashesEventLogContextValueH\x00\x12\x39\n\tnames_log\x18\x03 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12\x10\n\x06uint32\x18\x04 \x01(\rH\x00\x12J\n\x11traces_sub_arrays\x18\x05 \x01(\x0b\x32-.ficus.GrpcEventLogTraceSubArraysContextValueH\x00\x12P\n\x16trace_index_sub_arrays\x18\x06 \x01(\x0b\x32..ficus.GrpcSubArraysWithTraceIndexContextValueH\x00\x12\x0e\n\x04\x62ool\x18\x07 \x01(\x08H\x00\x12=\n\rxes_event_log\x18\x08 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12/\n\ncolors_log\x18\t \x01(\x0b\x32\x19.ficus.GrpcColorsEventLogH\x00\x12\x1f\n\x04\x65num\x18\n \x01(\x0b\x32\x0f.ficus.GrpcEnumH\x00\x12\x31\n\x0e\x65vent_log_info\x18\x0b \x01(\x0b\x32\x17.ficus.GrpcEventLogInfoH\x00\x12%\n\x07strings\x18\x0c \x01(\x0b\x32\x12.ficus.GrpcStringsH\x00\x12\'\n\x08pipeline\x18\r \x01(\x0b\x32\x13.ficus.GrpcPipelineH\x00\x12\'\n\x08petriNet\x18\x0e \x01(\x0b\x32\x13.ficus.GrpcPetriNetH\x00\x12!\n\x05graph\x18\x0f \x01(\x0b\x32\x10.ficus.GrpcGraphH\x00\x12\x0f\n\x05\x66loat\x18\x10 \x01(\x02H\x00\x12+\n\nannotation\x18\x11 \x01(\x0b\x32\x15.ficus.GrpcAnnotationH\x00\x12%\n\x07\x64\x61taset\x18\x12 \x01(\x0b\x32\x12.ficus.GrpcDatasetH\x00\x12\x34\n\x0flabeled_dataset\x18\x13 \x01(\x0b\x32\x19.ficus.GrpcLabeledDatasetH\x00\x12!\n\x05\x62ytes\x18\x14 \x01(\x0b\x32\x10.ficus.GrpcBytesH\x00\x12;\n\x12logTimelineDiagram\x18\x15 \x01(\x0b\x32\x1d.ficus.GrpcLogTimelineDiagramH\x00\x12,\n\x0b\x66loat_array\x18\x16 \x01(\x0b\x32\x15.ficus.GrpcFloatArrayH\x00\x12(\n\tint_array\x18\x17 \x01(\x0b\x32\x13.ficus.GrpcIntArrayH\x00\x12*\n\nuint_array\x18\x18 \x01(\x0b\x32\x14.ficus.GrpcUintArrayH\x00\x12\x0e\n\x04json\x18\x19 \x01(\tH\x00\x12.\n\tevent_log\x18\x1a \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLogH\x00\x12\x39\n\x0focel_annotation\x18\x1b \x01(\x0b\x32\x1e.ficus.GrpcOcelModelAnnotationH\x00\x42\x0e\n\x0c\x63ontextValue\"U\n\x17GrpcOcelModelAnnotation\x12:\n\x0b\x61nnotations\x18\x01 \x03(\x0b\x32%.ficus.GrpcModelElementOcelAnnotation\"\xa3\x01\n\x1eGrpcModelElementOcelAnnotation\x12\x12\n\nelement_id\x18\x01 \x01(\x04\x12\x30\n\rinitial_state\x18\x02 \x01(\x0b\x32\x14.ficus.GrpcOcelStateH\x00\x88\x01\x01\x12)\n\x0b\x66inal_state\x18\x03 \x01(\x0b\x32\x14.ficus.GrpcOcelStateB\x10\n\x0e_initial_state\"D\n\rGrpcOcelState\x12\x33\n\x0btype_states\x18\x01 \x03(\x0b\x32\x1e.ficus.GrpcOcelObjectTypeState\";\n\x17GrpcOcelObjectTypeState\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x12\n\nobject_ids\x18\x02 \x03(\t\"\x1f\n\x0eGrpcFloatArray\x12\r\n\x05items\x18\x01 \x03(\x01\"\x1d\n\x0cGrpcIntArray\x12\r\n\x05items\x18\x01 \x03(\x03\"\x1e\n\rGrpcUintArray\x12\r\n\x05items\x18\x01 \x03(\x04\"a\n\x13GrpcContextKeyValue\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"H\n\x1eGrpcHashesEventLogContextValue\x12&\n\x03log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcHashesEventLog\"F\n\x1dGrpcNamesEventLogContextValue\x12%\n\x03log\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcNamesEventLog\"^\n&GrpcEventLogTraceSubArraysContextValue\x12\x34\n\x11traces_sub_arrays\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcTraceSubArrays\"/\n\x11GrpcTraceSubArray\x12\r\n\x05start\x18\x01 \x01(\r\x12\x0b\n\x03\x65nd\x18\x02 \x01(\r\"B\n\x12GrpcTraceSubArrays\x12,\n\nsub_arrays\x18\x01 \x03(\x0b\x32\x18.ficus.GrpcTraceSubArray\"^\n\x1aGrpcSubArrayWithTraceIndex\x12+\n\tsub_array\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcTraceSubArray\x12\x13\n\x0btrace_index\x18\x02 \x01(\r\"`\n\'GrpcSubArraysWithTraceIndexContextValue\x12\x35\n\nsub_arrays\x18\x01 \x03(\x0b\x32!.ficus.GrpcSubArrayWithTraceIndex\"\xa4\x01\n\x12GrpcColorsEventLog\x12\x31\n\x07mapping\x18\x01 \x03(\x0b\x32 .ficus.GrpcColorsEventLogMapping\x12&\n\x06traces\x18\x02 \x03(\x0b\x32\x16.ficus.GrpcColorsTrace\x12\x33\n\x0b\x61\x64justments\x18\x03 \x03(\x0b\x32\x1e.ficus.GrpcColorsLogAdjustment\"\xba\x01\n\x17GrpcColorsLogAdjustment\x12G\n\x14rectangle_adjustment\x18\x01 \x01(\x0b\x32\'.ficus.GrpcColorsLogRectangleAdjustmentH\x00\x12I\n\x10\x61xis_after_trace\x18\x02 \x01(\x0b\x32-.ficus.GrpcColorsLogXAxisAfterTraceAdjustmentH\x00\x42\x0b\n\tselection\"\xa9\x01\n GrpcColorsLogRectangleAdjustment\x12*\n\rup_left_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12-\n\x10\x64own_right_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12*\n\"extend_to_nearest_vertical_borders\x18\x03 \x01(\x08\"8\n\x0cGrpcLogPoint\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x02 \x01(\x04\"=\n&GrpcColorsLogXAxisAfterTraceAdjustment\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\"J\n\x19GrpcColorsEventLogMapping\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x05\x63olor\x18\x02 \x01(\x0b\x32\x10.ficus.GrpcColor\"\\\n\x0fGrpcColorsTrace\x12\x31\n\x0c\x65vent_colors\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcColoredRectangle\x12\x16\n\x0e\x63onstant_width\x18\x02 \x01(\x08\"L\n\x14GrpcColoredRectangle\x12\x13\n\x0b\x63olor_index\x18\x01 \x01(\r\x12\x0f\n\x07start_x\x18\x02 \x01(\x01\x12\x0e\n\x06length\x18\x03 \x01(\x01\"+\n\x08GrpcEnum\x12\x10\n\x08\x65numType\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"[\n\x10GrpcEventLogInfo\x12\x14\n\x0c\x65vents_count\x18\x01 \x01(\r\x12\x14\n\x0ctraces_count\x18\x02 \x01(\r\x12\x1b\n\x13\x65vent_classes_count\x18\x03 \x01(\r\"\x1e\n\x0bGrpcStrings\x12\x0f\n\x07strings\x18\x01 \x03(\t\":\n\x0cGrpcPipeline\x12*\n\x05parts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"\xab\x02\n\x14GrpcPipelinePartBase\x12.\n\x0b\x64\x65\x66\x61ultPart\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcPipelinePartH\x00\x12\x37\n\x0cparallelPart\x18\x02 \x01(\x0b\x32\x1f.ficus.GrpcParallelPipelinePartH\x00\x12O\n\x18simpleContextRequestPart\x18\x03 \x01(\x0b\x32+.ficus.GrpcSimpleContextRequestPipelinePartH\x00\x12Q\n\x19\x63omplexContextRequestPart\x18\x04 \x01(\x0b\x32,.ficus.GrpcComplexContextRequestPipelinePartH\x00\x42\x06\n\x04part\"]\n\x10GrpcPipelinePart\x12\x0c\n\x04name\x18\x01 \x01(\t\x12;\n\rconfiguration\x18\x02 \x01(\x0b\x32$.ficus.GrpcPipelinePartConfiguration\"\\\n\x1dGrpcPipelinePartConfiguration\x12;\n\x17\x63onfigurationParameters\x18\x01 \x03(\x0b\x32\x1a.ficus.GrpcContextKeyValue\"N\n\x18GrpcParallelPipelinePart\x12\x32\n\rpipelineParts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"N\n\x19GrpcParallelPipelineParts\x12\x31\n\x08pipeline\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcParallelPipelinePart\"\x97\x01\n$GrpcSimpleContextRequestPipelinePart\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12)\n\x10\x66rontendPartUuid\x18\x02 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x03 \x01(\t\"\xce\x01\n%GrpcComplexContextRequestPipelinePart\x12#\n\x04keys\x18\x01 \x03(\x0b\x32\x15.ficus.GrpcContextKey\x12\x33\n\x12\x62\x65\x66orePipelinePart\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcPipelinePart\x12)\n\x10\x66rontendPartUuid\x18\x03 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x04 \x01(\t\"y\n\tGrpcGraph\x12#\n\x05nodes\x18\x01 \x03(\x0b\x32\x14.ficus.GrpcGraphNode\x12#\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x14.ficus.GrpcGraphEdge\x12\"\n\x04kind\x18\x03 \x01(\x0e\x32\x14.ficus.GrpcGraphKind\"\x88\x01\n\rGrpcGraphNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\x12\x36\n\x0f\x61\x64\x64itional_data\x18\x03 \x03(\x0b\x32\x1d.ficus.GrpcNodeAdditionalData\x12%\n\x0binner_graph\x18\x04 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\xac\x03\n\x16GrpcNodeAdditionalData\x12&\n\x04none\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x30\n\rsoftware_data\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x38\n\x0cpattern_info\x18\x03 \x01(\x0b\x32 .ficus.GrpcUnderlyingPatternInfoH\x00\x12;\n\ntrace_data\x18\x04 \x01(\x0b\x32%.ficus.GrpcNodeCorrespondingTraceDataH\x00\x12\x34\n\ttime_data\x18\x05 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x12\x42\n\x16multithreaded_fragment\x18\x07 \x01(\x0b\x32 .ficus.GrpcMultithreadedFragmentH\x00\x12?\n\x1aoriginal_event_coordinates\x18\x06 \x01(\x0b\x32\x1b.ficus.GrpcEventCoordinatesB\x06\n\x04\x64\x61ta\"Q\n\x19GrpcMultithreadedFragment\x12\x34\n\x11multithreaded_log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLog\"@\n\x18GrpcActivityStartEndData\x12\x12\n\nstart_time\x18\x01 \x01(\x03\x12\x10\n\x08\x65nd_time\x18\x02 \x01(\x03\"=\n\x14GrpcEventCoordinates\x12\x10\n\x08trace_id\x18\x02 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x03 \x01(\x04\"B\n\x1eGrpcNodeCorrespondingTraceData\x12 \n\x18\x62\x65longs_to_root_sequence\x18\x01 \x01(\x08\"\xe7\x02\n\x10GrpcSoftwareData\x12,\n\thistogram\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\x12\x45\n\x19timeline_diagram_fragment\x18\x02 \x01(\x0b\x32\".ficus.GrpcTimelineDiagramFragment\x12\x37\n\x0ehistogram_data\x18\r \x03(\x0b\x32\x1f.ficus.GrpcGeneralHistogramData\x12\x39\n\x13simple_counter_data\x18\x0e \x03(\x0b\x32\x1c.ficus.GrpcSimpleCounterData\x12\x42\n\x19\x61\x63tivities_durations_data\x18\x0f \x03(\x0b\x32\x1f.ficus.GrpcActivityDurationData\x12&\n\tocel_data\x18\x10 \x03(\x0b\x32\x13.ficus.GrpcOcelData\"4\n\x16GrpcOcelObjectTypeData\x12\x11\n\x04type\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_type\"O\n\x15GrpcOcelAllocateMerge\x12\x11\n\x04type\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\x12merged_objects_ids\x18\x02 \x03(\tB\x07\n\x05_type\"@\n\x16GrpcOcelProducedObject\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\x04type\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_type\"Q\n\x16GrpcOcelConsumeProduce\x12\x37\n\x10produced_objects\x18\x01 \x03(\x0b\x32\x1d.ficus.GrpcOcelProducedObject\"\x97\x02\n\x0cGrpcOcelData\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x31\n\x08\x61llocate\x18\x02 \x01(\x0b\x32\x1d.ficus.GrpcOcelObjectTypeDataH\x00\x12\x30\n\x07\x63onsume\x18\x03 \x01(\x0b\x32\x1d.ficus.GrpcOcelObjectTypeDataH\x00\x12@\n\x18merged_object_allocation\x18\x04 \x01(\x0b\x32\x1c.ficus.GrpcOcelAllocateMergeH\x00\x12\x43\n\x1aproduce_object_consumption\x18\x05 \x01(\x0b\x32\x1d.ficus.GrpcOcelConsumeProduceH\x00\x42\x08\n\x06\x61\x63tion\"\x84\x01\n\x18GrpcActivityDurationData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12%\n\x04kind\x18\x03 \x01(\x0e\x32\x17.ficus.GrpcDurationKind\"W\n\x1aGrpcGenericEnhancementBase\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05units\x18\x02 \x01(\t\x12\x12\n\x05group\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_group\"w\n\x18GrpcGeneralHistogramData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12*\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\"W\n\x15GrpcSimpleCounterData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"|\n\x16GrpcMethodInliningInfo\x12\x30\n\x0cinlinee_info\x18\x01 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\x12\x30\n\x0cinliner_info\x18\x02 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\"I\n\x13GrpcMethodNameParts\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\t\"1\n\x12GrpcHistogramEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"A\n\x1bGrpcTimelineDiagramFragment\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\"a\n\x12GrpcAllocationInfo\x12\x11\n\ttype_name\x18\x01 \x01(\t\x12\x1f\n\x17\x61llocated_objects_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x61llocated_bytes\x18\x03 \x01(\x04\"\x8b\x01\n\x19GrpcUnderlyingPatternInfo\x12\x36\n\x0cpattern_kind\x18\x01 \x01(\x0e\x32 .ficus.GrpcUnderlyingPatternKind\x12\x15\n\rbase_sequence\x18\x02 \x03(\t\x12\x1f\n\x05graph\x18\x03 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\x9a\x01\n\rGrpcGraphEdge\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tfrom_node\x18\x02 \x01(\x04\x12\x0f\n\x07to_node\x18\x03 \x01(\x04\x12\x0e\n\x06weight\x18\x04 \x01(\x01\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\t\x12;\n\x0f\x61\x64\x64itional_data\x18\x06 \x03(\x0b\x32\".ficus.GrpcGraphEdgeAdditionalData\"\xc5\x01\n\x1bGrpcGraphEdgeAdditionalData\x12\x30\n\rsoftware_data\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x36\n\x0e\x65xecution_info\x18\x02 \x01(\x0b\x32\x1c.ficus.GrpcEdgeExecutionInfoH\x00\x12\x34\n\ttime_data\x18\x03 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x42\x06\n\x04\x64\x61ta\"(\n\x15GrpcEdgeExecutionInfo\x12\x0f\n\x07traceId\x18\x01 \x01(\x04\"\x1a\n\tGrpcBytes\x12\r\n\x05\x62ytes\x18\x01 \x01(\x0c\"I\n\x16GrpcLogTimelineDiagram\x12/\n\x06traces\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcTraceTimelineDiagram\"p\n\x1cGrpcTimelineTraceEventsGroup\x12(\n\x0bstart_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12&\n\tend_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\"z\n\x18GrpcTraceTimelineDiagram\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\x12:\n\revents_groups\x18\x02 \x03(\x0b\x32#.ficus.GrpcTimelineTraceEventsGroup\"4\n\nGrpcThread\x12&\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x16.ficus.GrpcThreadEvent\".\n\x0fGrpcThreadEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05stamp\x18\x02 \x01(\x03*.\n\rGrpcGraphKind\x12\x08\n\x04None\x10\x00\x12\x07\n\x03\x44\x41G\x10\x01\x12\n\n\x06\x44\x61gLCS\x10\x02*u\n\x10GrpcDurationKind\x12\x0f\n\x0bUnspecified\x10\x00\x12\t\n\x05Nanos\x10\x01\x12\n\n\x06Micros\x10\x02\x12\n\n\x06Millis\x10\x03\x12\x0b\n\x07Seconds\x10\x04\x12\x0b\n\x07Minutes\x10\x05\x12\t\n\x05Hours\x10\x06\x12\x08\n\x04\x44\x61ys\x10\x07*\xb1\x01\n\x19GrpcUnderlyingPatternKind\x12\x0e\n\nStrictLoop\x10\x00\x12\x18\n\x14PrimitiveTandemArray\x10\x01\x12\x16\n\x12MaximalTandemArray\x10\x02\x12\x11\n\rMaximalRepeat\x10\x03\x12\x16\n\x12SuperMaximalRepeat\x10\x04\x12\x1a\n\x16NearSuperMaximalRepeat\x10\x05\x12\x0b\n\x07Unknown\x10\x06\x42\x0fZ\r./;grpcmodelsb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bpipelines_and_context.proto\x12\x05\x66icus\x1a\x0fpm_models.proto\x1a\nutil.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x1e\n\x0eGrpcContextKey\x12\x0c\n\x04name\x18\x01 \x01(\t\"W\n\x1bGrpcContextValueWithKeyName\x12\x10\n\x08key_name\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"\xc6\t\n\x10GrpcContextValue\x12\x10\n\x06string\x18\x01 \x01(\tH\x00\x12;\n\nhashes_log\x18\x02 \x01(\x0b\x32%.ficus.GrpcHashesEventLogContextValueH\x00\x12\x39\n\tnames_log\x18\x03 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12\x10\n\x06uint32\x18\x04 \x01(\rH\x00\x12J\n\x11traces_sub_arrays\x18\x05 \x01(\x0b\x32-.ficus.GrpcEventLogTraceSubArraysContextValueH\x00\x12P\n\x16trace_index_sub_arrays\x18\x06 \x01(\x0b\x32..ficus.GrpcSubArraysWithTraceIndexContextValueH\x00\x12\x0e\n\x04\x62ool\x18\x07 \x01(\x08H\x00\x12=\n\rxes_event_log\x18\x08 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12/\n\ncolors_log\x18\t \x01(\x0b\x32\x19.ficus.GrpcColorsEventLogH\x00\x12\x1f\n\x04\x65num\x18\n \x01(\x0b\x32\x0f.ficus.GrpcEnumH\x00\x12\x31\n\x0e\x65vent_log_info\x18\x0b \x01(\x0b\x32\x17.ficus.GrpcEventLogInfoH\x00\x12%\n\x07strings\x18\x0c \x01(\x0b\x32\x12.ficus.GrpcStringsH\x00\x12\'\n\x08pipeline\x18\r \x01(\x0b\x32\x13.ficus.GrpcPipelineH\x00\x12\'\n\x08petriNet\x18\x0e \x01(\x0b\x32\x13.ficus.GrpcPetriNetH\x00\x12!\n\x05graph\x18\x0f \x01(\x0b\x32\x10.ficus.GrpcGraphH\x00\x12\x0f\n\x05\x66loat\x18\x10 \x01(\x02H\x00\x12+\n\nannotation\x18\x11 \x01(\x0b\x32\x15.ficus.GrpcAnnotationH\x00\x12%\n\x07\x64\x61taset\x18\x12 \x01(\x0b\x32\x12.ficus.GrpcDatasetH\x00\x12\x34\n\x0flabeled_dataset\x18\x13 \x01(\x0b\x32\x19.ficus.GrpcLabeledDatasetH\x00\x12!\n\x05\x62ytes\x18\x14 \x01(\x0b\x32\x10.ficus.GrpcBytesH\x00\x12;\n\x12logTimelineDiagram\x18\x15 \x01(\x0b\x32\x1d.ficus.GrpcLogTimelineDiagramH\x00\x12,\n\x0b\x66loat_array\x18\x16 \x01(\x0b\x32\x15.ficus.GrpcFloatArrayH\x00\x12(\n\tint_array\x18\x17 \x01(\x0b\x32\x13.ficus.GrpcIntArrayH\x00\x12*\n\nuint_array\x18\x18 \x01(\x0b\x32\x14.ficus.GrpcUintArrayH\x00\x12\x0e\n\x04json\x18\x19 \x01(\tH\x00\x12.\n\tevent_log\x18\x1a \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLogH\x00\x12\x39\n\x0focel_annotation\x18\x1b \x01(\x0b\x32\x1e.ficus.GrpcOcelModelAnnotationH\x00\x42\x0e\n\x0c\x63ontextValue\"U\n\x17GrpcOcelModelAnnotation\x12:\n\x0b\x61nnotations\x18\x01 \x03(\x0b\x32%.ficus.GrpcModelElementOcelAnnotation\"\xda\x01\n\x1eGrpcModelElementOcelAnnotation\x12\x12\n\nelement_id\x18\x01 \x01(\x04\x12\x30\n\rinitial_state\x18\x02 \x01(\x0b\x32\x14.ficus.GrpcOcelStateH\x00\x88\x01\x01\x12)\n\x0b\x66inal_state\x18\x03 \x01(\x0b\x32\x14.ficus.GrpcOcelState\x12\x35\n\trelations\x18\x04 \x03(\x0b\x32\".ficus.GrpcOcelStateObjectRelationB\x10\n\x0e_initial_state\"M\n\x1bGrpcOcelStateObjectRelation\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x1b\n\x13related_objects_ids\x18\x02 \x03(\t\"D\n\rGrpcOcelState\x12\x33\n\x0btype_states\x18\x01 \x03(\x0b\x32\x1e.ficus.GrpcOcelObjectTypeState\";\n\x17GrpcOcelObjectTypeState\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x12\n\nobject_ids\x18\x02 \x03(\t\"\x1f\n\x0eGrpcFloatArray\x12\r\n\x05items\x18\x01 \x03(\x01\"\x1d\n\x0cGrpcIntArray\x12\r\n\x05items\x18\x01 \x03(\x03\"\x1e\n\rGrpcUintArray\x12\r\n\x05items\x18\x01 \x03(\x04\"a\n\x13GrpcContextKeyValue\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"H\n\x1eGrpcHashesEventLogContextValue\x12&\n\x03log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcHashesEventLog\"F\n\x1dGrpcNamesEventLogContextValue\x12%\n\x03log\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcNamesEventLog\"^\n&GrpcEventLogTraceSubArraysContextValue\x12\x34\n\x11traces_sub_arrays\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcTraceSubArrays\"/\n\x11GrpcTraceSubArray\x12\r\n\x05start\x18\x01 \x01(\r\x12\x0b\n\x03\x65nd\x18\x02 \x01(\r\"B\n\x12GrpcTraceSubArrays\x12,\n\nsub_arrays\x18\x01 \x03(\x0b\x32\x18.ficus.GrpcTraceSubArray\"^\n\x1aGrpcSubArrayWithTraceIndex\x12+\n\tsub_array\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcTraceSubArray\x12\x13\n\x0btrace_index\x18\x02 \x01(\r\"`\n\'GrpcSubArraysWithTraceIndexContextValue\x12\x35\n\nsub_arrays\x18\x01 \x03(\x0b\x32!.ficus.GrpcSubArrayWithTraceIndex\"\xa4\x01\n\x12GrpcColorsEventLog\x12\x31\n\x07mapping\x18\x01 \x03(\x0b\x32 .ficus.GrpcColorsEventLogMapping\x12&\n\x06traces\x18\x02 \x03(\x0b\x32\x16.ficus.GrpcColorsTrace\x12\x33\n\x0b\x61\x64justments\x18\x03 \x03(\x0b\x32\x1e.ficus.GrpcColorsLogAdjustment\"\xba\x01\n\x17GrpcColorsLogAdjustment\x12G\n\x14rectangle_adjustment\x18\x01 \x01(\x0b\x32\'.ficus.GrpcColorsLogRectangleAdjustmentH\x00\x12I\n\x10\x61xis_after_trace\x18\x02 \x01(\x0b\x32-.ficus.GrpcColorsLogXAxisAfterTraceAdjustmentH\x00\x42\x0b\n\tselection\"\xa9\x01\n GrpcColorsLogRectangleAdjustment\x12*\n\rup_left_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12-\n\x10\x64own_right_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12*\n\"extend_to_nearest_vertical_borders\x18\x03 \x01(\x08\"8\n\x0cGrpcLogPoint\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x02 \x01(\x04\"=\n&GrpcColorsLogXAxisAfterTraceAdjustment\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\"J\n\x19GrpcColorsEventLogMapping\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x05\x63olor\x18\x02 \x01(\x0b\x32\x10.ficus.GrpcColor\"\\\n\x0fGrpcColorsTrace\x12\x31\n\x0c\x65vent_colors\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcColoredRectangle\x12\x16\n\x0e\x63onstant_width\x18\x02 \x01(\x08\"L\n\x14GrpcColoredRectangle\x12\x13\n\x0b\x63olor_index\x18\x01 \x01(\r\x12\x0f\n\x07start_x\x18\x02 \x01(\x01\x12\x0e\n\x06length\x18\x03 \x01(\x01\"+\n\x08GrpcEnum\x12\x10\n\x08\x65numType\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"[\n\x10GrpcEventLogInfo\x12\x14\n\x0c\x65vents_count\x18\x01 \x01(\r\x12\x14\n\x0ctraces_count\x18\x02 \x01(\r\x12\x1b\n\x13\x65vent_classes_count\x18\x03 \x01(\r\"\x1e\n\x0bGrpcStrings\x12\x0f\n\x07strings\x18\x01 \x03(\t\":\n\x0cGrpcPipeline\x12*\n\x05parts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"\xab\x02\n\x14GrpcPipelinePartBase\x12.\n\x0b\x64\x65\x66\x61ultPart\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcPipelinePartH\x00\x12\x37\n\x0cparallelPart\x18\x02 \x01(\x0b\x32\x1f.ficus.GrpcParallelPipelinePartH\x00\x12O\n\x18simpleContextRequestPart\x18\x03 \x01(\x0b\x32+.ficus.GrpcSimpleContextRequestPipelinePartH\x00\x12Q\n\x19\x63omplexContextRequestPart\x18\x04 \x01(\x0b\x32,.ficus.GrpcComplexContextRequestPipelinePartH\x00\x42\x06\n\x04part\"]\n\x10GrpcPipelinePart\x12\x0c\n\x04name\x18\x01 \x01(\t\x12;\n\rconfiguration\x18\x02 \x01(\x0b\x32$.ficus.GrpcPipelinePartConfiguration\"\\\n\x1dGrpcPipelinePartConfiguration\x12;\n\x17\x63onfigurationParameters\x18\x01 \x03(\x0b\x32\x1a.ficus.GrpcContextKeyValue\"N\n\x18GrpcParallelPipelinePart\x12\x32\n\rpipelineParts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"N\n\x19GrpcParallelPipelineParts\x12\x31\n\x08pipeline\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcParallelPipelinePart\"\x97\x01\n$GrpcSimpleContextRequestPipelinePart\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12)\n\x10\x66rontendPartUuid\x18\x02 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x03 \x01(\t\"\xce\x01\n%GrpcComplexContextRequestPipelinePart\x12#\n\x04keys\x18\x01 \x03(\x0b\x32\x15.ficus.GrpcContextKey\x12\x33\n\x12\x62\x65\x66orePipelinePart\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcPipelinePart\x12)\n\x10\x66rontendPartUuid\x18\x03 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x04 \x01(\t\"y\n\tGrpcGraph\x12#\n\x05nodes\x18\x01 \x03(\x0b\x32\x14.ficus.GrpcGraphNode\x12#\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x14.ficus.GrpcGraphEdge\x12\"\n\x04kind\x18\x03 \x01(\x0e\x32\x14.ficus.GrpcGraphKind\"\x88\x01\n\rGrpcGraphNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\x12\x36\n\x0f\x61\x64\x64itional_data\x18\x03 \x03(\x0b\x32\x1d.ficus.GrpcNodeAdditionalData\x12%\n\x0binner_graph\x18\x04 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\xac\x03\n\x16GrpcNodeAdditionalData\x12&\n\x04none\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x30\n\rsoftware_data\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x38\n\x0cpattern_info\x18\x03 \x01(\x0b\x32 .ficus.GrpcUnderlyingPatternInfoH\x00\x12;\n\ntrace_data\x18\x04 \x01(\x0b\x32%.ficus.GrpcNodeCorrespondingTraceDataH\x00\x12\x34\n\ttime_data\x18\x05 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x12\x42\n\x16multithreaded_fragment\x18\x07 \x01(\x0b\x32 .ficus.GrpcMultithreadedFragmentH\x00\x12?\n\x1aoriginal_event_coordinates\x18\x06 \x01(\x0b\x32\x1b.ficus.GrpcEventCoordinatesB\x06\n\x04\x64\x61ta\"Q\n\x19GrpcMultithreadedFragment\x12\x34\n\x11multithreaded_log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLog\"@\n\x18GrpcActivityStartEndData\x12\x12\n\nstart_time\x18\x01 \x01(\x03\x12\x10\n\x08\x65nd_time\x18\x02 \x01(\x03\"=\n\x14GrpcEventCoordinates\x12\x10\n\x08trace_id\x18\x02 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x03 \x01(\x04\"B\n\x1eGrpcNodeCorrespondingTraceData\x12 \n\x18\x62\x65longs_to_root_sequence\x18\x01 \x01(\x08\"\xe7\x02\n\x10GrpcSoftwareData\x12,\n\thistogram\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\x12\x45\n\x19timeline_diagram_fragment\x18\x02 \x01(\x0b\x32\".ficus.GrpcTimelineDiagramFragment\x12\x37\n\x0ehistogram_data\x18\r \x03(\x0b\x32\x1f.ficus.GrpcGeneralHistogramData\x12\x39\n\x13simple_counter_data\x18\x0e \x03(\x0b\x32\x1c.ficus.GrpcSimpleCounterData\x12\x42\n\x19\x61\x63tivities_durations_data\x18\x0f \x03(\x0b\x32\x1f.ficus.GrpcActivityDurationData\x12&\n\tocel_data\x18\x10 \x03(\x0b\x32\x13.ficus.GrpcOcelData\"4\n\x16GrpcOcelObjectTypeData\x12\x11\n\x04type\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_type\"O\n\x15GrpcOcelAllocateMerge\x12\x11\n\x04type\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\x12merged_objects_ids\x18\x02 \x03(\tB\x07\n\x05_type\"@\n\x16GrpcOcelProducedObject\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\x04type\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_type\"Q\n\x16GrpcOcelConsumeProduce\x12\x37\n\x10produced_objects\x18\x01 \x03(\x0b\x32\x1d.ficus.GrpcOcelProducedObject\"\x97\x02\n\x0cGrpcOcelData\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x31\n\x08\x61llocate\x18\x02 \x01(\x0b\x32\x1d.ficus.GrpcOcelObjectTypeDataH\x00\x12\x30\n\x07\x63onsume\x18\x03 \x01(\x0b\x32\x1d.ficus.GrpcOcelObjectTypeDataH\x00\x12@\n\x18merged_object_allocation\x18\x04 \x01(\x0b\x32\x1c.ficus.GrpcOcelAllocateMergeH\x00\x12\x43\n\x1aproduce_object_consumption\x18\x05 \x01(\x0b\x32\x1d.ficus.GrpcOcelConsumeProduceH\x00\x42\x08\n\x06\x61\x63tion\"\x84\x01\n\x18GrpcActivityDurationData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12%\n\x04kind\x18\x03 \x01(\x0e\x32\x17.ficus.GrpcDurationKind\"W\n\x1aGrpcGenericEnhancementBase\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05units\x18\x02 \x01(\t\x12\x12\n\x05group\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_group\"w\n\x18GrpcGeneralHistogramData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12*\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\"W\n\x15GrpcSimpleCounterData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"|\n\x16GrpcMethodInliningInfo\x12\x30\n\x0cinlinee_info\x18\x01 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\x12\x30\n\x0cinliner_info\x18\x02 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\"I\n\x13GrpcMethodNameParts\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\t\"1\n\x12GrpcHistogramEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"A\n\x1bGrpcTimelineDiagramFragment\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\"a\n\x12GrpcAllocationInfo\x12\x11\n\ttype_name\x18\x01 \x01(\t\x12\x1f\n\x17\x61llocated_objects_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x61llocated_bytes\x18\x03 \x01(\x04\"\x8b\x01\n\x19GrpcUnderlyingPatternInfo\x12\x36\n\x0cpattern_kind\x18\x01 \x01(\x0e\x32 .ficus.GrpcUnderlyingPatternKind\x12\x15\n\rbase_sequence\x18\x02 \x03(\t\x12\x1f\n\x05graph\x18\x03 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\x9a\x01\n\rGrpcGraphEdge\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tfrom_node\x18\x02 \x01(\x04\x12\x0f\n\x07to_node\x18\x03 \x01(\x04\x12\x0e\n\x06weight\x18\x04 \x01(\x01\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\t\x12;\n\x0f\x61\x64\x64itional_data\x18\x06 \x03(\x0b\x32\".ficus.GrpcGraphEdgeAdditionalData\"\xc5\x01\n\x1bGrpcGraphEdgeAdditionalData\x12\x30\n\rsoftware_data\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x36\n\x0e\x65xecution_info\x18\x02 \x01(\x0b\x32\x1c.ficus.GrpcEdgeExecutionInfoH\x00\x12\x34\n\ttime_data\x18\x03 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x42\x06\n\x04\x64\x61ta\"(\n\x15GrpcEdgeExecutionInfo\x12\x0f\n\x07traceId\x18\x01 \x01(\x04\"\x1a\n\tGrpcBytes\x12\r\n\x05\x62ytes\x18\x01 \x01(\x0c\"I\n\x16GrpcLogTimelineDiagram\x12/\n\x06traces\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcTraceTimelineDiagram\"p\n\x1cGrpcTimelineTraceEventsGroup\x12(\n\x0bstart_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12&\n\tend_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\"z\n\x18GrpcTraceTimelineDiagram\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\x12:\n\revents_groups\x18\x02 \x03(\x0b\x32#.ficus.GrpcTimelineTraceEventsGroup\"4\n\nGrpcThread\x12&\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x16.ficus.GrpcThreadEvent\".\n\x0fGrpcThreadEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05stamp\x18\x02 \x01(\x03*.\n\rGrpcGraphKind\x12\x08\n\x04None\x10\x00\x12\x07\n\x03\x44\x41G\x10\x01\x12\n\n\x06\x44\x61gLCS\x10\x02*u\n\x10GrpcDurationKind\x12\x0f\n\x0bUnspecified\x10\x00\x12\t\n\x05Nanos\x10\x01\x12\n\n\x06Micros\x10\x02\x12\n\n\x06Millis\x10\x03\x12\x0b\n\x07Seconds\x10\x04\x12\x0b\n\x07Minutes\x10\x05\x12\t\n\x05Hours\x10\x06\x12\x08\n\x04\x44\x61ys\x10\x07*\xb1\x01\n\x19GrpcUnderlyingPatternKind\x12\x0e\n\nStrictLoop\x10\x00\x12\x18\n\x14PrimitiveTandemArray\x10\x01\x12\x16\n\x12MaximalTandemArray\x10\x02\x12\x11\n\rMaximalRepeat\x10\x03\x12\x16\n\x12SuperMaximalRepeat\x10\x04\x12\x1a\n\x16NearSuperMaximalRepeat\x10\x05\x12\x0b\n\x07Unknown\x10\x06\x42\x0fZ\r./;grpcmodelsb\x06proto3') @@ -50,17 +50,17 @@ DESCRIPTOR._serialized_options = b'Z\r./;grpcmodels' - _globals['_GRPCGRAPHKIND']._serialized_start=8452 + _globals['_GRPCGRAPHKIND']._serialized_start=8586 - _globals['_GRPCGRAPHKIND']._serialized_end=8498 + _globals['_GRPCGRAPHKIND']._serialized_end=8632 - _globals['_GRPCDURATIONKIND']._serialized_start=8500 + _globals['_GRPCDURATIONKIND']._serialized_start=8634 - _globals['_GRPCDURATIONKIND']._serialized_end=8617 + _globals['_GRPCDURATIONKIND']._serialized_end=8751 - _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_start=8620 + _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_start=8754 - _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_end=8797 + _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_end=8931 _globals['_GRPCCONTEXTKEY']._serialized_start=96 @@ -80,262 +80,266 @@ _globals['_GRPCMODELELEMENTOCELANNOTATION']._serialized_start=1530 - _globals['_GRPCMODELELEMENTOCELANNOTATION']._serialized_end=1693 + _globals['_GRPCMODELELEMENTOCELANNOTATION']._serialized_end=1748 - _globals['_GRPCOCELSTATE']._serialized_start=1695 + _globals['_GRPCOCELSTATEOBJECTRELATION']._serialized_start=1750 - _globals['_GRPCOCELSTATE']._serialized_end=1763 + _globals['_GRPCOCELSTATEOBJECTRELATION']._serialized_end=1827 - _globals['_GRPCOCELOBJECTTYPESTATE']._serialized_start=1765 + _globals['_GRPCOCELSTATE']._serialized_start=1829 - _globals['_GRPCOCELOBJECTTYPESTATE']._serialized_end=1824 + _globals['_GRPCOCELSTATE']._serialized_end=1897 - _globals['_GRPCFLOATARRAY']._serialized_start=1826 + _globals['_GRPCOCELOBJECTTYPESTATE']._serialized_start=1899 - _globals['_GRPCFLOATARRAY']._serialized_end=1857 + _globals['_GRPCOCELOBJECTTYPESTATE']._serialized_end=1958 - _globals['_GRPCINTARRAY']._serialized_start=1859 + _globals['_GRPCFLOATARRAY']._serialized_start=1960 - _globals['_GRPCINTARRAY']._serialized_end=1888 + _globals['_GRPCFLOATARRAY']._serialized_end=1991 - _globals['_GRPCUINTARRAY']._serialized_start=1890 + _globals['_GRPCINTARRAY']._serialized_start=1993 - _globals['_GRPCUINTARRAY']._serialized_end=1920 + _globals['_GRPCINTARRAY']._serialized_end=2022 - _globals['_GRPCCONTEXTKEYVALUE']._serialized_start=1922 + _globals['_GRPCUINTARRAY']._serialized_start=2024 - _globals['_GRPCCONTEXTKEYVALUE']._serialized_end=2019 + _globals['_GRPCUINTARRAY']._serialized_end=2054 - _globals['_GRPCHASHESEVENTLOGCONTEXTVALUE']._serialized_start=2021 + _globals['_GRPCCONTEXTKEYVALUE']._serialized_start=2056 - _globals['_GRPCHASHESEVENTLOGCONTEXTVALUE']._serialized_end=2093 + _globals['_GRPCCONTEXTKEYVALUE']._serialized_end=2153 - _globals['_GRPCNAMESEVENTLOGCONTEXTVALUE']._serialized_start=2095 + _globals['_GRPCHASHESEVENTLOGCONTEXTVALUE']._serialized_start=2155 - _globals['_GRPCNAMESEVENTLOGCONTEXTVALUE']._serialized_end=2165 + _globals['_GRPCHASHESEVENTLOGCONTEXTVALUE']._serialized_end=2227 - _globals['_GRPCEVENTLOGTRACESUBARRAYSCONTEXTVALUE']._serialized_start=2167 + _globals['_GRPCNAMESEVENTLOGCONTEXTVALUE']._serialized_start=2229 - _globals['_GRPCEVENTLOGTRACESUBARRAYSCONTEXTVALUE']._serialized_end=2261 + _globals['_GRPCNAMESEVENTLOGCONTEXTVALUE']._serialized_end=2299 - _globals['_GRPCTRACESUBARRAY']._serialized_start=2263 + _globals['_GRPCEVENTLOGTRACESUBARRAYSCONTEXTVALUE']._serialized_start=2301 - _globals['_GRPCTRACESUBARRAY']._serialized_end=2310 + _globals['_GRPCEVENTLOGTRACESUBARRAYSCONTEXTVALUE']._serialized_end=2395 - _globals['_GRPCTRACESUBARRAYS']._serialized_start=2312 + _globals['_GRPCTRACESUBARRAY']._serialized_start=2397 - _globals['_GRPCTRACESUBARRAYS']._serialized_end=2378 + _globals['_GRPCTRACESUBARRAY']._serialized_end=2444 - _globals['_GRPCSUBARRAYWITHTRACEINDEX']._serialized_start=2380 + _globals['_GRPCTRACESUBARRAYS']._serialized_start=2446 - _globals['_GRPCSUBARRAYWITHTRACEINDEX']._serialized_end=2474 + _globals['_GRPCTRACESUBARRAYS']._serialized_end=2512 - _globals['_GRPCSUBARRAYSWITHTRACEINDEXCONTEXTVALUE']._serialized_start=2476 + _globals['_GRPCSUBARRAYWITHTRACEINDEX']._serialized_start=2514 - _globals['_GRPCSUBARRAYSWITHTRACEINDEXCONTEXTVALUE']._serialized_end=2572 + _globals['_GRPCSUBARRAYWITHTRACEINDEX']._serialized_end=2608 - _globals['_GRPCCOLORSEVENTLOG']._serialized_start=2575 + _globals['_GRPCSUBARRAYSWITHTRACEINDEXCONTEXTVALUE']._serialized_start=2610 - _globals['_GRPCCOLORSEVENTLOG']._serialized_end=2739 + _globals['_GRPCSUBARRAYSWITHTRACEINDEXCONTEXTVALUE']._serialized_end=2706 - _globals['_GRPCCOLORSLOGADJUSTMENT']._serialized_start=2742 + _globals['_GRPCCOLORSEVENTLOG']._serialized_start=2709 - _globals['_GRPCCOLORSLOGADJUSTMENT']._serialized_end=2928 + _globals['_GRPCCOLORSEVENTLOG']._serialized_end=2873 - _globals['_GRPCCOLORSLOGRECTANGLEADJUSTMENT']._serialized_start=2931 + _globals['_GRPCCOLORSLOGADJUSTMENT']._serialized_start=2876 - _globals['_GRPCCOLORSLOGRECTANGLEADJUSTMENT']._serialized_end=3100 + _globals['_GRPCCOLORSLOGADJUSTMENT']._serialized_end=3062 - _globals['_GRPCLOGPOINT']._serialized_start=3102 + _globals['_GRPCCOLORSLOGRECTANGLEADJUSTMENT']._serialized_start=3065 - _globals['_GRPCLOGPOINT']._serialized_end=3158 + _globals['_GRPCCOLORSLOGRECTANGLEADJUSTMENT']._serialized_end=3234 - _globals['_GRPCCOLORSLOGXAXISAFTERTRACEADJUSTMENT']._serialized_start=3160 + _globals['_GRPCLOGPOINT']._serialized_start=3236 - _globals['_GRPCCOLORSLOGXAXISAFTERTRACEADJUSTMENT']._serialized_end=3221 + _globals['_GRPCLOGPOINT']._serialized_end=3292 - _globals['_GRPCCOLORSEVENTLOGMAPPING']._serialized_start=3223 + _globals['_GRPCCOLORSLOGXAXISAFTERTRACEADJUSTMENT']._serialized_start=3294 - _globals['_GRPCCOLORSEVENTLOGMAPPING']._serialized_end=3297 + _globals['_GRPCCOLORSLOGXAXISAFTERTRACEADJUSTMENT']._serialized_end=3355 - _globals['_GRPCCOLORSTRACE']._serialized_start=3299 + _globals['_GRPCCOLORSEVENTLOGMAPPING']._serialized_start=3357 - _globals['_GRPCCOLORSTRACE']._serialized_end=3391 + _globals['_GRPCCOLORSEVENTLOGMAPPING']._serialized_end=3431 - _globals['_GRPCCOLOREDRECTANGLE']._serialized_start=3393 + _globals['_GRPCCOLORSTRACE']._serialized_start=3433 - _globals['_GRPCCOLOREDRECTANGLE']._serialized_end=3469 + _globals['_GRPCCOLORSTRACE']._serialized_end=3525 - _globals['_GRPCENUM']._serialized_start=3471 + _globals['_GRPCCOLOREDRECTANGLE']._serialized_start=3527 - _globals['_GRPCENUM']._serialized_end=3514 + _globals['_GRPCCOLOREDRECTANGLE']._serialized_end=3603 - _globals['_GRPCEVENTLOGINFO']._serialized_start=3516 + _globals['_GRPCENUM']._serialized_start=3605 - _globals['_GRPCEVENTLOGINFO']._serialized_end=3607 + _globals['_GRPCENUM']._serialized_end=3648 - _globals['_GRPCSTRINGS']._serialized_start=3609 + _globals['_GRPCEVENTLOGINFO']._serialized_start=3650 - _globals['_GRPCSTRINGS']._serialized_end=3639 + _globals['_GRPCEVENTLOGINFO']._serialized_end=3741 - _globals['_GRPCPIPELINE']._serialized_start=3641 + _globals['_GRPCSTRINGS']._serialized_start=3743 - _globals['_GRPCPIPELINE']._serialized_end=3699 + _globals['_GRPCSTRINGS']._serialized_end=3773 - _globals['_GRPCPIPELINEPARTBASE']._serialized_start=3702 + _globals['_GRPCPIPELINE']._serialized_start=3775 - _globals['_GRPCPIPELINEPARTBASE']._serialized_end=4001 + _globals['_GRPCPIPELINE']._serialized_end=3833 - _globals['_GRPCPIPELINEPART']._serialized_start=4003 + _globals['_GRPCPIPELINEPARTBASE']._serialized_start=3836 - _globals['_GRPCPIPELINEPART']._serialized_end=4096 + _globals['_GRPCPIPELINEPARTBASE']._serialized_end=4135 - _globals['_GRPCPIPELINEPARTCONFIGURATION']._serialized_start=4098 + _globals['_GRPCPIPELINEPART']._serialized_start=4137 - _globals['_GRPCPIPELINEPARTCONFIGURATION']._serialized_end=4190 + _globals['_GRPCPIPELINEPART']._serialized_end=4230 - _globals['_GRPCPARALLELPIPELINEPART']._serialized_start=4192 + _globals['_GRPCPIPELINEPARTCONFIGURATION']._serialized_start=4232 - _globals['_GRPCPARALLELPIPELINEPART']._serialized_end=4270 + _globals['_GRPCPIPELINEPARTCONFIGURATION']._serialized_end=4324 - _globals['_GRPCPARALLELPIPELINEPARTS']._serialized_start=4272 + _globals['_GRPCPARALLELPIPELINEPART']._serialized_start=4326 - _globals['_GRPCPARALLELPIPELINEPARTS']._serialized_end=4350 + _globals['_GRPCPARALLELPIPELINEPART']._serialized_end=4404 - _globals['_GRPCSIMPLECONTEXTREQUESTPIPELINEPART']._serialized_start=4353 + _globals['_GRPCPARALLELPIPELINEPARTS']._serialized_start=4406 - _globals['_GRPCSIMPLECONTEXTREQUESTPIPELINEPART']._serialized_end=4504 + _globals['_GRPCPARALLELPIPELINEPARTS']._serialized_end=4484 - _globals['_GRPCCOMPLEXCONTEXTREQUESTPIPELINEPART']._serialized_start=4507 + _globals['_GRPCSIMPLECONTEXTREQUESTPIPELINEPART']._serialized_start=4487 - _globals['_GRPCCOMPLEXCONTEXTREQUESTPIPELINEPART']._serialized_end=4713 + _globals['_GRPCSIMPLECONTEXTREQUESTPIPELINEPART']._serialized_end=4638 - _globals['_GRPCGRAPH']._serialized_start=4715 + _globals['_GRPCCOMPLEXCONTEXTREQUESTPIPELINEPART']._serialized_start=4641 - _globals['_GRPCGRAPH']._serialized_end=4836 + _globals['_GRPCCOMPLEXCONTEXTREQUESTPIPELINEPART']._serialized_end=4847 - _globals['_GRPCGRAPHNODE']._serialized_start=4839 + _globals['_GRPCGRAPH']._serialized_start=4849 - _globals['_GRPCGRAPHNODE']._serialized_end=4975 + _globals['_GRPCGRAPH']._serialized_end=4970 - _globals['_GRPCNODEADDITIONALDATA']._serialized_start=4978 + _globals['_GRPCGRAPHNODE']._serialized_start=4973 - _globals['_GRPCNODEADDITIONALDATA']._serialized_end=5406 + _globals['_GRPCGRAPHNODE']._serialized_end=5109 - _globals['_GRPCMULTITHREADEDFRAGMENT']._serialized_start=5408 + _globals['_GRPCNODEADDITIONALDATA']._serialized_start=5112 - _globals['_GRPCMULTITHREADEDFRAGMENT']._serialized_end=5489 + _globals['_GRPCNODEADDITIONALDATA']._serialized_end=5540 - _globals['_GRPCACTIVITYSTARTENDDATA']._serialized_start=5491 + _globals['_GRPCMULTITHREADEDFRAGMENT']._serialized_start=5542 - _globals['_GRPCACTIVITYSTARTENDDATA']._serialized_end=5555 + _globals['_GRPCMULTITHREADEDFRAGMENT']._serialized_end=5623 - _globals['_GRPCEVENTCOORDINATES']._serialized_start=5557 + _globals['_GRPCACTIVITYSTARTENDDATA']._serialized_start=5625 - _globals['_GRPCEVENTCOORDINATES']._serialized_end=5618 + _globals['_GRPCACTIVITYSTARTENDDATA']._serialized_end=5689 - _globals['_GRPCNODECORRESPONDINGTRACEDATA']._serialized_start=5620 + _globals['_GRPCEVENTCOORDINATES']._serialized_start=5691 - _globals['_GRPCNODECORRESPONDINGTRACEDATA']._serialized_end=5686 + _globals['_GRPCEVENTCOORDINATES']._serialized_end=5752 - _globals['_GRPCSOFTWAREDATA']._serialized_start=5689 + _globals['_GRPCNODECORRESPONDINGTRACEDATA']._serialized_start=5754 - _globals['_GRPCSOFTWAREDATA']._serialized_end=6048 + _globals['_GRPCNODECORRESPONDINGTRACEDATA']._serialized_end=5820 - _globals['_GRPCOCELOBJECTTYPEDATA']._serialized_start=6050 + _globals['_GRPCSOFTWAREDATA']._serialized_start=5823 - _globals['_GRPCOCELOBJECTTYPEDATA']._serialized_end=6102 + _globals['_GRPCSOFTWAREDATA']._serialized_end=6182 - _globals['_GRPCOCELALLOCATEMERGE']._serialized_start=6104 + _globals['_GRPCOCELOBJECTTYPEDATA']._serialized_start=6184 - _globals['_GRPCOCELALLOCATEMERGE']._serialized_end=6183 + _globals['_GRPCOCELOBJECTTYPEDATA']._serialized_end=6236 - _globals['_GRPCOCELPRODUCEDOBJECT']._serialized_start=6185 + _globals['_GRPCOCELALLOCATEMERGE']._serialized_start=6238 - _globals['_GRPCOCELPRODUCEDOBJECT']._serialized_end=6249 + _globals['_GRPCOCELALLOCATEMERGE']._serialized_end=6317 - _globals['_GRPCOCELCONSUMEPRODUCE']._serialized_start=6251 + _globals['_GRPCOCELPRODUCEDOBJECT']._serialized_start=6319 - _globals['_GRPCOCELCONSUMEPRODUCE']._serialized_end=6332 + _globals['_GRPCOCELPRODUCEDOBJECT']._serialized_end=6383 - _globals['_GRPCOCELDATA']._serialized_start=6335 + _globals['_GRPCOCELCONSUMEPRODUCE']._serialized_start=6385 - _globals['_GRPCOCELDATA']._serialized_end=6614 + _globals['_GRPCOCELCONSUMEPRODUCE']._serialized_end=6466 - _globals['_GRPCACTIVITYDURATIONDATA']._serialized_start=6617 + _globals['_GRPCOCELDATA']._serialized_start=6469 - _globals['_GRPCACTIVITYDURATIONDATA']._serialized_end=6749 + _globals['_GRPCOCELDATA']._serialized_end=6748 - _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_start=6751 + _globals['_GRPCACTIVITYDURATIONDATA']._serialized_start=6751 - _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_end=6838 + _globals['_GRPCACTIVITYDURATIONDATA']._serialized_end=6883 - _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_start=6840 + _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_start=6885 - _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_end=6959 + _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_end=6972 - _globals['_GRPCSIMPLECOUNTERDATA']._serialized_start=6961 + _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_start=6974 - _globals['_GRPCSIMPLECOUNTERDATA']._serialized_end=7048 + _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_end=7093 - _globals['_GRPCMETHODINLININGINFO']._serialized_start=7050 + _globals['_GRPCSIMPLECOUNTERDATA']._serialized_start=7095 - _globals['_GRPCMETHODINLININGINFO']._serialized_end=7174 + _globals['_GRPCSIMPLECOUNTERDATA']._serialized_end=7182 - _globals['_GRPCMETHODNAMEPARTS']._serialized_start=7176 + _globals['_GRPCMETHODINLININGINFO']._serialized_start=7184 - _globals['_GRPCMETHODNAMEPARTS']._serialized_end=7249 + _globals['_GRPCMETHODINLININGINFO']._serialized_end=7308 - _globals['_GRPCHISTOGRAMENTRY']._serialized_start=7251 + _globals['_GRPCMETHODNAMEPARTS']._serialized_start=7310 - _globals['_GRPCHISTOGRAMENTRY']._serialized_end=7300 + _globals['_GRPCMETHODNAMEPARTS']._serialized_end=7383 - _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_start=7302 + _globals['_GRPCHISTOGRAMENTRY']._serialized_start=7385 - _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_end=7367 + _globals['_GRPCHISTOGRAMENTRY']._serialized_end=7434 - _globals['_GRPCALLOCATIONINFO']._serialized_start=7369 + _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_start=7436 - _globals['_GRPCALLOCATIONINFO']._serialized_end=7466 + _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_end=7501 - _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_start=7469 + _globals['_GRPCALLOCATIONINFO']._serialized_start=7503 - _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_end=7608 + _globals['_GRPCALLOCATIONINFO']._serialized_end=7600 - _globals['_GRPCGRAPHEDGE']._serialized_start=7611 + _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_start=7603 - _globals['_GRPCGRAPHEDGE']._serialized_end=7765 + _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_end=7742 - _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_start=7768 + _globals['_GRPCGRAPHEDGE']._serialized_start=7745 - _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_end=7965 + _globals['_GRPCGRAPHEDGE']._serialized_end=7899 - _globals['_GRPCEDGEEXECUTIONINFO']._serialized_start=7967 + _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_start=7902 - _globals['_GRPCEDGEEXECUTIONINFO']._serialized_end=8007 + _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_end=8099 - _globals['_GRPCBYTES']._serialized_start=8009 + _globals['_GRPCEDGEEXECUTIONINFO']._serialized_start=8101 - _globals['_GRPCBYTES']._serialized_end=8035 + _globals['_GRPCEDGEEXECUTIONINFO']._serialized_end=8141 - _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_start=8037 + _globals['_GRPCBYTES']._serialized_start=8143 - _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_end=8110 + _globals['_GRPCBYTES']._serialized_end=8169 - _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_start=8112 + _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_start=8171 - _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_end=8224 + _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_end=8244 - _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_start=8226 + _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_start=8246 - _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_end=8348 + _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_end=8358 - _globals['_GRPCTHREAD']._serialized_start=8350 + _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_start=8360 - _globals['_GRPCTHREAD']._serialized_end=8402 + _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_end=8482 - _globals['_GRPCTHREADEVENT']._serialized_start=8404 + _globals['_GRPCTHREAD']._serialized_start=8484 - _globals['_GRPCTHREADEVENT']._serialized_end=8450 + _globals['_GRPCTHREAD']._serialized_end=8536 + + _globals['_GRPCTHREADEVENT']._serialized_start=8538 + + _globals['_GRPCTHREADEVENT']._serialized_end=8584 # @@protoc_insertion_point(module_scope) diff --git a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi index 0c2c31b71..ada80333e 100644 --- a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi +++ b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi @@ -133,14 +133,24 @@ class GrpcOcelModelAnnotation(_message.Message): def __init__(self, annotations: _Optional[_Iterable[_Union[GrpcModelElementOcelAnnotation, _Mapping]]] = ...) -> None: ... class GrpcModelElementOcelAnnotation(_message.Message): - __slots__ = ["element_id", "initial_state", "final_state"] + __slots__ = ["element_id", "initial_state", "final_state", "relations"] ELEMENT_ID_FIELD_NUMBER: _ClassVar[int] INITIAL_STATE_FIELD_NUMBER: _ClassVar[int] FINAL_STATE_FIELD_NUMBER: _ClassVar[int] + RELATIONS_FIELD_NUMBER: _ClassVar[int] element_id: int initial_state: GrpcOcelState final_state: GrpcOcelState - def __init__(self, element_id: _Optional[int] = ..., initial_state: _Optional[_Union[GrpcOcelState, _Mapping]] = ..., final_state: _Optional[_Union[GrpcOcelState, _Mapping]] = ...) -> None: ... + relations: _containers.RepeatedCompositeFieldContainer[GrpcOcelStateObjectRelation] + def __init__(self, element_id: _Optional[int] = ..., initial_state: _Optional[_Union[GrpcOcelState, _Mapping]] = ..., final_state: _Optional[_Union[GrpcOcelState, _Mapping]] = ..., relations: _Optional[_Iterable[_Union[GrpcOcelStateObjectRelation, _Mapping]]] = ...) -> None: ... + +class GrpcOcelStateObjectRelation(_message.Message): + __slots__ = ["object_id", "related_objects_ids"] + OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + RELATED_OBJECTS_IDS_FIELD_NUMBER: _ClassVar[int] + object_id: str + related_objects_ids: _containers.RepeatedScalarFieldContainer[str] + def __init__(self, object_id: _Optional[str] = ..., related_objects_ids: _Optional[_Iterable[str]] = ...) -> None: ... class GrpcOcelState(_message.Message): __slots__ = ["type_states"] From 3437b96339fc29674007f2739f54495508e24fd5 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sun, 2 Nov 2025 19:31:54 +0300 Subject: [PATCH 136/189] Add object relations to dag annotation creation --- .../discovery/ocel/graph_annotation.rs | 23 ++++++++++++++++--- Ficus/src/rust/ficus/src/grpc/converters.rs | 15 ++++++++++-- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs index fedec2d69..4a9c2cb9c 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs @@ -94,7 +94,17 @@ pub struct ProcessNodesStates { #[get = "pub"] initial_objects: Option, #[get = "pub"] - final_objects: NodeObjectsState + final_objects: NodeObjectsState, + #[get = "pub"] + incoming_objects_relations: Vec +} + +#[derive(new, Getters)] +pub struct OcelObjectRelations { + #[get = "pub"] + object_id: String, + #[get = "pub"] + related_objects_ids: Vec, } pub fn create_ocel_annotation_for_dag(graph: &DefaultGraph) -> Result { @@ -130,6 +140,7 @@ pub fn create_ocel_annotation_for_dag(graph: &DefaultGraph) -> Result Result { + let mut related_objects = vec![]; + for id in data.data() { if !prev_state.final_objects.contains_unknown_object(id) { return Err(OcelAnnotationCreationError::OneOfMergedObjetsDoesNotExist) } new_node_state.remove_unknown_object(id); + related_objects.push(id.clone()); } + new_node_objects_relations.push(OcelObjectRelations::new(obj_id.to_owned(), related_objects)); + let obj_type = data.r#type().as_ref().map(|s| s.as_str()).unwrap_or(UNKNOWN_TYPE).to_string(); new_node_state.add_allocated_object(obj_type, obj_id.to_string())?; } @@ -177,7 +193,8 @@ pub fn create_ocel_annotation_for_dag(graph: &DefaultGraph) -> Result Result Result { GrpcContextValue::decode(bytes) @@ -299,11 +299,22 @@ fn convert_to_grpc_ocel_annotation(annotation: &OcelAnnotation) -> GrpcOcelModel None => None, Some(objects) => Some(convert_to_grpc_ocel_node_state(objects)), }, + relations: s.1.incoming_objects_relations() + .iter() + .map(|r| convert_to_grpc_ocel_object_relation(r)) + .collect() } }).collect() } } +fn convert_to_grpc_ocel_object_relation(relations: &OcelObjectRelations) -> GrpcOcelStateObjectRelation { + GrpcOcelStateObjectRelation { + related_objects_ids: relations.related_objects_ids().clone(), + object_id: relations.object_id().to_owned(), + } +} + fn convert_to_grpc_ocel_node_state(state: &NodeObjectsState) -> GrpcOcelState { GrpcOcelState { type_states: state.map().iter().map(|t| { From f82589134f2550f254fed323a72b75f156ba5e4c Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sun, 2 Nov 2025 19:56:35 +0300 Subject: [PATCH 137/189] Serialize relations in tests + refactorings + update gold --- .../annotations/test_ocel_annotation.py | 57 ++- .../python/ocel/test_ocel_annotation_1.gold | 392 +++++++++++------- 2 files changed, 272 insertions(+), 177 deletions(-) diff --git a/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py b/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py index 2a5f094d4..261b6857d 100644 --- a/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py +++ b/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py @@ -24,30 +24,53 @@ def to_grpc_part(self) -> GrpcPipelinePartBase: def execute_callback(self, values: dict[str, GrpcContextValue]): assert const_ocel_annotation in values - annotations = list(values[const_ocel_annotation].ocel_annotation.annotations) - annotations = sorted(annotations, key=lambda a: a.element_id) - final_states = list(map(lambda a: a.final_state, annotations)) - test_results = [] + grpc_annotations = values[const_ocel_annotation].ocel_annotation.annotations - for state in final_states: - entity_states = [] - type_states = sorted(state.type_states, key=lambda t: t.type) + for annotation in AssertCorrectOcelAnnotation.build_annotations(grpc_annotations): + test_results.append({ + 'states': AssertCorrectOcelAnnotation.build_entity_state(annotation), + 'relations': self.build_relations_list(annotation.relations) + }) - for type_state in type_states: - ids = [id for id in type_state.object_ids] - ids.sort() + gold_path = get_ocel_gold_path(self.test_name) + execute_test_with_gold(gold_path, json.dumps(test_results, indent=2)) - entity_states.append({ - 'type': type_state.type, - 'object_ids': ids - }) + @staticmethod + def build_annotations(grpc_annotations) -> list[GrpcModelElementOcelAnnotation]: + annotations = list(grpc_annotations) + return sorted(annotations, key=lambda a: a.element_id) - test_results.append(entity_states) + @staticmethod + def build_entity_state(annotation): + state = annotation.final_state + entity_states = [] + type_states = sorted(state.type_states, key=lambda t: t.type) - gold_path = get_ocel_gold_path(self.test_name) + for type_state in type_states: + entity_states.append(AssertCorrectOcelAnnotation.build_type_states(type_state)) - execute_test_with_gold(gold_path, json.dumps(test_results, indent=2)) + return entity_states + + @staticmethod + def build_type_states(type_state): + ids = [id for id in type_state.object_ids] + ids.sort() + + return { + 'type': type_state.type, + 'object_ids': ids, + } + + @staticmethod + def build_relations_list(grpc_relations): + relations = list(map(lambda r: {'id': r.object_id, 'relations': list(r.related_objects_ids)}, grpc_relations)) + relations = sorted(relations, key=lambda r: r['id']) + + for r in relations: + r['relations'].sort() + + return relations def test_ocel_annotation_1(): diff --git a/Ficus/test_data/gold/python/ocel/test_ocel_annotation_1.gold b/Ficus/test_data/gold/python/ocel/test_ocel_annotation_1.gold index a4ee9fe56..af3b3d1fd 100644 --- a/Ficus/test_data/gold/python/ocel/test_ocel_annotation_1.gold +++ b/Ficus/test_data/gold/python/ocel/test_ocel_annotation_1.gold @@ -1,162 +1,234 @@ [ - [], - [], - [], - [ - { - "type": "Type1", - "object_ids": [ - "1", - "2", - "3" - ] - }, - { - "type": "Type2", - "object_ids": [ - "4", - "5", - "6" - ] - } - ], - [ - { - "type": "Type1", - "object_ids": [ - "1", - "2", - "3" - ] - }, - { - "type": "Type2", - "object_ids": [ - "4", - "5", - "6" - ] - } - ], - [ - { - "type": "Type1", - "object_ids": [ - "7", - "8" - ] - }, - { - "type": "Type2", - "object_ids": [] - } - ], - [ - { - "type": "Type1", - "object_ids": [ - "7", - "8" - ] - }, - { - "type": "Type2", - "object_ids": [] - } - ], - [ - { - "type": "Type1", - "object_ids": [] - }, - { - "type": "Type2", - "object_ids": [ - "10" - ] - }, - { - "type": "Type3", - "object_ids": [ - "11", - "9" - ] - } - ], - [ - { - "type": "Type1", - "object_ids": [] - }, - { - "type": "Type2", - "object_ids": [ - "10" - ] - }, - { - "type": "Type3", - "object_ids": [ - "11", - "9" - ] - } - ], - [ - { - "type": "Type1", - "object_ids": [] - }, - { - "type": "Type2", - "object_ids": [ - "10" - ] - }, - { - "type": "Type3", - "object_ids": [ - "11", - "9" - ] - } - ], - [ - { - "type": "Type1", - "object_ids": [] - }, - { - "type": "Type2", - "object_ids": [ - "10" - ] - }, - { - "type": "Type3", - "object_ids": [ - "11", - "9" - ] - } - ], - [ - { - "type": "Type1", - "object_ids": [] - }, - { - "type": "Type2", - "object_ids": [ - "10" - ] - }, - { - "type": "Type3", - "object_ids": [ - "11", - "9" - ] - } - ] + { + "states": [], + "relations": [] + }, + { + "states": [], + "relations": [] + }, + { + "states": [], + "relations": [] + }, + { + "states": [ + { + "type": "Type1", + "object_ids": [ + "1", + "2", + "3" + ] + }, + { + "type": "Type2", + "object_ids": [ + "4", + "5", + "6" + ] + } + ], + "relations": [] + }, + { + "states": [ + { + "type": "Type1", + "object_ids": [ + "1", + "2", + "3" + ] + }, + { + "type": "Type2", + "object_ids": [ + "4", + "5", + "6" + ] + } + ], + "relations": [] + }, + { + "states": [ + { + "type": "Type1", + "object_ids": [ + "7", + "8" + ] + }, + { + "type": "Type2", + "object_ids": [] + } + ], + "relations": [ + { + "id": "7", + "relations": [ + "1", + "3", + "5" + ] + }, + { + "id": "8", + "relations": [ + "2", + "4", + "6" + ] + } + ] + }, + { + "states": [ + { + "type": "Type1", + "object_ids": [ + "7", + "8" + ] + }, + { + "type": "Type2", + "object_ids": [] + } + ], + "relations": [] + }, + { + "states": [ + { + "type": "Type1", + "object_ids": [] + }, + { + "type": "Type2", + "object_ids": [ + "10" + ] + }, + { + "type": "Type3", + "object_ids": [ + "11", + "9" + ] + } + ], + "relations": [ + { + "id": "10", + "relations": [ + "7" + ] + }, + { + "id": "11", + "relations": [ + "8" + ] + }, + { + "id": "9", + "relations": [ + "7" + ] + } + ] + }, + { + "states": [ + { + "type": "Type1", + "object_ids": [] + }, + { + "type": "Type2", + "object_ids": [ + "10" + ] + }, + { + "type": "Type3", + "object_ids": [ + "11", + "9" + ] + } + ], + "relations": [] + }, + { + "states": [ + { + "type": "Type1", + "object_ids": [] + }, + { + "type": "Type2", + "object_ids": [ + "10" + ] + }, + { + "type": "Type3", + "object_ids": [ + "11", + "9" + ] + } + ], + "relations": [] + }, + { + "states": [ + { + "type": "Type1", + "object_ids": [] + }, + { + "type": "Type2", + "object_ids": [ + "10" + ] + }, + { + "type": "Type3", + "object_ids": [ + "11", + "9" + ] + } + ], + "relations": [] + }, + { + "states": [ + { + "type": "Type1", + "object_ids": [] + }, + { + "type": "Type2", + "object_ids": [ + "10" + ] + }, + { + "type": "Type3", + "object_ids": [ + "11", + "9" + ] + } + ], + "relations": [] + } ] \ No newline at end of file From 141d17c33613c15086dc351fc90f89d26acf3f59 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 3 Nov 2025 00:32:57 +0300 Subject: [PATCH 138/189] Start using HeapOrOwned in more places in order not to copy strings too much --- .../discovery/ocel/graph_annotation.rs | 56 +++++++++++-------- .../extractors/activities_durations.rs | 3 +- .../software_data/extractors/event_classes.rs | 4 +- .../timeline/software_data/extractors/ocel.rs | 15 +++-- .../software_data/extractors/pie_charts.rs | 3 +- .../software_data/extractors/utils.rs | 13 +++-- .../timeline/software_data/models.rs | 15 ++--- Ficus/src/rust/ficus/src/grpc/converters.rs | 27 ++++----- Ficus/src/rust/ficus/src/utils/references.rs | 22 ++++++++ 9 files changed, 101 insertions(+), 57 deletions(-) diff --git a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs index 4a9c2cb9c..bb96d7dd0 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs @@ -1,11 +1,14 @@ use crate::features::discovery::root_sequence::context_keys::EDGE_SOFTWARE_DATA_KEY; use crate::features::discovery::timeline::software_data::models::OcelObjectAction; use crate::utils::graph::graph::DefaultGraph; +use crate::utils::references::HeapedOrOwned; use crate::utils::user_data::user_data::UserData; use derive_new::new; use enum_display::EnumDisplay; use getset::Getters; +use lazy_static::lazy_static; use std::collections::{HashMap, HashSet, VecDeque}; +use std::rc::Rc; #[derive(new, Getters)] pub struct OcelAnnotation { @@ -25,7 +28,7 @@ pub enum OcelAnnotationCreationError { #[derive(Getters)] pub struct NodeObjectsState { #[getset(get = "pub")] - map: HashMap> + map: HashMap, HashSet>> } impl NodeObjectsState { @@ -35,22 +38,26 @@ impl NodeObjectsState { } } - pub fn add_allocated_object(&mut self, object_type: String, object_id: String) -> Result<(), OcelAnnotationCreationError> { - if self.contains_object(object_type.as_str(), object_id.as_str()) { + pub fn add_allocated_object( + &mut self, + object_type: HeapedOrOwned, + object_id: HeapedOrOwned, + ) -> Result<(), OcelAnnotationCreationError> { + if self.contains_object(&object_type, &object_id) { return Err(OcelAnnotationCreationError::ObjectAlreadyExistsInNodeState) } - self.type_set_mut(object_type.as_str()).insert(object_id); + self.type_set_mut(&object_type).insert(object_id); Ok(()) } - pub fn remove_object(&mut self, object_type: &str, id: &str) { + pub fn remove_object(&mut self, object_type: &HeapedOrOwned, id: &HeapedOrOwned) { let Some(set) = self.map.get_mut(object_type) else { return }; set.remove(id); } - pub fn remove_unknown_object(&mut self, id: &str) { + pub fn remove_unknown_object(&mut self, id: &HeapedOrOwned) { for (_, set) in self.map.iter_mut() { if set.remove(id) { return @@ -58,7 +65,7 @@ impl NodeObjectsState { } } - pub fn contains_object(&self, object_type: &str, object_id: &str) -> bool { + pub fn contains_object(&self, object_type: &HeapedOrOwned, object_id: &HeapedOrOwned) -> bool { if let Some(type_objects) = self.map.get(object_type) { type_objects.contains(object_id) } else { @@ -66,13 +73,13 @@ impl NodeObjectsState { } } - pub fn contains_unknown_object(&self, object_id: &str) -> bool { + pub fn contains_unknown_object(&self, object_id: &HeapedOrOwned) -> bool { self.map.values().any(|set| set.contains(object_id)) } - fn type_set_mut(&mut self, object_type: &str) -> &mut HashSet { + fn type_set_mut(&mut self, object_type: &HeapedOrOwned) -> &mut HashSet> { if !self.map.contains_key(object_type) { - self.map.insert(object_type.to_string(), HashSet::new()); + self.map.insert(object_type.clone(), HashSet::new()); } self.map.get_mut(object_type).unwrap() @@ -102,9 +109,13 @@ pub struct ProcessNodesStates { #[derive(new, Getters)] pub struct OcelObjectRelations { #[get = "pub"] - object_id: String, + object_id: HeapedOrOwned, #[get = "pub"] - related_objects_ids: Vec, + related_objects_ids: Vec>, +} + +lazy_static! { + pub static ref UNKNOWN_TYPE: Box = Box::new("UNKNOWN".to_string()); } pub fn create_ocel_annotation_for_dag(graph: &DefaultGraph) -> Result { @@ -142,6 +153,8 @@ pub fn create_ocel_annotation_for_dag(graph: &DefaultGraph) -> Result Result { - let obj_type = data.r#type().as_ref().map(|s| s.as_str()).unwrap_or(UNKNOWN_TYPE).to_string(); - new_node_state.add_allocated_object(obj_type, obj_id.to_string())?; + let obj_type = data.r#type().as_ref().unwrap_or(&fallback_type); + new_node_state.add_allocated_object(obj_type.to_owned(), obj_id.to_owned())?; } OcelObjectAction::Consume(data) => { - let obj_type = data.r#type().as_ref().map(|s| s.as_str()).unwrap_or(UNKNOWN_TYPE); + let obj_type = data.r#type().as_ref().unwrap_or(&fallback_type); if prev_state.final_objects.contains_object(obj_type, obj_id) { return Err(OcelAnnotationCreationError::ConsumeNotExistingObject) } @@ -182,8 +194,8 @@ pub fn create_ocel_annotation_for_dag(graph: &DefaultGraph) -> Result { if !prev_state.final_objects.contains_unknown_object(obj_id) { @@ -191,10 +203,10 @@ pub fn create_ocel_annotation_for_dag(graph: &DefaultGraph) -> Result { @@ -235,7 +236,7 @@ impl DurationsMapExtensions for DurationsMap { #[derive(Getters, new)] struct StackActivityStartEntry { #[getset(get = "pub")] - id: Option, + id: Option>, #[getset(get = "pub")] event: Rc>, } diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/event_classes.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/event_classes.rs index 73789fcd7..459647763 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/event_classes.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/event_classes.rs @@ -10,6 +10,7 @@ use std::cell::RefCell; use std::collections::HashMap; use std::ops::Deref; use std::rc::Rc; +use crate::utils::references::HeapedOrOwned; #[derive(Debug, Clone, new)] pub struct EventClassesDataExtractor<'a> { @@ -30,7 +31,8 @@ impl<'a> EventGroupSoftwareDataExtractor for EventClassesDataExtractor<'a> { let mut threads = HashMap::new(); for event in events { - *software_data.event_classes_mut().entry(event.borrow().name().clone()).or_insert(0) += 1; + let name = HeapedOrOwned::Heaped(event.borrow().name_pointer().clone()); + *software_data.event_classes_mut().entry(name).or_insert(0) += 1; if let Some(thread_attribute) = self.thread_attribute { let thread_id = extract_thread_id(event.borrow().deref(), thread_attribute); diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs index d6e962af1..7ea8d52df 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs @@ -91,7 +91,10 @@ impl<'a> OcelDataExtractor<'a> { true } - fn extract_object_id_and_type(event: &XesEventImpl, config: &OcelObjectExtractionConfigBase) -> Option<(String, String)> { + fn extract_object_id_and_type( + event: &XesEventImpl, + config: &OcelObjectExtractionConfigBase, + ) -> Option<(HeapedOrOwned, HeapedOrOwned)> { let object_type = config.object_type_attr().create(event); let object_id = match Self::parse_object_id(&event, config.object_id_attr().as_str()) { @@ -99,7 +102,7 @@ impl<'a> OcelDataExtractor<'a> { debug!("Object does not have an object id, skipping it"); return None } - Some(id) => id.to_string() + Some(id) => id }; Some((object_id, object_type)) @@ -153,7 +156,7 @@ impl<'a> OcelDataExtractor<'a> { .map(|(id, r#type)| OcelProducedObjectAfterConsume::new(id, Some(r#type))) .collect(); - let ocel_data = OcelData::new(object_id.to_string(), OcelObjectAction::ConsumeWithProduce(data)); + let ocel_data = OcelData::new(object_id, OcelObjectAction::ConsumeWithProduce(data)); software_data.ocel_data_mut().push(ocel_data); true @@ -173,13 +176,13 @@ impl<'a> OcelDataExtractor<'a> { payload: &HashMap, related_objects_ids_attr: Option<&String>, delimiter: &str, - ) -> Option> { + ) -> Option>> { if let Some(related_objects_ids_attr) = related_objects_ids_attr { if let Some(objects_ids) = payload.get(related_objects_ids_attr) { - let parsed_ids: Vec = objects_ids.to_string_repr() + let parsed_ids: Vec> = objects_ids.to_string_repr() .trim() .split(delimiter) - .filter_map(|s| if s.len() > 0 { Some(s.to_string()) } else { None }) + .filter_map(|s| if s.len() > 0 { Some(HeapedOrOwned::Owned(s.to_string())) } else { None }) .collect(); if parsed_ids.len() == 0 { diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/pie_charts.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/pie_charts.rs index 52e308b9c..f4afba4c1 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/pie_charts.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/pie_charts.rs @@ -11,6 +11,7 @@ use fancy_regex::Regex; use std::cell::RefCell; use std::collections::HashMap; use std::rc::Rc; +use crate::utils::references::HeapedOrOwned; #[derive(Clone, Debug, new)] pub struct PieChartExtractor<'a> { @@ -59,7 +60,7 @@ impl<'a> EventGroupSoftwareDataExtractor for PieChartExtractor<'a> { let grouping_value = if let Some(strategy) = config.grouping_attr() { strategy.create(&event.borrow()) } else { - event.borrow().name().to_string() + HeapedOrOwned::Heaped(event.borrow().name_pointer().clone()) }; *result diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/utils.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/utils.rs index 225cd2194..f475a376a 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/utils.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/utils.rs @@ -4,11 +4,12 @@ use crate::features::discovery::timeline::software_data::extraction_config::Name use crate::features::discovery::timeline::software_data::extractors::core::SoftwareDataExtractionError; use fancy_regex::Regex; use std::collections::HashMap; +use crate::utils::references::HeapedOrOwned; pub type RegexParingResult = Result; impl NameCreationStrategy { - pub(super) fn create(&self, event: &XesEventImpl) -> String { + pub(super) fn create(&self, event: &XesEventImpl) -> HeapedOrOwned { if let Some(map) = event.payload_map() { match self { NameCreationStrategy::SingleAttribute(single_attribute) => self.value_or_fallback(single_attribute.name(), map), @@ -23,19 +24,19 @@ impl NameCreationStrategy { result.remove(result.len() - 1); } - result + HeapedOrOwned::Owned(result) } } } else { - self.fallback_value() + HeapedOrOwned::Owned(self.fallback_value()) } } - fn value_or_fallback(&self, attr: &String, payload: &HashMap) -> String { + fn value_or_fallback(&self, attr: &String, payload: &HashMap) -> HeapedOrOwned { if let Some(attr_value) = payload.get(attr) { - attr_value.to_string_repr().to_string() + attr_value.to_string_repr() } else { - self.fallback_value() + HeapedOrOwned::Owned(self.fallback_value()) } } } diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs index 62714c7ab..24113e4fa 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs @@ -5,12 +5,13 @@ use enum_display::EnumDisplay; use getset::{Getters, MutGetters}; use serde::{Deserialize, Serialize}; use std::collections::HashMap; +use crate::utils::references::HeapedOrOwned; #[derive(Clone, Debug, Getters, MutGetters, Serialize, Deserialize)] pub struct SoftwareData { #[getset(get = "pub", get_mut = "pub")] #[serde(skip_serializing_if = "HashMap::is_empty")] - event_classes: HashMap, + event_classes: HashMap, usize>, #[getset(get = "pub", get_mut = "pub")] #[serde(skip)] @@ -49,15 +50,15 @@ impl SoftwareData { #[derive(Clone, Debug, Getters, Serialize, Deserialize, new)] pub struct OcelProducedObjectAfterConsume { #[getset(get = "pub")] - id: String, + id: HeapedOrOwned, #[getset(get = "pub")] - r#type: Option + r#type: Option> } #[derive(Clone, Debug, Getters, Serialize, Deserialize, new)] pub struct ObjectTypeWithData { #[getset(get = "pub")] - r#type: Option, + r#type: Option>, #[getset(get = "pub")] data: T, } @@ -66,14 +67,14 @@ pub struct ObjectTypeWithData { pub enum OcelObjectAction { Allocate(ObjectTypeWithData<()>), Consume(ObjectTypeWithData<()>), - AllocateMerged(ObjectTypeWithData>), + AllocateMerged(ObjectTypeWithData>>), ConsumeWithProduce(Vec) } #[derive(Clone, Debug, Getters, new, Serialize, Deserialize)] pub struct OcelData { #[getset(get = "pub")] - object_id: String, + object_id: HeapedOrOwned, #[getset(get = "pub")] action: OcelObjectAction } @@ -99,7 +100,7 @@ pub struct GenericEnhancementBase { #[derive(Clone, Debug, Getters, new, Serialize, Deserialize)] pub struct HistogramEntry { #[getset(get = "pub")] - name: String, + name: HeapedOrOwned, #[getset(get = "pub")] value: f64, } diff --git a/Ficus/src/rust/ficus/src/grpc/converters.rs b/Ficus/src/rust/ficus/src/grpc/converters.rs index 897ec6e86..7f43eb8a0 100644 --- a/Ficus/src/rust/ficus/src/grpc/converters.rs +++ b/Ficus/src/rust/ficus/src/grpc/converters.rs @@ -73,6 +73,7 @@ use chrono::{DateTime, Utc}; use uuid::Uuid; use crate::event_log::xes::xes_trace::XesTraceImpl; use crate::features::discovery::ocel::graph_annotation::{NodeObjectsState, OcelAnnotation, OcelObjectRelations, ProcessNodesStates}; +use crate::utils::references::HeapedOrOwned; pub(super) fn context_value_from_bytes(bytes: &[u8]) -> Result { GrpcContextValue::decode(bytes) @@ -310,8 +311,8 @@ fn convert_to_grpc_ocel_annotation(annotation: &OcelAnnotation) -> GrpcOcelModel fn convert_to_grpc_ocel_object_relation(relations: &OcelObjectRelations) -> GrpcOcelStateObjectRelation { GrpcOcelStateObjectRelation { - related_objects_ids: relations.related_objects_ids().clone(), - object_id: relations.object_id().to_owned(), + related_objects_ids: relations.related_objects_ids().iter().map(|id| id.to_string()).collect(), + object_id: relations.object_id().to_string(), } } @@ -319,8 +320,8 @@ fn convert_to_grpc_ocel_node_state(state: &NodeObjectsState) -> GrpcOcelState { GrpcOcelState { type_states: state.map().iter().map(|t| { GrpcOcelObjectTypeState { - r#type: t.0.to_owned(), - object_ids: t.1.iter().map(|s| s.to_owned()).collect(), + r#type: t.0.to_string(), + object_ids: t.1.iter().map(|s| s.to_string()).collect(), } }).collect() } @@ -944,22 +945,22 @@ fn convert_to_grpc_software_data(software_data: &SoftwareData) -> GrpcSoftwareDa fn convert_to_grpc_ocel_data(data: &OcelData) -> GrpcOcelData { GrpcOcelData { - object_id: data.object_id().to_owned(), + object_id: data.object_id().to_string(), action: Some(match data.action() { OcelObjectAction::Allocate(data) => grpc_ocel_data::Action::Allocate(GrpcOcelObjectTypeData { - r#type: data.r#type().to_owned() + r#type: data.r#type().as_ref().map(|t| t.to_string()) }), OcelObjectAction::Consume(data) => grpc_ocel_data::Action::Consume(GrpcOcelObjectTypeData { - r#type: data.r#type().to_owned() + r#type: data.r#type().as_ref().map(|t| t.to_string()) }), OcelObjectAction::AllocateMerged(data) => grpc_ocel_data::Action::MergedObjectAllocation(GrpcOcelAllocateMerge { - r#type: data.r#type().to_owned(), - merged_objects_ids: data.data().clone(), + r#type: data.r#type().as_ref().map(|t| t.to_string()), + merged_objects_ids: data.data().iter().map(|id| id.to_string()).collect(), }), OcelObjectAction::ConsumeWithProduce(data) => grpc_ocel_data::Action::ProduceObjectConsumption(GrpcOcelConsumeProduce { produced_objects: data.iter().map(|x| GrpcOcelProducedObject { - id: x.id().to_owned(), - r#type: x.r#type().to_owned(), + id: x.id().to_string(), + r#type: x.r#type().as_ref().map(|t| t.to_string()) }).collect() }) }) @@ -1012,11 +1013,11 @@ fn convert_to_grpc_simple_counter_data(data: &SimpleCounterData) -> GrpcSimpleCo } } -fn convert_to_grpc_histogram_entries(histogram: &HashMap) -> Vec { +fn convert_to_grpc_histogram_entries(histogram: &HashMap, usize>) -> Vec { histogram .iter() .map(|(key, value)| GrpcHistogramEntry { - name: key.to_owned(), + name: key.to_string(), count: *value as f64, }) .collect() diff --git a/Ficus/src/rust/ficus/src/utils/references.rs b/Ficus/src/rust/ficus/src/utils/references.rs index efbfa5237..244d8aa7a 100644 --- a/Ficus/src/rust/ficus/src/utils/references.rs +++ b/Ficus/src/rust/ficus/src/utils/references.rs @@ -2,6 +2,7 @@ use std::fmt::{Debug, Display, Formatter}; use std::hash::{Hash, Hasher}; use std::ops::Deref; use std::rc::Rc; +use serde::{Deserialize, Deserializer, Serialize, Serializer}; pub enum ReferenceOrOwned<'a, T> { Ref(&'a T), @@ -24,6 +25,27 @@ pub enum HeapedOrOwned { Owned(T), } +impl Serialize for HeapedOrOwned { + fn serialize(&self, serializer: S) -> Result + where + S: Serializer, + { + match self { + HeapedOrOwned::Heaped(heaped) => heaped.serialize(serializer), + HeapedOrOwned::Owned(owned) => owned.serialize(serializer), + } + } +} + +impl<'a, T: Deserialize<'a>> Deserialize<'a> for HeapedOrOwned { + fn deserialize(deserializer: D) -> Result + where + D: Deserializer<'a>, + { + Ok(HeapedOrOwned::Owned(T::deserialize(deserializer)?)) + } +} + impl Deref for HeapedOrOwned { type Target = T; From 59a6aa8b80efe6fa5f2c320d0cd3677cefa00914 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 3 Nov 2025 11:58:26 +0300 Subject: [PATCH 139/189] Don't copy strings too much --- .../software_data/extraction_config.rs | 17 ++++++++-------- .../extractors/activities_durations.rs | 4 ++-- .../software_data/extractors/pie_charts.rs | 2 +- .../extractors/simple_counter.rs | 2 +- .../software_data/extractors/utils.rs | 4 ++-- .../timeline/software_data/models.rs | 6 +++--- Ficus/src/rust/ficus/src/grpc/converters.rs | 2 +- Ficus/src/rust/ficus/src/utils/references.rs | 10 +++++++++- .../tests/software_data/extractors_tests.rs | 20 ++++++++++--------- 9 files changed, 39 insertions(+), 28 deletions(-) diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs index 0778def66..fdfd8e49b 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs @@ -4,6 +4,7 @@ use fancy_regex::Regex; use getset::{Getters, Setters}; use serde::{Deserialize, Serialize}; use std::fmt::Debug; +use crate::utils::references::HeapedOrOwned; #[derive(Clone, Debug, Setters, Getters, Serialize, Deserialize)] pub struct SoftwareDataExtractionConfig { @@ -154,11 +155,11 @@ pub struct PieChartExtractionConfig { #[derive(Clone, Debug, Getters, Serialize, Deserialize, new)] pub struct GenericExtractionConfigBase { #[getset(get = "pub")] - name: String, + name: HeapedOrOwned, #[getset(get = "pub")] - units: String, + units: HeapedOrOwned, #[getset(get = "pub")] - group: Option, + group: Option>, } #[derive(Clone, Debug, Serialize, Deserialize, new)] @@ -169,10 +170,10 @@ pub enum NameCreationStrategy { } impl NameCreationStrategy { - pub fn fallback_value(&self) -> String { + pub fn fallback_value(&self) -> HeapedOrOwned { match self { - NameCreationStrategy::SingleAttribute(s) => s.fallback_value().to_string(), - NameCreationStrategy::ManyAttributes(m) => m.fallback_value().to_string(), + NameCreationStrategy::SingleAttribute(s) => s.fallback_value().clone(), + NameCreationStrategy::ManyAttributes(m) => m.fallback_value().clone() } } } @@ -182,7 +183,7 @@ pub struct SingleAttribute { #[getset(get = "pub")] name: String, #[getset(get = "pub")] - fallback_value: String, + fallback_value: HeapedOrOwned, } #[derive(Clone, Debug, Getters, Serialize, Deserialize, new)] @@ -192,7 +193,7 @@ pub struct ManyAttributes { #[getset(get = "pub")] separator: String, #[getset(get = "pub")] - fallback_value: String, + fallback_value: HeapedOrOwned, } #[derive(Clone, Debug, Getters, Serialize, Deserialize, new)] diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/activities_durations.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/activities_durations.rs index 7cc3cd3f4..d48870b0b 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/activities_durations.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/activities_durations.rs @@ -2,7 +2,7 @@ use crate::event_log::core::event::event::Event; use crate::event_log::xes::xes_event::XesEventImpl; use crate::features::discovery::timeline::events_groups::EventGroup; use crate::features::discovery::timeline::software_data::extraction_config::{ - ActivityDurationExtractionConfig, GenericExtractionConfigBase, SoftwareDataExtractionConfig, TimeAttributeConfig, + ActivityDurationExtractionConfig, SoftwareDataExtractionConfig, TimeAttributeConfig, }; use crate::features::discovery::timeline::software_data::extractors::core::{ EventGroupTraceSoftwareDataExtractor, SoftwareDataExtractionError, @@ -189,7 +189,7 @@ fn add_software_activities_durations(software_data: &mut SoftwareData, data: &Du let base = info.base(); ActivityDurationData::new( - GenericEnhancementBase::new(base.name().to_string(), base.units().to_string(), base.group().clone()), + GenericEnhancementBase::new(base.name().clone(), base.units().clone(), base.group().clone()), *value, match info.time_attribute() { Some(attr) => DurationKind::from(attr.kind()), diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/pie_charts.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/pie_charts.rs index f4afba4c1..47523c736 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/pie_charts.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/pie_charts.rs @@ -79,7 +79,7 @@ impl<'a> EventGroupSoftwareDataExtractor for PieChartExtractor<'a> { for (_, (base, counts)) in result { software_data.histograms_mut().push(HistogramData::new( - GenericEnhancementBase::new(base.name().to_string(), base.units().to_string(), base.group().clone()), + GenericEnhancementBase::new(base.name().clone(), base.units().clone(), base.group().clone()), counts.into_iter().map(|(k, v)| HistogramEntry::new(k, v)).collect(), )) } diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/simple_counter.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/simple_counter.rs index cb46bf698..88266390b 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/simple_counter.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/simple_counter.rs @@ -69,7 +69,7 @@ impl<'a> EventGroupSoftwareDataExtractor for SimpleCounterExtractor<'a> { for (_, (base, count)) in result { software_data.simple_counters_mut().push(SimpleCounterData::new( - GenericEnhancementBase::new(base.name().to_string(), base.units().to_string(), base.group().clone()), + GenericEnhancementBase::new(base.name().clone(), base.units().clone(), base.group().clone()), count, )); } diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/utils.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/utils.rs index f475a376a..40feb09ff 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/utils.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/utils.rs @@ -28,7 +28,7 @@ impl NameCreationStrategy { } } } else { - HeapedOrOwned::Owned(self.fallback_value()) + self.fallback_value() } } @@ -36,7 +36,7 @@ impl NameCreationStrategy { if let Some(attr_value) = payload.get(attr) { attr_value.to_string_repr() } else { - HeapedOrOwned::Owned(self.fallback_value()) + self.fallback_value() } } } diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs index 24113e4fa..5657c043d 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs @@ -90,11 +90,11 @@ pub struct HistogramData { #[derive(Clone, Debug, Getters, MutGetters, new, Serialize, Deserialize)] pub struct GenericEnhancementBase { #[getset(get = "pub")] - name: String, + name: HeapedOrOwned, #[getset(get = "pub")] - units: String, + units: HeapedOrOwned, #[getset(get = "pub")] - group: Option, + group: Option> } #[derive(Clone, Debug, Getters, new, Serialize, Deserialize)] diff --git a/Ficus/src/rust/ficus/src/grpc/converters.rs b/Ficus/src/rust/ficus/src/grpc/converters.rs index 7f43eb8a0..9f26baaa2 100644 --- a/Ficus/src/rust/ficus/src/grpc/converters.rs +++ b/Ficus/src/rust/ficus/src/grpc/converters.rs @@ -988,7 +988,7 @@ fn convert_to_grpc_generic_enhancement_base(base: &GenericEnhancementBase) -> Gr GrpcGenericEnhancementBase { name: base.name().to_string(), units: base.units().to_string(), - group: base.group().clone(), + group: base.group().as_ref().map(|g| g.to_string()), } } diff --git a/Ficus/src/rust/ficus/src/utils/references.rs b/Ficus/src/rust/ficus/src/utils/references.rs index 244d8aa7a..4ec95244f 100644 --- a/Ficus/src/rust/ficus/src/utils/references.rs +++ b/Ficus/src/rust/ficus/src/utils/references.rs @@ -42,10 +42,18 @@ impl<'a, T: Deserialize<'a>> Deserialize<'a> for HeapedOrOwned { where D: Deserializer<'a>, { - Ok(HeapedOrOwned::Owned(T::deserialize(deserializer)?)) + Ok(HeapedOrOwned::Heaped(Rc::new(Box::new(T::deserialize(deserializer)?)))) } } +pub fn owned(t: T) -> HeapedOrOwned { + HeapedOrOwned::Owned(t) +} + +pub fn heaped(t: T) -> HeapedOrOwned { + HeapedOrOwned::Heaped(Rc::new(Box::new(t))) +} + impl Deref for HeapedOrOwned { type Target = T; diff --git a/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs b/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs index 8cde7bc57..7d9453621 100644 --- a/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs +++ b/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs @@ -13,6 +13,7 @@ use ficus::features::discovery::timeline::software_data::models::{OcelProducedOb use std::cell::RefCell; use std::rc::Rc; use ficus::features::discovery::timeline::software_data::extractors::ocel::OcelDataExtractor; +use ficus::utils::references::heaped; #[test] fn test_general_histogram() { @@ -87,10 +88,10 @@ fn test_general_histogram() { ExtractionConfig::new( "histogram_event".to_string(), PieChartExtractionConfig::new( - GenericExtractionConfigBase::new("g1".to_string(), "units".to_string(), None), + GenericExtractionConfigBase::new(heaped("g1".to_string()), heaped("units".to_string()), None), Some(NameCreationStrategy::SingleAttribute(SingleAttribute::new( "type".to_string(), - "xd".to_string(), + heaped("xd".to_string()), ))), Some("count".to_string()), ), @@ -98,10 +99,10 @@ fn test_general_histogram() { ExtractionConfig::new( "hst_event".to_string(), PieChartExtractionConfig::new( - GenericExtractionConfigBase::new("g2".to_string(), "units".to_string(), None), + GenericExtractionConfigBase::new(heaped("g2".to_string()), heaped("units".to_string()), None), Some(NameCreationStrategy::SingleAttribute(SingleAttribute::new( "type".to_string(), - "xd".to_string(), + heaped("xd".to_string()), ))), Some("count".to_string()), ), @@ -196,14 +197,14 @@ fn test_simple_counter() { ExtractionConfig::new( "histogram_event".to_string(), SimpleCountExtractionConfig::new( - GenericExtractionConfigBase::new("counter1".to_string(), "units".to_string(), None), + GenericExtractionConfigBase::new(heaped("counter1".to_string()), heaped("units".to_string()), None), None, ), ), ExtractionConfig::new( "hst_event".to_string(), SimpleCountExtractionConfig::new( - GenericExtractionConfigBase::new("counter2".to_string(), "units".to_string(), None), + GenericExtractionConfigBase::new(heaped("counter2".to_string()), heaped("units".to_string()), None), Some("count".to_string()), ), ), @@ -269,13 +270,13 @@ fn test_activities_duration() { fn execute_test_with_activities_durations(gold: &str, raw_event_groups: Vec>>>>) { let mut config = SoftwareDataExtractionConfig::empty(); config.set_activities_duration_configs(vec![ActivityDurationExtractionConfig::new( - GenericExtractionConfigBase::new("activity".to_string(), "units".to_string(), None), + GenericExtractionConfigBase::new(heaped("activity".to_string()), heaped("units".to_string()), None), "event_start".to_string(), "event_end".to_string(), Some(TimeAttributeConfig::new("stamp".to_string(), TimeKind::Unknown)), Some(NameCreationStrategy::SingleAttribute(SingleAttribute::new( "activity_id".to_string(), - "xd".to_string(), + heaped("xd".to_string()), ))), )]); @@ -437,7 +438,8 @@ pub fn test_ocel_data_extraction() { let mut config = SoftwareDataExtractionConfig::empty(); let object_id_attr = "object_id"; - let object_type_attr = NameCreationStrategy::SingleAttribute(SingleAttribute::new("object_type".to_string(), "???".to_string())); + let object_type_attr = SingleAttribute::new("object_type".to_string(), heaped("???".to_string())); + let object_type_attr = NameCreationStrategy::SingleAttribute(object_type_attr); let base_conf = OcelObjectExtractionConfigBase::new(object_type_attr.to_owned(), object_id_attr.to_string()); let related_ids_attr = "ocel_related_objects_ids"; let related_types_attr = "ocel_related_objects_types"; From 6046cef846c9a17ec819ee0cba0bb51deb819831 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 3 Nov 2025 12:00:35 +0300 Subject: [PATCH 140/189] cargo fmt --- .../rust/ficus/src/features/discovery/mod.rs | 2 +- .../discovery/ocel/graph_annotation.rs | 36 ++++--- .../ficus/src/features/discovery/ocel/mod.rs | 2 +- .../discovery/root_sequence/discovery.rs | 2 +- .../discovery/root_sequence/models.rs | 6 +- .../discovery/timeline/abstraction.rs | 2 +- .../software_data/extraction_config.rs | 10 +- .../extractors/activities_durations.rs | 21 ++-- .../timeline/software_data/extractors/core.rs | 2 +- .../software_data/extractors/event_classes.rs | 2 +- .../timeline/software_data/extractors/mod.rs | 2 +- .../timeline/software_data/extractors/ocel.rs | 102 ++++++++++++------ .../software_data/extractors/pie_charts.rs | 2 +- .../software_data/extractors/utils.rs | 2 +- .../timeline/software_data/models.rs | 18 ++-- .../src/features/discovery/timeline/utils.rs | 4 +- .../rust/ficus/src/grpc/backend_service.rs | 44 ++++---- .../ficus/src/grpc/context_values_service.rs | 20 ++-- Ficus/src/rust/ficus/src/grpc/converters.rs | 101 ++++++++++------- .../src/grpc/kafka/grpc_kafka_service.rs | 5 +- .../ficus/src/pipelines/annotations_parts.rs | 6 +- .../ficus/src/pipelines/keys/context_keys.rs | 2 +- .../ficus/src/pipelines/pipeline_parts.rs | 4 +- Ficus/src/rust/ficus/src/utils/context_key.rs | 2 +- Ficus/src/rust/ficus/src/utils/graph/graph.rs | 4 +- Ficus/src/rust/ficus/src/utils/references.rs | 2 +- .../ficus/src/utils/user_data/user_data.rs | 12 +-- .../tests/pipelines/pipeline_keys_tests.rs | 2 +- .../tests/software_data/extractors_tests.rs | 78 +++++++------- 29 files changed, 292 insertions(+), 205 deletions(-) diff --git a/Ficus/src/rust/ficus/src/features/discovery/mod.rs b/Ficus/src/rust/ficus/src/features/discovery/mod.rs index 0ba1b746a..2355b642b 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/mod.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/mod.rs @@ -2,8 +2,8 @@ pub mod alpha; pub mod fuzzy; pub mod heuristic; pub mod multithreaded_dfg; +pub mod ocel; pub mod petri_net; pub mod relations; pub mod root_sequence; pub mod timeline; -pub mod ocel; diff --git a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs index bb96d7dd0..6a8922cba 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs @@ -13,7 +13,7 @@ use std::rc::Rc; #[derive(new, Getters)] pub struct OcelAnnotation { #[get = "pub"] - nodes_to_states: HashMap + nodes_to_states: HashMap, } #[derive(EnumDisplay)] @@ -22,20 +22,18 @@ pub enum OcelAnnotationCreationError { FailedToFindStartNode, ObjectAlreadyExistsInNodeState, ConsumeNotExistingObject, - OneOfMergedObjetsDoesNotExist + OneOfMergedObjetsDoesNotExist, } #[derive(Getters)] pub struct NodeObjectsState { #[getset(get = "pub")] - map: HashMap, HashSet>> + map: HashMap, HashSet>>, } impl NodeObjectsState { pub fn new() -> Self { - Self { - map: HashMap::new() - } + Self { map: HashMap::new() } } pub fn add_allocated_object( @@ -44,7 +42,7 @@ impl NodeObjectsState { object_id: HeapedOrOwned, ) -> Result<(), OcelAnnotationCreationError> { if self.contains_object(&object_type, &object_id) { - return Err(OcelAnnotationCreationError::ObjectAlreadyExistsInNodeState) + return Err(OcelAnnotationCreationError::ObjectAlreadyExistsInNodeState); } self.type_set_mut(&object_type).insert(object_id); @@ -60,7 +58,7 @@ impl NodeObjectsState { pub fn remove_unknown_object(&mut self, id: &HeapedOrOwned) { for (_, set) in self.map.iter_mut() { if set.remove(id) { - return + return; } } } @@ -103,7 +101,7 @@ pub struct ProcessNodesStates { #[get = "pub"] final_objects: NodeObjectsState, #[get = "pub"] - incoming_objects_relations: Vec + incoming_objects_relations: Vec, } #[derive(new, Getters)] @@ -119,13 +117,19 @@ lazy_static! { } pub fn create_ocel_annotation_for_dag(graph: &DefaultGraph) -> Result { - let Some(kind) = graph.kind.as_ref() else { return Err(OcelAnnotationCreationError::UnsupportedGraphKind) }; + let Some(kind) = graph.kind.as_ref() else { + return Err(OcelAnnotationCreationError::UnsupportedGraphKind); + }; if !kind.is_dag() { - return Err(OcelAnnotationCreationError::UnsupportedGraphKind) + return Err(OcelAnnotationCreationError::UnsupportedGraphKind); } let mut q = VecDeque::new(); - let start_node_id = graph.all_nodes().iter().find(|n| graph.incoming_edges(n.id()).len() == 0).map(|n| n.id().to_owned()); + let start_node_id = graph + .all_nodes() + .iter() + .find(|n| graph.incoming_edges(n.id()).len() == 0) + .map(|n| n.id().to_owned()); if start_node_id.is_none() { return Err(OcelAnnotationCreationError::FailedToFindStartNode); @@ -175,7 +179,7 @@ pub fn create_ocel_annotation_for_dag(graph: &DefaultGraph) -> Result { let obj_type = data.r#type().as_ref().unwrap_or(&fallback_type); if prev_state.final_objects.contains_object(obj_type, obj_id) { - return Err(OcelAnnotationCreationError::ConsumeNotExistingObject) + return Err(OcelAnnotationCreationError::ConsumeNotExistingObject); } new_node_state.remove_object(obj_type, obj_id); @@ -185,7 +189,7 @@ pub fn create_ocel_annotation_for_dag(graph: &DefaultGraph) -> Result Result { if !prev_state.final_objects.contains_unknown_object(obj_id) { - return Err(OcelAnnotationCreationError::ConsumeNotExistingObject) + return Err(OcelAnnotationCreationError::ConsumeNotExistingObject); } for produced_obj in data.iter() { @@ -225,4 +229,4 @@ pub fn create_ocel_annotation_for_dag(graph: &DefaultGraph) -> Result( let graph_kind = match context.root_sequence_kind() { RootSequenceKind::FindBest | RootSequenceKind::PairwiseLCS | RootSequenceKind::Trace => GraphKind::Dag, - RootSequenceKind::LCS => GraphKind::DagLCS + RootSequenceKind::LCS => GraphKind::DagLCS, }; result.graph_mut().set_kind(Some(graph_kind)); diff --git a/Ficus/src/rust/ficus/src/features/discovery/root_sequence/models.rs b/Ficus/src/rust/ficus/src/features/discovery/root_sequence/models.rs index 4bd87d4e9..46a4dc15e 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/root_sequence/models.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/root_sequence/models.rs @@ -100,8 +100,10 @@ impl NodeAdditionalDataContainer { #[derive(Clone, Debug, Getters, new)] pub struct ActivityStartEndTimeData { - #[getset(get = "pub")] start_time: i64, - #[getset(get = "pub")] end_time: i64, + #[getset(get = "pub")] + start_time: i64, + #[getset(get = "pub")] + end_time: i64, } #[derive(Clone, Debug)] diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/abstraction.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/abstraction.rs index 595019ec8..5b880c026 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/abstraction.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/abstraction.rs @@ -21,6 +21,7 @@ use crate::features::discovery::timeline::software_data::extractors::core::{ EventGroupSoftwareDataExtractor, EventGroupTraceSoftwareDataExtractor, SoftwareDataExtractionError, }; use crate::features::discovery::timeline::software_data::extractors::event_classes::EventClassesDataExtractor; +use crate::features::discovery::timeline::software_data::extractors::ocel::OcelDataExtractor; use crate::features::discovery::timeline::software_data::extractors::pie_charts::PieChartExtractor; use crate::features::discovery::timeline::software_data::extractors::simple_counter::SimpleCounterExtractor; use crate::features::discovery::timeline::software_data::models::SoftwareData; @@ -34,7 +35,6 @@ use crate::utils::vec_utils::VectorOptionExtensions; use log::error; use std::cell::RefCell; use std::rc::Rc; -use crate::features::discovery::timeline::software_data::extractors::ocel::OcelDataExtractor; pub fn abstract_event_groups( event_groups: Vec>, diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs index fdfd8e49b..3927a4fea 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extraction_config.rs @@ -1,10 +1,10 @@ use crate::features::mutations::mutations::{ARTIFICIAL_END_EVENT_NAME, ARTIFICIAL_START_EVENT_NAME}; +use crate::utils::references::HeapedOrOwned; use derive_new::new; use fancy_regex::Regex; use getset::{Getters, Setters}; use serde::{Deserialize, Serialize}; use std::fmt::Debug; -use crate::utils::references::HeapedOrOwned; #[derive(Clone, Debug, Setters, Getters, Serialize, Deserialize)] pub struct SoftwareDataExtractionConfig { @@ -101,7 +101,7 @@ pub struct OcelConsumeProduceExtractionConfig { #[getset(get = "pub")] related_object_ids_attr: String, #[getset(get = "pub")] - related_object_type_attr: String + related_object_type_attr: String, } #[derive(Clone, Debug, Getters, Serialize, Deserialize, new)] @@ -173,7 +173,7 @@ impl NameCreationStrategy { pub fn fallback_value(&self) -> HeapedOrOwned { match self { NameCreationStrategy::SingleAttribute(s) => s.fallback_value().clone(), - NameCreationStrategy::ManyAttributes(m) => m.fallback_value().clone() + NameCreationStrategy::ManyAttributes(m) => m.fallback_value().clone(), } } } @@ -223,7 +223,7 @@ pub struct TimeAttributeConfig { #[getset(get = "pub")] time_attribute: String, #[getset(get = "pub")] - kind: TimeKind + kind: TimeKind, } #[derive(Clone, Debug, Serialize, Deserialize)] @@ -238,5 +238,5 @@ pub enum TimeKind { Hours, Days, - UtcStamp + UtcStamp, } diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/activities_durations.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/activities_durations.rs index d48870b0b..1ab9fb078 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/activities_durations.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/activities_durations.rs @@ -8,8 +8,11 @@ use crate::features::discovery::timeline::software_data::extractors::core::{ EventGroupTraceSoftwareDataExtractor, SoftwareDataExtractionError, }; use crate::features::discovery::timeline::software_data::extractors::utils::RegexParingResult; -use crate::features::discovery::timeline::software_data::models::{ActivityDurationData, DurationKind, GenericEnhancementBase, SoftwareData}; +use crate::features::discovery::timeline::software_data::models::{ + ActivityDurationData, DurationKind, GenericEnhancementBase, SoftwareData, +}; use crate::features::discovery::timeline::utils::get_stamp; +use crate::utils::references::HeapedOrOwned; use crate::utils::vec_utils::VectorOptionExtensions; use derive_new::new; use fancy_regex::Regex; @@ -18,7 +21,6 @@ use log::error; use std::cell::RefCell; use std::collections::HashMap; use std::rc::Rc; -use crate::utils::references::HeapedOrOwned; #[derive(Clone, Debug, new)] pub struct ActivityDurationExtractor<'a> { @@ -193,8 +195,8 @@ fn add_software_activities_durations(software_data: &mut SoftwareData, data: &Du *value, match info.time_attribute() { Some(attr) => DurationKind::from(attr.kind()), - None => DurationKind::Unknown - } + None => DurationKind::Unknown, + }, ) })); } @@ -290,11 +292,7 @@ fn process_events( for prev_data in previous_data.iter_mut() { if let Some(prev_data) = prev_data.as_mut() { let duration = (prev_data.end_time - prev_data.start_time) as u64; - (*prev_data - .map - .entry(info.base().name().to_string()) - .or_insert((0u64, info.clone())) - ).0 += duration; + (*prev_data.map.entry(info.base().name().to_string()).or_insert((0u64, info.clone()))).0 += duration; } } } @@ -333,7 +331,10 @@ fn get_duration( Ok((get_stamp_or_err(second, attribute)? - get_stamp_or_err(first, attribute)?) as u64) } -fn get_stamp_or_err(event: &Rc>, attribute: Option<&TimeAttributeConfig>) -> Result { +fn get_stamp_or_err( + event: &Rc>, + attribute: Option<&TimeAttributeConfig>, +) -> Result { let attribute = attribute.map(|a| a.time_attribute()); get_stamp(&event.borrow(), attribute).map_err(|_| SoftwareDataExtractionError::FailedToGetStamp) } diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/core.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/core.rs index c971f4cfc..a10d0e59f 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/core.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/core.rs @@ -56,4 +56,4 @@ pub(super) fn parse_or_err(value: &str) -> Result { diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/mod.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/mod.rs index 1261df206..459357e90 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/mod.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/mod.rs @@ -1,7 +1,7 @@ pub mod activities_durations; pub mod core; pub mod event_classes; +pub mod ocel; pub mod pie_charts; pub mod simple_counter; -pub mod ocel; mod utils; diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs index 7ea8d52df..17fdc1219 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/ocel.rs @@ -1,16 +1,21 @@ use crate::event_log::core::event::event::{Event, EventPayloadValue}; use crate::event_log::xes::xes_event::XesEventImpl; -use crate::features::discovery::timeline::software_data::extraction_config::{ExtractionConfig, OcelAllocateMergeExtractionConfig, OcelConsumeProduceExtractionConfig, OcelObjectExtractionConfigBase, SoftwareDataExtractionConfig}; +use crate::features::discovery::timeline::software_data::extraction_config::{ + ExtractionConfig, OcelAllocateMergeExtractionConfig, OcelConsumeProduceExtractionConfig, OcelObjectExtractionConfigBase, + SoftwareDataExtractionConfig, +}; use crate::features::discovery::timeline::software_data::extractors::core::{EventGroupSoftwareDataExtractor, SoftwareDataExtractionError}; -use crate::features::discovery::timeline::software_data::models::{ObjectTypeWithData, OcelData, OcelObjectAction, OcelProducedObjectAfterConsume, SoftwareData}; +use crate::features::discovery::timeline::software_data::models::{ + ObjectTypeWithData, OcelData, OcelObjectAction, OcelProducedObjectAfterConsume, SoftwareData, +}; +use crate::utils::references::HeapedOrOwned; use derive_new::new; +use fancy_regex::Regex; +use log::{debug, warn}; use std::cell::RefCell; use std::collections::HashMap; use std::fmt::Debug; use std::rc::Rc; -use log::{debug, warn}; -use fancy_regex::Regex; -use crate::utils::references::HeapedOrOwned; #[derive(Debug, Clone, new)] pub struct OcelDataExtractor<'a> { @@ -23,7 +28,9 @@ impl<'a> EventGroupSoftwareDataExtractor for OcelDataExtractor<'a> { software_data: &mut SoftwareData, events: &[Rc>], ) -> Result<(), SoftwareDataExtractionError> { - let Some(ocel_config) = self.config.ocel().as_ref() else { return Ok(()) }; + let Some(ocel_config) = self.config.ocel().as_ref() else { + return Ok(()); + }; let alloc_config = Self::map_config_to_regex(ocel_config.allocated())?; let consume_config = Self::map_config_to_regex(ocel_config.consumed())?; @@ -35,10 +42,10 @@ impl<'a> EventGroupSoftwareDataExtractor for OcelDataExtractor<'a> { for event in events { let event = &event.borrow(); - let _ = Self::process_allocate_merge(event, alloc_merged_config.as_ref(), delimiter, software_data) || - Self::process_consume_produce(event, consume_produce_config.as_ref(), delimiter, software_data) || - Self::process_allocate(event, alloc_config.as_ref(), software_data) || - Self::process_consume(event, consume_config.as_ref(), software_data); + let _ = Self::process_allocate_merge(event, alloc_merged_config.as_ref(), delimiter, software_data) + || Self::process_consume_produce(event, consume_produce_config.as_ref(), delimiter, software_data) + || Self::process_allocate(event, alloc_config.as_ref(), software_data) + || Self::process_consume(event, consume_config.as_ref(), software_data); } Ok(()) @@ -46,7 +53,9 @@ impl<'a> EventGroupSoftwareDataExtractor for OcelDataExtractor<'a> { } impl<'a> OcelDataExtractor<'a> { - fn map_config_to_regex(config: &Option>) -> Result, SoftwareDataExtractionError> { + fn map_config_to_regex( + config: &Option>, + ) -> Result, SoftwareDataExtractionError> { let Some(config) = config else { return Ok(None) }; let regex = config.event_class_regex(); @@ -60,8 +69,12 @@ impl<'a> OcelDataExtractor<'a> { config: Option<&(Regex, &OcelObjectExtractionConfigBase)>, software_data: &mut SoftwareData, ) -> bool { - let Some(config) = Self::try_get_config(event, config) else { return false }; - let Some((id, obj_type)) = Self::extract_object_id_and_type(event, config) else { return false }; + let Some(config) = Self::try_get_config(event, config) else { + return false; + }; + let Some((id, obj_type)) = Self::extract_object_id_and_type(event, config) else { + return false; + }; let action = OcelObjectAction::Allocate(ObjectTypeWithData::new(Some(obj_type), ())); software_data.ocel_data_mut().push(OcelData::new(id, action)); @@ -71,7 +84,9 @@ impl<'a> OcelDataExtractor<'a> { fn try_get_config<'b, T>(event: &'b XesEventImpl, config: Option<&'b (Regex, T)>) -> Option<&'b T> { let Some((regex, config)) = config else { return None }; - if !regex.is_match(event.name().as_str()).unwrap_or(false) { return None } + if !regex.is_match(event.name().as_str()).unwrap_or(false) { + return None; + } Some(config) } @@ -81,9 +96,13 @@ impl<'a> OcelDataExtractor<'a> { config: Option<&(Regex, &OcelObjectExtractionConfigBase)>, software_data: &mut SoftwareData, ) -> bool { - let Some(config) = Self::try_get_config(event, config) else { return false }; + let Some(config) = Self::try_get_config(event, config) else { + return false; + }; - let Some((id, obj_type)) = Self::extract_object_id_and_type(event, config) else { return false }; + let Some((id, obj_type)) = Self::extract_object_id_and_type(event, config) else { + return false; + }; let action = OcelObjectAction::Consume(ObjectTypeWithData::new(Some(obj_type), ())); software_data.ocel_data_mut().push(OcelData::new(id, action)); @@ -100,9 +119,9 @@ impl<'a> OcelDataExtractor<'a> { let object_id = match Self::parse_object_id(&event, config.object_id_attr().as_str()) { None => { debug!("Object does not have an object id, skipping it"); - return None + return None; } - Some(id) => id + Some(id) => id, }; Some((object_id, object_type)) @@ -114,13 +133,19 @@ impl<'a> OcelDataExtractor<'a> { delimiter: &str, software_data: &mut SoftwareData, ) -> bool { - let Some(config) = Self::try_get_config(event, config) else { return false }; + let Some(config) = Self::try_get_config(event, config) else { + return false; + }; let Some(payload) = event.payload_map() else { return false }; - let Some((id, obj_type)) = Self::extract_object_id_and_type(event, config.allocated_obj()) else { return false }; + let Some((id, obj_type)) = Self::extract_object_id_and_type(event, config.allocated_obj()) else { + return false; + }; let related_objects_ids = Self::parse_related_objects_ids(payload, Some(config.related_object_ids_attr()), delimiter); - let Some(related_objects_ids) = related_objects_ids else { return false }; + let Some(related_objects_ids) = related_objects_ids else { + return false; + }; let data = ObjectTypeWithData::new(Some(obj_type), related_objects_ids); let ocel_data = OcelData::new(id, OcelObjectAction::AllocateMerged(data)); @@ -135,15 +160,23 @@ impl<'a> OcelDataExtractor<'a> { delimiter: &str, software_data: &mut SoftwareData, ) -> bool { - let Some(config) = Self::try_get_config(event, config) else { return false }; + let Some(config) = Self::try_get_config(event, config) else { + return false; + }; let Some(payload) = event.payload_map() else { return false }; - let Some(object_id) = Self::parse_object_id(&event, config.object_id_attr().as_str()) else { return false }; + let Some(object_id) = Self::parse_object_id(&event, config.object_id_attr().as_str()) else { + return false; + }; let related_objects_ids = Self::parse_related_objects_ids(payload, Some(config.related_object_ids_attr()), delimiter); - let Some(related_objects_ids) = related_objects_ids else { return false }; + let Some(related_objects_ids) = related_objects_ids else { + return false; + }; let related_objects_types = Self::parse_related_objects_ids(payload, Some(config.related_object_type_attr()), delimiter); - let Some(related_objects_types) = related_objects_types else { return false }; + let Some(related_objects_types) = related_objects_types else { + return false; + }; if related_objects_ids.len() != related_objects_types.len() { warn!("related_objects_ids.len() != related_objects_types.len(), will not add consume produce"); @@ -165,7 +198,7 @@ impl<'a> OcelDataExtractor<'a> { fn parse_object_id(event: &XesEventImpl, object_id_attr: &str) -> Option> { if let Some(map) = event.payload_map().as_ref() { if let Some(object_id) = map.get(object_id_attr).as_ref() { - return Some(object_id.to_string_repr()) + return Some(object_id.to_string_repr()); } } @@ -179,20 +212,27 @@ impl<'a> OcelDataExtractor<'a> { ) -> Option>> { if let Some(related_objects_ids_attr) = related_objects_ids_attr { if let Some(objects_ids) = payload.get(related_objects_ids_attr) { - let parsed_ids: Vec> = objects_ids.to_string_repr() + let parsed_ids: Vec> = objects_ids + .to_string_repr() .trim() .split(delimiter) - .filter_map(|s| if s.len() > 0 { Some(HeapedOrOwned::Owned(s.to_string())) } else { None }) + .filter_map(|s| { + if s.len() > 0 { + Some(HeapedOrOwned::Owned(s.to_string())) + } else { + None + } + }) .collect(); if parsed_ids.len() == 0 { - return None + return None; } - return Some(parsed_ids) + return Some(parsed_ids); } } None } -} \ No newline at end of file +} diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/pie_charts.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/pie_charts.rs index 47523c736..ead8da874 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/pie_charts.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/pie_charts.rs @@ -6,12 +6,12 @@ use crate::features::discovery::timeline::software_data::extractors::core::{ }; use crate::features::discovery::timeline::software_data::extractors::utils::RegexParingResult; use crate::features::discovery::timeline::software_data::models::{GenericEnhancementBase, HistogramData, HistogramEntry, SoftwareData}; +use crate::utils::references::HeapedOrOwned; use derive_new::new; use fancy_regex::Regex; use std::cell::RefCell; use std::collections::HashMap; use std::rc::Rc; -use crate::utils::references::HeapedOrOwned; #[derive(Clone, Debug, new)] pub struct PieChartExtractor<'a> { diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/utils.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/utils.rs index 40feb09ff..b51f10fdf 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/utils.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/extractors/utils.rs @@ -2,9 +2,9 @@ use crate::event_log::core::event::event::{Event, EventPayloadValue}; use crate::event_log::xes::xes_event::XesEventImpl; use crate::features::discovery::timeline::software_data::extraction_config::NameCreationStrategy; use crate::features::discovery::timeline::software_data::extractors::core::SoftwareDataExtractionError; +use crate::utils::references::HeapedOrOwned; use fancy_regex::Regex; use std::collections::HashMap; -use crate::utils::references::HeapedOrOwned; pub type RegexParingResult = Result; diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs index 5657c043d..e985fddf6 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/software_data/models.rs @@ -1,11 +1,11 @@ use crate::features::discovery::timeline::discovery::TraceThread; use crate::features::discovery::timeline::software_data::extraction_config::TimeKind; +use crate::utils::references::HeapedOrOwned; use derive_new::new; use enum_display::EnumDisplay; use getset::{Getters, MutGetters}; use serde::{Deserialize, Serialize}; use std::collections::HashMap; -use crate::utils::references::HeapedOrOwned; #[derive(Clone, Debug, Getters, MutGetters, Serialize, Deserialize)] pub struct SoftwareData { @@ -42,7 +42,7 @@ impl SoftwareData { histograms: vec![], simple_counters: vec![], activities_durations: vec![], - ocel_data: vec![] + ocel_data: vec![], } } } @@ -52,7 +52,7 @@ pub struct OcelProducedObjectAfterConsume { #[getset(get = "pub")] id: HeapedOrOwned, #[getset(get = "pub")] - r#type: Option> + r#type: Option>, } #[derive(Clone, Debug, Getters, Serialize, Deserialize, new)] @@ -68,7 +68,7 @@ pub enum OcelObjectAction { Allocate(ObjectTypeWithData<()>), Consume(ObjectTypeWithData<()>), AllocateMerged(ObjectTypeWithData>>), - ConsumeWithProduce(Vec) + ConsumeWithProduce(Vec), } #[derive(Clone, Debug, Getters, new, Serialize, Deserialize)] @@ -76,7 +76,7 @@ pub struct OcelData { #[getset(get = "pub")] object_id: HeapedOrOwned, #[getset(get = "pub")] - action: OcelObjectAction + action: OcelObjectAction, } #[derive(Clone, Debug, Getters, MutGetters, new, Serialize, Deserialize)] @@ -94,7 +94,7 @@ pub struct GenericEnhancementBase { #[getset(get = "pub")] units: HeapedOrOwned, #[getset(get = "pub")] - group: Option> + group: Option>, } #[derive(Clone, Debug, Getters, new, Serialize, Deserialize)] @@ -120,7 +120,7 @@ pub struct ActivityDurationData { #[getset(get = "pub")] duration: u64, #[getset(get = "pub")] - kind: DurationKind + kind: DurationKind, } #[derive(Clone, Debug, Serialize, Deserialize)] @@ -147,7 +147,7 @@ impl From<&TimeKind> for DurationKind { TimeKind::Minutes => Self::Minutes, TimeKind::Hours => Self::Hours, TimeKind::Days => Self::Days, - TimeKind::UtcStamp => Self::Nanos + TimeKind::UtcStamp => Self::Nanos, } } -} \ No newline at end of file +} diff --git a/Ficus/src/rust/ficus/src/features/discovery/timeline/utils.rs b/Ficus/src/rust/ficus/src/features/discovery/timeline/utils.rs index 28dfa63cf..549b2da82 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/timeline/utils.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/timeline/utils.rs @@ -1,7 +1,7 @@ -use chrono::{DateTime, Utc}; use crate::event_log::core::event::event::{Event, EventPayloadValue}; use crate::event_log::xes::xes_event::XesEventImpl; use crate::features::discovery::timeline::discovery::LogThreadsDiagramError; +use chrono::{DateTime, Utc}; pub fn extract_thread_id(event: &TEvent, thread_attribute: &str) -> Option { if let Some(map) = event.payload_map() { @@ -39,4 +39,4 @@ fn get_utc_date_stamp(date: &DateTime) -> Result> + Send + Sync + 'static>>; + type ExecutePipelineStream = Pin> + Send + Sync + 'static>>; async fn execute_pipeline( &self, @@ -82,10 +82,15 @@ impl GrpcBackendService for FicusService { if let Some(grpc_cv) = convert_to_grpc_context_value(&context_key, value) { let id = Uuid::new_v4(); - cv_service.put_context_value(id.to_string(), GrpcContextKeyValue { - key: Some(GrpcContextKey { name: key.name().to_owned() }), - value: Some(grpc_cv), - }); + cv_service.put_context_value( + id.to_string(), + GrpcContextKeyValue { + key: Some(GrpcContextKey { + name: key.name().to_owned(), + }), + value: Some(grpc_cv), + }, + ); ids.insert(key.name().to_owned(), id); } @@ -120,7 +125,7 @@ impl GrpcBackendService for FicusService { Some(keys_to_cv_ids) => match keys_to_cv_ids.get(key.key().name()) { None => Err(Status::not_found("Failed to get context for guid".to_string())), Some(id) => Ok(Response::new(GrpcGuid { guid: id.to_string() })), - } + }, } } } @@ -131,10 +136,12 @@ impl GrpcBackendService for FicusService { match self.contexts.lock().as_ref().unwrap().get(&id.guid) { None => Err(Status::not_found("The context values for supplied execution id are not found")), Some(keys_to_cv_ids) => Ok(Response::new(GrpcGetAllContextValuesResult { - context_values: keys_to_cv_ids.values().into_iter().map(|id| GrpcGuid { - guid: id.to_string() - }).collect() - })) + context_values: keys_to_cv_ids + .values() + .into_iter() + .map(|id| GrpcGuid { guid: id.to_string() }) + .collect(), + })), } } @@ -152,12 +159,11 @@ impl GrpcBackendService for FicusService { async fn get_backend_info(&self, _: Request<()>) -> Result, Status> { Ok(Response::new(GrpcFicusBackendInfo { name: "RUST_FICUS_BACKEND".to_string(), - pipeline_parts: self.pipeline_parts + pipeline_parts: self + .pipeline_parts .pipeline_parts_descriptors() .into_iter() - .map(|d| GrpcPipelinePartDescriptor { - name: d.name() - }) + .map(|d| GrpcPipelinePartDescriptor { name: d.name() }) .collect(), })) } diff --git a/Ficus/src/rust/ficus/src/grpc/context_values_service.rs b/Ficus/src/rust/ficus/src/grpc/context_values_service.rs index b1f1ab40a..930f408d7 100644 --- a/Ficus/src/rust/ficus/src/grpc/context_values_service.rs +++ b/Ficus/src/rust/ficus/src/grpc/context_values_service.rs @@ -1,14 +1,16 @@ use crate::ficus_proto::grpc_context_values_service_server::GrpcContextValuesService; -use crate::ficus_proto::{GrpcContextKey, GrpcContextKeyValue, GrpcContextValue, GrpcContextValuePart, GrpcDropContextValuesRequest, GrpcGuid}; +use crate::ficus_proto::{ + GrpcContextKey, GrpcContextKeyValue, GrpcContextValue, GrpcContextValuePart, GrpcDropContextValuesRequest, GrpcGuid, +}; use crate::grpc::converters::context_value_from_bytes; +use prost::Message; use std::collections::HashMap; use std::pin::Pin; use std::sync::{Arc, Mutex}; -use prost::Message; use tokio::sync::mpsc; use tokio_stream::wrappers::ReceiverStream; -use tonic::{Code, Request, Response, Status, Streaming}; use tonic::codegen::futures_core::Stream; +use tonic::{Code, Request, Response, Status, Streaming}; use uuid::Uuid; pub struct ContextValueService { @@ -61,12 +63,10 @@ impl ContextValueService { match context_values.get(key) { None => None, - Some(value) => Some( - ( - value.key.as_ref().unwrap().name.clone(), - value.value.as_ref().unwrap().encode_to_vec() - ) - ) + Some(value) => Some(( + value.key.as_ref().unwrap().name.clone(), + value.value.as_ref().unwrap().encode_to_vec(), + )), } } } @@ -112,7 +112,7 @@ impl GrpcContextValuesService for GrpcContextValueService { })) } - type GetContextValueStream = Pin> + Send + 'static>>; + type GetContextValueStream = Pin> + Send + 'static>>; async fn get_context_value(&self, request: Request) -> Result, Status> { let (sender, receiver) = mpsc::channel(4); diff --git a/Ficus/src/rust/ficus/src/grpc/converters.rs b/Ficus/src/rust/ficus/src/grpc/converters.rs index 9f26baaa2..9ff5ba940 100644 --- a/Ficus/src/rust/ficus/src/grpc/converters.rs +++ b/Ficus/src/rust/ficus/src/grpc/converters.rs @@ -3,11 +3,13 @@ use crate::event_log::core::event_log::EventLog; use crate::event_log::core::trace::trace::Trace; use crate::event_log::xes::xes_event::XesEventImpl; use crate::event_log::xes::xes_event_log::XesEventLogImpl; +use crate::event_log::xes::xes_trace::XesTraceImpl; use crate::features::analysis::log_info::event_log_info::{EventLogInfo, OfflineEventLogInfo}; use crate::features::analysis::patterns::activity_instances::{ActivityInTraceFilterKind, ActivityNarrowingKind}; use crate::features::analysis::patterns::pattern_info::{UnderlyingPatternGraphInfo, UnderlyingPatternKind}; use crate::features::clustering::activities::activities_params::ActivityRepresentationSource; use crate::features::clustering::traces::traces_params::TracesRepresentationSource; +use crate::features::discovery::ocel::graph_annotation::{NodeObjectsState, OcelAnnotation, OcelObjectRelations, ProcessNodesStates}; use crate::features::discovery::petri_net::annotations::TimeAnnotationKind; use crate::features::discovery::petri_net::arc::Arc; use crate::features::discovery::petri_net::marking::{Marking, SingleMarking}; @@ -23,14 +25,35 @@ use crate::features::discovery::root_sequence::models::{ ActivityStartEndTimeData, CorrespondingTraceData, EdgeTraceExecutionInfo, EventCoordinates, NodeAdditionalDataContainer, RootSequenceKind, }; use crate::features::discovery::timeline::discovery::{LogPoint, LogTimelineDiagram, TraceThread}; -use crate::features::discovery::timeline::software_data::models::{ActivityDurationData, DurationKind, GenericEnhancementBase, HistogramData, OcelData, OcelObjectAction, SimpleCounterData, SoftwareData}; +use crate::features::discovery::timeline::software_data::models::{ + ActivityDurationData, DurationKind, GenericEnhancementBase, HistogramData, OcelData, OcelObjectAction, SimpleCounterData, SoftwareData, +}; use crate::ficus_proto::grpc_annotation::Annotation::{CountAnnotation, FrequencyAnnotation, TimeAnnotation}; use crate::ficus_proto::grpc_context_value::ContextValue::Annotation; use crate::ficus_proto::grpc_node_additional_data::Data; -use crate::ficus_proto::{grpc_event_attribute, grpc_graph_edge_additional_data, grpc_ocel_data, GrpcActivityDurationData, GrpcActivityStartEndData, GrpcAllocationInfo, GrpcAnnotation, GrpcBytes, GrpcColorsEventLogMapping, GrpcCountAnnotation, GrpcDataset, GrpcDurationKind, GrpcEdgeExecutionInfo, GrpcEntityCountAnnotation, GrpcEntityFrequencyAnnotation, GrpcEntityTimeAnnotation, GrpcEvent, GrpcEventAttribute, GrpcEventCoordinates, GrpcFrequenciesAnnotation, GrpcGeneralHistogramData, GrpcGenericEnhancementBase, GrpcGraph, GrpcGraphEdge, GrpcGraphEdgeAdditionalData, GrpcGraphKind, GrpcGraphNode, GrpcGuid, GrpcHistogramEntry, GrpcLabeledDataset, GrpcLogPoint, GrpcLogTimelineDiagram, GrpcMatrix, GrpcMatrixRow, GrpcMethodInliningInfo, GrpcMethodNameParts, GrpcModelElementOcelAnnotation, GrpcMultithreadedFragment, GrpcNodeAdditionalData, GrpcNodeCorrespondingTraceData, GrpcOcelAllocateMerge, GrpcOcelConsumeProduce, GrpcOcelData, GrpcOcelModelAnnotation, GrpcOcelObjectTypeData, GrpcOcelObjectTypeState, GrpcOcelProducedObject, GrpcOcelState, GrpcOcelStateObjectRelation, GrpcPetriNet, GrpcPetriNetArc, GrpcPetriNetMarking, GrpcPetriNetPlace, GrpcPetriNetSinglePlaceMarking, GrpcPetriNetTransition, GrpcSimpleCounterData, GrpcSimpleEventLog, GrpcSimpleTrace, GrpcSoftwareData, GrpcThread, GrpcThreadEvent, GrpcTimePerformanceAnnotation, GrpcTimeSpan, GrpcTimelineDiagramFragment, GrpcTimelineTraceEventsGroup, GrpcTraceTimelineDiagram, GrpcUnderlyingPatternInfo, GrpcUnderlyingPatternKind}; +use crate::ficus_proto::{ + grpc_event_attribute, grpc_graph_edge_additional_data, grpc_ocel_data, GrpcActivityDurationData, GrpcActivityStartEndData, + GrpcAllocationInfo, GrpcAnnotation, GrpcBytes, GrpcColorsEventLogMapping, GrpcCountAnnotation, GrpcDataset, GrpcDurationKind, + GrpcEdgeExecutionInfo, GrpcEntityCountAnnotation, GrpcEntityFrequencyAnnotation, GrpcEntityTimeAnnotation, GrpcEvent, GrpcEventAttribute, + GrpcEventCoordinates, GrpcFrequenciesAnnotation, GrpcGeneralHistogramData, GrpcGenericEnhancementBase, GrpcGraph, GrpcGraphEdge, + GrpcGraphEdgeAdditionalData, GrpcGraphKind, GrpcGraphNode, GrpcGuid, GrpcHistogramEntry, GrpcLabeledDataset, GrpcLogPoint, + GrpcLogTimelineDiagram, GrpcMatrix, GrpcMatrixRow, GrpcMethodInliningInfo, GrpcMethodNameParts, GrpcModelElementOcelAnnotation, + GrpcMultithreadedFragment, GrpcNodeAdditionalData, GrpcNodeCorrespondingTraceData, GrpcOcelAllocateMerge, GrpcOcelConsumeProduce, + GrpcOcelData, GrpcOcelModelAnnotation, GrpcOcelObjectTypeData, GrpcOcelObjectTypeState, GrpcOcelProducedObject, GrpcOcelState, + GrpcOcelStateObjectRelation, GrpcPetriNet, GrpcPetriNetArc, GrpcPetriNetMarking, GrpcPetriNetPlace, GrpcPetriNetSinglePlaceMarking, + GrpcPetriNetTransition, GrpcSimpleCounterData, GrpcSimpleEventLog, GrpcSimpleTrace, GrpcSoftwareData, GrpcThread, GrpcThreadEvent, + GrpcTimePerformanceAnnotation, GrpcTimeSpan, GrpcTimelineDiagramFragment, GrpcTimelineTraceEventsGroup, GrpcTraceTimelineDiagram, + GrpcUnderlyingPatternInfo, GrpcUnderlyingPatternKind, +}; use crate::grpc::pipeline_executor::ServicePipelineExecutionContext; use crate::pipelines::activities_parts::{ActivitiesLogsSourceDto, UndefActivityHandlingStrategyDto}; -use crate::pipelines::keys::context_keys::{BYTES_KEY, COLORS_EVENT_LOG_KEY, EVENT_LOG_INFO_KEY, EVENT_LOG_KEY, GRAPH_KEY, GRAPH_TIME_ANNOTATION_KEY, HASHES_EVENT_LOG_KEY, LABELED_LOG_TRACES_DATASET_KEY, LABELED_TRACES_ACTIVITIES_DATASET_KEY, LOG_THREADS_DIAGRAM_KEY, LOG_TRACES_DATASET_KEY, NAMES_EVENT_LOG_KEY, OCEL_ANNOTATION_KEY, PATH_KEY, PATTERNS_KEY, PETRI_NET_COUNT_ANNOTATION_KEY, PETRI_NET_FREQUENCY_ANNOTATION_KEY, PETRI_NET_KEY, PETRI_NET_TRACE_FREQUENCY_ANNOTATION_KEY, REPEAT_SETS_KEY, SOFTWARE_DATA_EXTRACTION_CONFIG_KEY, TRACES_ACTIVITIES_DATASET_KEY}; +use crate::pipelines::keys::context_keys::{ + BYTES_KEY, COLORS_EVENT_LOG_KEY, EVENT_LOG_INFO_KEY, EVENT_LOG_KEY, GRAPH_KEY, GRAPH_TIME_ANNOTATION_KEY, HASHES_EVENT_LOG_KEY, + LABELED_LOG_TRACES_DATASET_KEY, LABELED_TRACES_ACTIVITIES_DATASET_KEY, LOG_THREADS_DIAGRAM_KEY, LOG_TRACES_DATASET_KEY, + NAMES_EVENT_LOG_KEY, OCEL_ANNOTATION_KEY, PATH_KEY, PATTERNS_KEY, PETRI_NET_COUNT_ANNOTATION_KEY, PETRI_NET_FREQUENCY_ANNOTATION_KEY, + PETRI_NET_KEY, PETRI_NET_TRACE_FREQUENCY_ANNOTATION_KEY, REPEAT_SETS_KEY, SOFTWARE_DATA_EXTRACTION_CONFIG_KEY, + TRACES_ACTIVITIES_DATASET_KEY, +}; use crate::pipelines::multithreading::FeatureCountKindDto; use crate::pipelines::patterns_parts::PatternsKindDto; use crate::utils::colors::ColorsEventLog; @@ -41,6 +64,7 @@ use crate::utils::graph::graph::{DefaultGraph, Graph, GraphKind}; use crate::utils::graph::graph_edge::GraphEdge; use crate::utils::graph::graph_node::GraphNode; use crate::utils::log_serialization_format::LogSerializationFormat; +use crate::utils::references::HeapedOrOwned; use crate::utils::user_data::user_data::UserDataImpl; use crate::{ features::analysis::patterns::{ @@ -60,6 +84,7 @@ use crate::{ }, vecs, }; +use chrono::{DateTime, Utc}; use log::error; use nameof::name_of_type; use prost::{DecodeError, Message}; @@ -69,11 +94,7 @@ use std::collections::HashMap; use std::fmt::Display; use std::rc::Rc; use std::{any::Any, str::FromStr}; -use chrono::{DateTime, Utc}; use uuid::Uuid; -use crate::event_log::xes::xes_trace::XesTraceImpl; -use crate::features::discovery::ocel::graph_annotation::{NodeObjectsState, OcelAnnotation, OcelObjectRelations, ProcessNodesStates}; -use crate::utils::references::HeapedOrOwned; pub(super) fn context_value_from_bytes(bytes: &[u8]) -> Result { GrpcContextValue::decode(bytes) @@ -188,7 +209,7 @@ pub(super) fn put_into_user_data( } user_data.put_concrete(EVENT_LOG_KEY.key(), xes_log); - }, + } ContextValue::OcelAnnotation(_) => todo!(), } } @@ -292,20 +313,24 @@ fn try_convert_to_grpc_ocel_annotation(value: &dyn Any) -> Option GrpcOcelModelAnnotation { GrpcOcelModelAnnotation { - annotations: annotation.nodes_to_states().iter().map(|s| { - GrpcModelElementOcelAnnotation { + annotations: annotation + .nodes_to_states() + .iter() + .map(|s| GrpcModelElementOcelAnnotation { element_id: s.0.clone(), final_state: Some(convert_to_grpc_ocel_node_state(s.1.final_objects())), initial_state: match s.1.initial_objects() { None => None, Some(objects) => Some(convert_to_grpc_ocel_node_state(objects)), }, - relations: s.1.incoming_objects_relations() + relations: s + .1 + .incoming_objects_relations() .iter() .map(|r| convert_to_grpc_ocel_object_relation(r)) - .collect() - } - }).collect() + .collect(), + }) + .collect(), } } @@ -318,12 +343,14 @@ fn convert_to_grpc_ocel_object_relation(relations: &OcelObjectRelations) -> Grpc fn convert_to_grpc_ocel_node_state(state: &NodeObjectsState) -> GrpcOcelState { GrpcOcelState { - type_states: state.map().iter().map(|t| { - GrpcOcelObjectTypeState { + type_states: state + .map() + .iter() + .map(|t| GrpcOcelObjectTypeState { r#type: t.0.to_string(), object_ids: t.1.iter().map(|s| s.to_string()).collect(), - } - }).collect() + }) + .collect(), } } @@ -794,7 +821,7 @@ fn convert_to_grpc_underlying_pattern_info(info: &UnderlyingPatternGraphInfo) -> UnderlyingPatternKind::NearSuperMaximalRepeat => GrpcUnderlyingPatternKind::NearSuperMaximalRepeat, UnderlyingPatternKind::Unknown => GrpcUnderlyingPatternKind::Unknown, }) - .into(), + .into(), base_sequence: match info.base_pattern() { None => vec![], Some(base_pattern) => base_pattern.clone(), @@ -832,12 +859,13 @@ fn convert_to_grpc_simple_trace(trace: &Vec>>) -> GrpcS name: e.borrow().name().to_owned(), stamp: Some(convert_to_grpc_timestamp(e.borrow().timestamp())), attributes: if let Some(payload) = e.borrow().payload_map() { - payload.iter().map(|(k, v)| { - GrpcEventAttribute { + payload + .iter() + .map(|(k, v)| GrpcEventAttribute { key: k.to_owned(), value: convert_to_grpc_attribute_value(v), - } - }).collect() + }) + .collect() } else { vec![] }, @@ -931,11 +959,7 @@ fn convert_to_grpc_software_data(software_data: &SoftwareData) -> GrpcSoftwareDa .map(|c| convert_to_grpc_activity_duration(c)) .collect(), - ocel_data: software_data - .ocel_data() - .iter() - .map(|c| convert_to_grpc_ocel_data(c)) - .collect(), + ocel_data: software_data.ocel_data().iter().map(|c| convert_to_grpc_ocel_data(c)).collect(), timeline_diagram_fragment: Some(GrpcTimelineDiagramFragment { threads: convert_to_grpc_threads(software_data.thread_diagram_fragment()), @@ -948,22 +972,25 @@ fn convert_to_grpc_ocel_data(data: &OcelData) -> GrpcOcelData { object_id: data.object_id().to_string(), action: Some(match data.action() { OcelObjectAction::Allocate(data) => grpc_ocel_data::Action::Allocate(GrpcOcelObjectTypeData { - r#type: data.r#type().as_ref().map(|t| t.to_string()) + r#type: data.r#type().as_ref().map(|t| t.to_string()), }), OcelObjectAction::Consume(data) => grpc_ocel_data::Action::Consume(GrpcOcelObjectTypeData { - r#type: data.r#type().as_ref().map(|t| t.to_string()) + r#type: data.r#type().as_ref().map(|t| t.to_string()), }), OcelObjectAction::AllocateMerged(data) => grpc_ocel_data::Action::MergedObjectAllocation(GrpcOcelAllocateMerge { r#type: data.r#type().as_ref().map(|t| t.to_string()), merged_objects_ids: data.data().iter().map(|id| id.to_string()).collect(), }), OcelObjectAction::ConsumeWithProduce(data) => grpc_ocel_data::Action::ProduceObjectConsumption(GrpcOcelConsumeProduce { - produced_objects: data.iter().map(|x| GrpcOcelProducedObject { - id: x.id().to_string(), - r#type: x.r#type().as_ref().map(|t| t.to_string()) - }).collect() - }) - }) + produced_objects: data + .iter() + .map(|x| GrpcOcelProducedObject { + id: x.id().to_string(), + r#type: x.r#type().as_ref().map(|t| t.to_string()), + }) + .collect(), + }), + }), } } @@ -979,7 +1006,7 @@ fn convert_to_grpc_activity_duration(data: &ActivityDurationData) -> GrpcActivit DurationKind::Seconds => GrpcDurationKind::Seconds, DurationKind::Minutes => GrpcDurationKind::Minutes, DurationKind::Hours => GrpcDurationKind::Hours, - DurationKind::Days => GrpcDurationKind::Days + DurationKind::Days => GrpcDurationKind::Days, }) as i32, } } diff --git a/Ficus/src/rust/ficus/src/grpc/kafka/grpc_kafka_service.rs b/Ficus/src/rust/ficus/src/grpc/kafka/grpc_kafka_service.rs index 3f94b2aae..79bc39cba 100644 --- a/Ficus/src/rust/ficus/src/grpc/kafka/grpc_kafka_service.rs +++ b/Ficus/src/rust/ficus/src/grpc/kafka/grpc_kafka_service.rs @@ -178,7 +178,10 @@ impl GrpcKafkaService for GrpcKafkaServiceImpl { let handler = handler as Box; let dto = PipelineExecutionDto::new(self.pipeline_parts.clone(), Arc::new(handler)); - let context_values = match self.cv_service.reclaim_context_values(&request.get_ref().pipeline_request.as_ref().unwrap().context_values_ids) { + let context_values = match self + .cv_service + .reclaim_context_values(&request.get_ref().pipeline_request.as_ref().unwrap().context_values_ids) + { Ok(context_values) => context_values, Err(not_found_id) => { let message = format!("Failed to find context value for id {}", not_found_id); diff --git a/Ficus/src/rust/ficus/src/pipelines/annotations_parts.rs b/Ficus/src/rust/ficus/src/pipelines/annotations_parts.rs index 270986f0c..9ec7220bc 100644 --- a/Ficus/src/rust/ficus/src/pipelines/annotations_parts.rs +++ b/Ficus/src/rust/ficus/src/pipelines/annotations_parts.rs @@ -8,7 +8,11 @@ use crate::features::discovery::petri_net::annotations::{ use crate::features::discovery::petri_net::petri_net::DefaultPetriNet; use crate::pipelines::context::PipelineContext; use crate::pipelines::errors::pipeline_errors::{PipelinePartExecutionError, RawPartExecutionError}; -use crate::pipelines::keys::context_keys::{EVENT_LOG_KEY, GRAPH_KEY, GRAPH_TIME_ANNOTATION_KEY, OCEL_ANNOTATION_KEY, PETRI_NET_COUNT_ANNOTATION_KEY, PETRI_NET_FREQUENCY_ANNOTATION_KEY, PETRI_NET_KEY, PETRI_NET_TRACE_FREQUENCY_ANNOTATION_KEY, TERMINATE_ON_UNREPLAYABLE_TRACES_KEY, TIME_ANNOTATION_KIND_KEY}; +use crate::pipelines::keys::context_keys::{ + EVENT_LOG_KEY, GRAPH_KEY, GRAPH_TIME_ANNOTATION_KEY, OCEL_ANNOTATION_KEY, PETRI_NET_COUNT_ANNOTATION_KEY, + PETRI_NET_FREQUENCY_ANNOTATION_KEY, PETRI_NET_KEY, PETRI_NET_TRACE_FREQUENCY_ANNOTATION_KEY, TERMINATE_ON_UNREPLAYABLE_TRACES_KEY, + TIME_ANNOTATION_KIND_KEY, +}; use crate::pipelines::pipeline_parts::PipelineParts; use crate::pipelines::pipelines::PipelinePartFactory; use crate::utils::context_key::DefaultContextKey; diff --git a/Ficus/src/rust/ficus/src/pipelines/keys/context_keys.rs b/Ficus/src/rust/ficus/src/pipelines/keys/context_keys.rs index 3dbc8df89..896a436e1 100644 --- a/Ficus/src/rust/ficus/src/pipelines/keys/context_keys.rs +++ b/Ficus/src/rust/ficus/src/pipelines/keys/context_keys.rs @@ -5,6 +5,7 @@ use crate::features::analysis::log_info::event_log_info::OfflineEventLogInfo; use crate::features::analysis::patterns::activity_instances::{ActivityInTraceFilterKind, ActivityNarrowingKind}; use crate::features::clustering::activities::activities_params::ActivityRepresentationSource; use crate::features::clustering::traces::traces_params::TracesRepresentationSource; +use crate::features::discovery::ocel::graph_annotation::OcelAnnotation; use crate::features::discovery::petri_net::annotations::TimeAnnotationKind; use crate::features::discovery::petri_net::petri_net::DefaultPetriNet; use crate::features::discovery::root_sequence::models::RootSequenceKind; @@ -34,7 +35,6 @@ use crate::{ use bxes::models::system_models::SystemMetadata; use lazy_static::lazy_static; use uuid::Uuid; -use crate::features::discovery::ocel::graph_annotation::OcelAnnotation; pub const CASE_NAME_STR: &'static str = "case_name"; pub const PROCESS_NAME_STR: &'static str = "process_name"; diff --git a/Ficus/src/rust/ficus/src/pipelines/pipeline_parts.rs b/Ficus/src/rust/ficus/src/pipelines/pipeline_parts.rs index b3c941940..efb979122 100644 --- a/Ficus/src/rust/ficus/src/pipelines/pipeline_parts.rs +++ b/Ficus/src/rust/ficus/src/pipelines/pipeline_parts.rs @@ -5,9 +5,9 @@ use crate::utils::context_key::DefaultContextKey; use crate::utils::performance::performance_cookie::performance_cookie; use crate::utils::user_data::keys::Key; use crate::utils::user_data::user_data::{UserData, UserDataImpl}; +use derive_new::new; use fancy_regex::Regex; use std::collections::HashMap; -use derive_new::new; pub struct PipelineParts { names_to_parts: HashMap, @@ -125,7 +125,7 @@ impl PipelineParts { Self::add_graph_to_graphs(), Self::clear_graphs(), Self::terminate_if_empty_log(), - Self::create_ocel_annotation_for_dag() + Self::create_ocel_annotation_for_dag(), ]; let mut names_to_parts = HashMap::new(); diff --git a/Ficus/src/rust/ficus/src/utils/context_key.rs b/Ficus/src/rust/ficus/src/utils/context_key.rs index a39895f3e..a149bd208 100644 --- a/Ficus/src/rust/ficus/src/utils/context_key.rs +++ b/Ficus/src/rust/ficus/src/utils/context_key.rs @@ -36,7 +36,7 @@ where pub fn existing(id: u64, name: String) -> Self { Self { - key: DefaultKey::existing(id, name) + key: DefaultKey::existing(id, name), } } diff --git a/Ficus/src/rust/ficus/src/utils/graph/graph.rs b/Ficus/src/rust/ficus/src/utils/graph/graph.rs index f80d2ba62..e76e12465 100644 --- a/Ficus/src/rust/ficus/src/utils/graph/graph.rs +++ b/Ficus/src/rust/ficus/src/utils/graph/graph.rs @@ -48,14 +48,14 @@ impl NodesConnectionData { #[derive(Debug, Clone)] pub enum GraphKind { Dag, - DagLCS + DagLCS, } impl GraphKind { pub fn is_dag(&self) -> bool { match self { Self::Dag | Self::DagLCS => true, - _ => false + _ => false, } } } diff --git a/Ficus/src/rust/ficus/src/utils/references.rs b/Ficus/src/rust/ficus/src/utils/references.rs index 4ec95244f..6867c8377 100644 --- a/Ficus/src/rust/ficus/src/utils/references.rs +++ b/Ficus/src/rust/ficus/src/utils/references.rs @@ -1,8 +1,8 @@ +use serde::{Deserialize, Deserializer, Serialize, Serializer}; use std::fmt::{Debug, Display, Formatter}; use std::hash::{Hash, Hasher}; use std::ops::Deref; use std::rc::Rc; -use serde::{Deserialize, Deserializer, Serialize, Serializer}; pub enum ReferenceOrOwned<'a, T> { Ref(&'a T), diff --git a/Ficus/src/rust/ficus/src/utils/user_data/user_data.rs b/Ficus/src/rust/ficus/src/utils/user_data/user_data.rs index 288926d7c..3a5d18e62 100644 --- a/Ficus/src/rust/ficus/src/utils/user_data/user_data.rs +++ b/Ficus/src/rust/ficus/src/utils/user_data/user_data.rs @@ -15,8 +15,10 @@ pub trait ExecuteWithUserData { #[derive(new, Getters, Debug, Clone)] struct UserDataValue { - #[getset(get = "pub")] value: Rc>, - #[getset(get = "pub")] key_name: String, + #[getset(get = "pub")] + value: Rc>, + #[getset(get = "pub")] + key_name: String, } #[derive(Debug)] @@ -105,11 +107,9 @@ impl UserData for UserDataImpl { .map(|(k, v)| { let key = Box::new(DefaultKey::<()>::existing(*k, v.key_name.to_owned())); - unsafe { - (key as Box, v.value().as_ref().try_borrow_unguarded().ok().unwrap()) - } + unsafe { (key as Box, v.value().as_ref().try_borrow_unguarded().ok().unwrap()) } }) - .collect() + .collect(), ) } else { None diff --git a/Ficus/src/rust/ficus/tests/pipelines/pipeline_keys_tests.rs b/Ficus/src/rust/ficus/tests/pipelines/pipeline_keys_tests.rs index 2a06abab1..714454c30 100644 --- a/Ficus/src/rust/ficus/tests/pipelines/pipeline_keys_tests.rs +++ b/Ficus/src/rust/ficus/tests/pipelines/pipeline_keys_tests.rs @@ -7,6 +7,7 @@ use ficus::features::analysis::log_info::event_log_info::OfflineEventLogInfo; use ficus::features::analysis::patterns::activity_instances::{ActivityInTraceFilterKind, ActivityNarrowingKind}; use ficus::features::clustering::activities::activities_params::ActivityRepresentationSource; use ficus::features::clustering::traces::traces_params::{FeatureCountKind, TracesRepresentationSource}; +use ficus::features::discovery::ocel::graph_annotation::OcelAnnotationCreationError; use ficus::features::discovery::petri_net::annotations::TimeAnnotationKind; use ficus::features::discovery::petri_net::petri_net::DefaultPetriNet; use ficus::features::discovery::root_sequence::models::RootSequenceKind; @@ -29,7 +30,6 @@ use ficus::{ utils::colors::ColorsHolder, vecs, }; -use ficus::features::discovery::ocel::graph_annotation::OcelAnnotationCreationError; #[test] #[rustfmt::skip] diff --git a/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs b/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs index 7d9453621..d3a8cd54b 100644 --- a/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs +++ b/Ficus/src/rust/ficus/tests/software_data/extractors_tests.rs @@ -2,18 +2,22 @@ use chrono::Utc; use ficus::event_log::core::event::event::EventPayloadValue; use ficus::event_log::xes::xes_event::XesEventImpl; use ficus::features::discovery::timeline::events_groups::EventGroup; -use ficus::features::discovery::timeline::software_data::extraction_config::{ActivityDurationExtractionConfig, ExtractionConfig, GenericExtractionConfigBase, NameCreationStrategy, OcelAllocateMergeExtractionConfig, OcelConsumeProduceExtractionConfig, OcelObjectExtractionConfigBase, OcelUnitedExtractionConfig, PieChartExtractionConfig, SimpleCountExtractionConfig, SingleAttribute, SoftwareDataExtractionConfig, TimeAttributeConfig, TimeKind}; +use ficus::features::discovery::timeline::software_data::extraction_config::{ + ActivityDurationExtractionConfig, ExtractionConfig, GenericExtractionConfigBase, NameCreationStrategy, OcelAllocateMergeExtractionConfig, + OcelConsumeProduceExtractionConfig, OcelObjectExtractionConfigBase, OcelUnitedExtractionConfig, PieChartExtractionConfig, + SimpleCountExtractionConfig, SingleAttribute, SoftwareDataExtractionConfig, TimeAttributeConfig, TimeKind, +}; use ficus::features::discovery::timeline::software_data::extractors::activities_durations::ActivityDurationExtractor; use ficus::features::discovery::timeline::software_data::extractors::core::{ EventGroupSoftwareDataExtractor, EventGroupTraceSoftwareDataExtractor, }; +use ficus::features::discovery::timeline::software_data::extractors::ocel::OcelDataExtractor; use ficus::features::discovery::timeline::software_data::extractors::pie_charts::PieChartExtractor; use ficus::features::discovery::timeline::software_data::extractors::simple_counter::SimpleCounterExtractor; use ficus::features::discovery::timeline::software_data::models::{OcelProducedObjectAfterConsume, SoftwareData}; +use ficus::utils::references::heaped; use std::cell::RefCell; use std::rc::Rc; -use ficus::features::discovery::timeline::software_data::extractors::ocel::OcelDataExtractor; -use ficus::utils::references::heaped; #[test] fn test_general_histogram() { @@ -415,8 +419,14 @@ pub fn test_ocel_data_extraction() { "object_id".to_string(), EventPayloadValue::String(Rc::new(Box::new("id_2".to_string()))), ), - ("ocel_related_objects_ids".to_string(), EventPayloadValue::String(Rc::new(Box::new("1 2 3 4 5".to_string())))), - ("ocel_related_objects_types".to_string(), EventPayloadValue::String(Rc::new(Box::new("T1 T2 T3 T4 T5".to_string())))), + ( + "ocel_related_objects_ids".to_string(), + EventPayloadValue::String(Rc::new(Box::new("1 2 3 4 5".to_string()))), + ), + ( + "ocel_related_objects_types".to_string(), + EventPayloadValue::String(Rc::new(Box::new("T1 T2 T3 T4 T5".to_string()))), + ), ], ), create_event_with_attributes( @@ -430,8 +440,14 @@ pub fn test_ocel_data_extraction() { "object_id".to_string(), EventPayloadValue::String(Rc::new(Box::new("id_2".to_string()))), ), - ("ocel_action".to_string(), EventPayloadValue::String(Rc::new(Box::new("AllocateMerged".to_string())))), - ("ocel_related_objects_ids".to_string(), EventPayloadValue::String(Rc::new(Box::new("1 2 3 4 5".to_string())))), + ( + "ocel_action".to_string(), + EventPayloadValue::String(Rc::new(Box::new("AllocateMerged".to_string()))), + ), + ( + "ocel_related_objects_ids".to_string(), + EventPayloadValue::String(Rc::new(Box::new("1 2 3 4 5".to_string()))), + ), ], ), ]; @@ -444,39 +460,23 @@ pub fn test_ocel_data_extraction() { let related_ids_attr = "ocel_related_objects_ids"; let related_types_attr = "ocel_related_objects_types"; - config.set_ocel( - Some(OcelUnitedExtractionConfig::new( - Some(" ".to_string()), - Some( - ExtractionConfig::new( - "ocel_allocate".to_string(), - base_conf.to_owned(), - ) - ), - Some( - ExtractionConfig::new( - "ocel_consume".to_string(), - base_conf.to_owned(), - ) - ), - Some( - ExtractionConfig::new( - "ocel_allocate_merge".to_string(), - OcelAllocateMergeExtractionConfig::new(base_conf.to_owned(), related_ids_attr.to_string()), - ) - ), - Some( - ExtractionConfig::new( - "ocel_consume_produce".to_string(), - OcelConsumeProduceExtractionConfig::new( - object_id_attr.to_string(), - related_ids_attr.to_string(), - related_types_attr.to_string(), - ), - ) + config.set_ocel(Some(OcelUnitedExtractionConfig::new( + Some(" ".to_string()), + Some(ExtractionConfig::new("ocel_allocate".to_string(), base_conf.to_owned())), + Some(ExtractionConfig::new("ocel_consume".to_string(), base_conf.to_owned())), + Some(ExtractionConfig::new( + "ocel_allocate_merge".to_string(), + OcelAllocateMergeExtractionConfig::new(base_conf.to_owned(), related_ids_attr.to_string()), + )), + Some(ExtractionConfig::new( + "ocel_consume_produce".to_string(), + OcelConsumeProduceExtractionConfig::new( + object_id_attr.to_string(), + related_ids_attr.to_string(), + related_types_attr.to_string(), ), - )) - ); + )), + ))); let extractor = OcelDataExtractor::new(&config); let mut software_data = SoftwareData::empty(); From de0f60ec7ce622051e9f981d812940fb56a45926 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 3 Nov 2025 19:24:14 +0300 Subject: [PATCH 141/189] WIP on rendering nodes initial and final objects states --- .../Flamegraph/Context/FlamegraphContext.cs | 53 ++++++++++++++++++- .../Flamegraph/FlamegraphGraphRenderer.razor | 31 ++++++++++- 2 files changed, 80 insertions(+), 4 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index 00eb15425..c18f84003 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -36,11 +36,59 @@ private FlamegraphContext(GrpcGraph graph) } } +public class ObjectRelations +{ + public required string Id { get; init; } + public required List RelatedObjectsIds { get; init; } +} + +public class TypeObjects +{ + public required string TypeName { get; init; } + public required List ObjectIds { get; init; } +} + +public class NodeObjectsState +{ + public List? InitialState { get; } + public List? FinalState { get; } + public List InitialStateObjectsRelations { get; } + + public NodeObjectsState(GrpcModelElementOcelAnnotation annotation) + { + InitialState = CreateTypeObjectsState(annotation.InitialState); + FinalState = CreateTypeObjectsState(annotation.FinalState); + + InitialStateObjectsRelations = annotation.Relations.Select(r => new ObjectRelations + { + Id = r.ObjectId, + RelatedObjectsIds = r.RelatedObjectsIds.ToList() + }).ToList(); + + return; + + List? CreateTypeObjectsState(GrpcOcelState state) => + state.TypeStates? + .Select(ts => new TypeObjects + { + TypeName = ts.Type, + ObjectIds = ts.ObjectIds.ToList() + }) + .ToList(); + } +} + +public class EnhancedNodeDto +{ + public required EnhancedNode Node { get; init; } + public required NodeObjectsState? Objects { get; init; } +} + public class FlamegraphRenderingContext { public required FlamegraphContext Context { get; init; } public required Dictionary EnhancedEdges { get; init; } - public required Dictionary EnhancedNodes { get; init; } + public required Dictionary EnhancedNodes { get; init; } public required bool EventClassesAsName { get; init; } public required bool LeftToRight { get; init; } @@ -63,7 +111,8 @@ public EnhancedEdge GetEnhancedEdge(ulong fromNode, ulong toNode) return EnhancedEdges[edge.Id]; } - public EnhancedNode GetEnhancedNode(ulong node) => EnhancedNodes[node]; + public EnhancedNode GetEnhancedNode(ulong node) => EnhancedNodes[node].Node; + public NodeObjectsState? GetNodeObjectsState(ulong node) => EnhancedNodes[node].Objects; public List GetNodeName(ulong nodeId) => EventClassesAsName switch { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index 9158039d5..0373f1fae 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -14,7 +14,7 @@ else var dim = Context.Layout.CalculateMainDim() * FlamegraphConstants.MainDimPx;

      - +
      } @@ -23,6 +23,7 @@ else [Parameter] public required GraphLikeEntitySettings Settings { get; init; } [Parameter] public required AggregatedData AggregatedData { get; init; } [Parameter] public required GrpcAnnotation? Annotation { get; init; } + [Parameter] public required GrpcOcelModelAnnotation? OcelAnnotation { get; init; } private FlamegraphRenderingContext? myRenderingContext; @@ -40,11 +41,12 @@ else var enhancedNodes = await Js.InvokeAsync( "createEnhancedNodes", Context.Graph, AggregatedData, Settings.SelectedEnhancements, Settings.Filter); + var ocelAnnotationsMap = CreateOcelAnnotationMap(); myRenderingContext = new FlamegraphRenderingContext { Context = Context, EnhancedEdges = enhancedEdges.ToDictionary(e => e.Id, e => e), - EnhancedNodes = enhancedNodes.ToDictionary(e => e.Id, e => e), + EnhancedNodes = enhancedNodes.ToDictionary(e => e.Id, e => CreateEnhancedNodeDto(e, ocelAnnotationsMap)), EventClassesAsName = Settings.UseEventClassesAsLabels, LeftToRight = Settings.UseLROrientation }; @@ -52,4 +54,29 @@ else StateHasChanged(); }).NoAwait(); } + + private Dictionary? CreateOcelAnnotationMap() + { + if (OcelAnnotation is null) return null; + + Dictionary map = []; + foreach (var elementAnnotation in OcelAnnotation.Annotations) + { + map[elementAnnotation.ElementId] = elementAnnotation; + } + + return map; + } + + private static EnhancedNodeDto CreateEnhancedNodeDto( + EnhancedNode node, + Dictionary? ocelAnnotationsMap) => new() + { + Node = node, + Objects = ocelAnnotationsMap switch + { + null => null, + not null => new NodeObjectsState(ocelAnnotationsMap[node.Id]) + } + }; } \ No newline at end of file From a5ed985cd83c88c4cb80d5af5867f07d2dd4cb6a Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 3 Nov 2025 20:06:00 +0300 Subject: [PATCH 142/189] Temp solution to get OCEL annotation along with time annotation --- .../src/python/ficus/grpc_pipelines/annotations.py | 14 ++++++++++---- .../annotations/test_ocel_annotation.py | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Ficus/src/python/ficus/grpc_pipelines/annotations.py b/Ficus/src/python/ficus/grpc_pipelines/annotations.py index a57505c34..447e42707 100644 --- a/Ficus/src/python/ficus/grpc_pipelines/annotations.py +++ b/Ficus/src/python/ficus/grpc_pipelines/annotations.py @@ -112,25 +112,31 @@ def __init__(self, background_color: str = 'white', engine='dot', export_path: Optional[str] = None, - rankdir: str = 'LR'): + rankdir: str = 'LR', + add_ocel_annotation: bool = False): super().__init__(name, background_color, engine, export_path, rankdir) self.annotation_kind = annotation_kind + self.add_ocel_annotation = add_ocel_annotation def to_grpc_part(self) -> GrpcPipelinePartBase: config = GrpcPipelinePartConfiguration() append_enum_value(config, const_time_annotation_kind, const_time_annotation_kind_enum_name, self.annotation_kind.name) + keys = [const_graph, const_graph_time_annotation] + if self.add_ocel_annotation: + keys.append(const_ocel_annotation) + part = create_complex_get_context_part(self.uuid, self.__class__.__name__, - [const_graph, const_graph_time_annotation], + keys, const_annotate_graph_with_time, config) return GrpcPipelinePartBase(complexContextRequestPart=part) -class AnnotateGraphWithOCEL(PipelinePart): +class CreateDagOcelAnnotation(PipelinePart): def to_grpc_part(self) -> GrpcPipelinePartBase: config = GrpcPipelinePartConfiguration() - return GrpcPipelinePartBase(defaultPart=create_default_pipeline_part(const_create_ocel_annotation_for_dag, config)) \ No newline at end of file + return GrpcPipelinePartBase(defaultPart=create_default_pipeline_part(const_create_ocel_annotation_for_dag, config)) diff --git a/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py b/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py index 261b6857d..b3c03dfff 100644 --- a/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py +++ b/Ficus/src/python/tests/grpc_pipelines/annotations/test_ocel_annotation.py @@ -100,7 +100,7 @@ def _execute_ocel_annotation_test(test_name: str, log_name: str, filter_parts: l AddStartArtificialEvents(), DiscoverRootSequenceGraph(root_sequence_kind=RootSequenceKind.FindBest, merge_sequences_of_events=False), - AnnotateGraphWithOCEL(), + CreateDagOcelAnnotation(), AssertCorrectOcelAnnotation(test_name) ]) From baa8bbb7b12eba4bbad14e4bf4344d02a96ae6c0 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 3 Nov 2025 20:21:22 +0300 Subject: [PATCH 143/189] Connect OCEL annotation to flamegraph renderer --- .../ContextValues/Canvas/Graph/GraphRenderer.razor | 4 +++- .../Components/CaseInfo/PipelinePartResultsRenderer.razor | 8 +++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor index 34bf6c8a6..e135f2c65 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphRenderer.razor @@ -22,6 +22,7 @@ } else @@ -44,7 +45,8 @@ [Parameter] public required bool IsFullScreen { get; init; } [Parameter] public required GrpcGraph Graph { get; init; } [Parameter] public required ProcessCaseData ProcessCaseData { get; init; } - [Parameter] public GrpcAnnotation? Annotation { get; set; } + [Parameter] public GrpcAnnotation? Annotation { get; init; } + [Parameter] public GrpcOcelModelAnnotation? OcelModelAnnotation { get; init; } private GraphLikeEntitySettings mySettings = null!; diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor index 75b218d8f..68bbd480e 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/PipelinePartResultsRenderer.razor @@ -149,7 +149,7 @@ StateHasChanged(); } - private bool IsExpanded(PipelinePartExecutionResults results) + private static bool IsExpanded(PipelinePartExecutionResults results) { return results.UserData.GetOrCreate(ourExpandedKey, static () => true); } @@ -215,6 +215,7 @@ { var graphPair = Logger.TryGetContextValue(pipelinePartName, contextValues, GrpcContextValue.ContextValueOneofCase.Graph, c => c.Graph); var annotationPair = Logger.TryGetContextValue(pipelinePartName, contextValues, GrpcContextValue.ContextValueOneofCase.Annotation, c => c.Annotation); + var ocelAnnotationPair = Logger.TryGetContextValue(pipelinePartName, contextValues, GrpcContextValue.ContextValueOneofCase.OcelAnnotation, c => c.OcelAnnotation); if (graphPair is not var (graphId, graph)) return null; @@ -224,10 +225,11 @@ IsFullScreen="@myIsFullScreen" Graph="graph" ProcessCaseData="ProcessCaseData" - Annotation="annotationPair?.Item2"/>; + Annotation="annotationPair?.Item2" + OcelModelAnnotation="ocelAnnotationPair?.Item2"/>; } - private string CreateEntityAnnotationId(Guid id, (Guid, GrpcAnnotation)? annotationPair) + private static string CreateEntityAnnotationId(Guid id, (Guid, GrpcAnnotation)? annotationPair) { return annotationPair switch { From 5c3f3ac0d93a40c8f2e85970db087ef7164e297f Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 3 Nov 2025 21:29:23 +0300 Subject: [PATCH 144/189] Bugfix --- .../Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs | 4 ++-- .../Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index c18f84003..314139662 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -67,8 +67,8 @@ public NodeObjectsState(GrpcModelElementOcelAnnotation annotation) return; - List? CreateTypeObjectsState(GrpcOcelState state) => - state.TypeStates? + List? CreateTypeObjectsState(GrpcOcelState? state) => + state?.TypeStates? .Select(ts => new TypeObjects { TypeName = ts.Type, diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index 56a9bc575..889cd8cc7 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -12,7 +12,7 @@ @foreach (var eventClass in Context.GetNodeName(node)) { -
      +
      @eventClass
      } From c6e468a7e5f97e44f932478b568023d4975e5866 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 3 Nov 2025 22:10:44 +0300 Subject: [PATCH 145/189] Refactorings --- .../Graph/Flamegraph/NodeRenderer.razor | 29 +++++++++++++++++++ .../Flamegraph/SequentialBlockRenderer.razor | 15 +--------- 2 files changed, 30 insertions(+), 14 deletions(-) create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodeRenderer.razor diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodeRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodeRenderer.razor new file mode 100644 index 000000000..f3caee8d1 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodeRenderer.razor @@ -0,0 +1,29 @@ +@using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context + +@{ + var mainDim = FlamegraphConstants.MainDimPx * MainDim; + var writingMode = Context.LeftToRight ? "writing-mode: vertical-rl;" : string.Empty; +} + +
      + + @foreach (var eventClass in Context.GetNodeName(Node)) + { +
      + @eventClass +
      + } + +
      + +@code { + [Parameter] public required FlamegraphRenderingContext Context { get; init; } + [Parameter] public required ulong Node { get; init; } + [Parameter] public required double MainDim { get; init; } +} \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index 889cd8cc7..b0498ace7 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -4,20 +4,7 @@
      @foreach (var (index, node) in Block.NodesSequence.Index()) { - var height = FlamegraphConstants.MainDimPx * Block.CalculateMainDim(); - var writingMode = Context.LeftToRight ? "writing-mode: vertical-rl;" : string.Empty; - -
      - - @foreach (var eventClass in Context.GetNodeName(node)) - { -
      - @eventClass -
      - } - -
      + @if (index >= Block.NodesSequence.Count - 1) continue; From b6387ce8196afe2ae2d65b849f3cff300c7b2481 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Mon, 3 Nov 2025 23:55:07 +0300 Subject: [PATCH 146/189] Add initial rendering for node objects states --- .../Graph/Flamegraph/NodeRenderer.razor | 32 ++++++++++++------- .../Flamegraph/NodesObjectStateRenderer.razor | 27 ++++++++++++++++ 2 files changed, 47 insertions(+), 12 deletions(-) create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodesObjectStateRenderer.razor diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodeRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodeRenderer.razor index f3caee8d1..3404a888e 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodeRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodeRenderer.razor @@ -1,25 +1,33 @@ +@inject IEntitiesColors Colors; + @using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context +@using FicusDashboard.Services @{ var mainDim = FlamegraphConstants.MainDimPx * MainDim; - var writingMode = Context.LeftToRight ? "writing-mode: vertical-rl;" : string.Empty; + var writingMode = Context.LeftToRight ? "writing-mode: vertical-rl;" : string.Empty; + var objectsState = Context.GetNodeObjectsState(Node); + var initialState = objectsState?.InitialState; + var finalState = objectsState?.FinalState; }
      + - @foreach (var eventClass in Context.GetNodeName(Node)) - { -
      - @eventClass -
      - } +
      + @foreach (var eventClass in Context.GetNodeName(Node)) + { +
      + @eventClass +
      + } +
      +
      @code { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodesObjectStateRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodesObjectStateRenderer.razor new file mode 100644 index 000000000..689bb6c96 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodesObjectStateRenderer.razor @@ -0,0 +1,27 @@ +@inject IEntitiesColors Colors; + +@using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context +@using FicusDashboard.Services + +@if (State is null) +{ + return; +} + +
      + @{ + var overallObjectsCount = State.Select(t => t.ObjectIds.Count).Sum(); + } + + @foreach (var typeState in State.OrderBy(t => t.TypeName)) + { + var typeObjectsMainDim = $"{Math.Floor((double)typeState.ObjectIds.Count * 100 / overallObjectsCount)}%"; +
      +
      + } +
      + +@code { + [Parameter] public required FlamegraphRenderingContext Context { get; init; } + [Parameter] public required List? State { get; init; } +} \ No newline at end of file From 5fe09a2a2f05d76608748f83927064e903c47246 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Tue, 4 Nov 2025 00:34:54 +0300 Subject: [PATCH 147/189] Small improvements --- .../Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs | 2 ++ .../Canvas/Graph/Flamegraph/NodeRenderer.razor | 5 ++--- .../Canvas/Graph/Flamegraph/NodesObjectStateRenderer.razor | 6 +++++- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index 314139662..04da56681 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -104,6 +104,8 @@ public class FlamegraphRenderingContext public string SecondFlexDirection => LeftToRight ? "column" : "row"; public string MainFlexDirection => LeftToRight ? "row" : "column"; + public string WritingMode => LeftToRight ? "writing-mode: vertical-rl;" : string.Empty; + public EnhancedEdge GetEnhancedEdge(ulong fromNode, ulong toNode) { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodeRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodeRenderer.razor index 3404a888e..75e774685 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodeRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodeRenderer.razor @@ -5,7 +5,6 @@ @{ var mainDim = FlamegraphConstants.MainDimPx * MainDim; - var writingMode = Context.LeftToRight ? "writing-mode: vertical-rl;" : string.Empty; var objectsState = Context.GetNodeObjectsState(Node); var initialState = objectsState?.InitialState; var finalState = objectsState?.FinalState; @@ -14,11 +13,11 @@
      -
      +
      @foreach (var eventClass in Context.GetNodeName(Node)) {
      diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodesObjectStateRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodesObjectStateRenderer.razor index 689bb6c96..f8b70dbfc 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodesObjectStateRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodesObjectStateRenderer.razor @@ -15,8 +15,12 @@ @foreach (var typeState in State.OrderBy(t => t.TypeName)) { + @if (typeState.ObjectIds.Count == 0) continue; + var typeObjectsMainDim = $"{Math.Floor((double)typeState.ObjectIds.Count * 100 / overallObjectsCount)}%"; -
      +
      }
      From a1c276bb80ec8520edb8d16c3e6c1f1718c723de Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Tue, 4 Nov 2025 19:50:12 +0300 Subject: [PATCH 148/189] Refactorings --- .../Canvas/Graph/Flamegraph/{ => Node}/NodeRenderer.razor | 0 .../Graph/Flamegraph/{ => Node}/NodesObjectStateRenderer.razor | 0 .../Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor | 1 + 3 files changed, 1 insertion(+) rename Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/{ => Node}/NodeRenderer.razor (100%) rename Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/{ => Node}/NodesObjectStateRenderer.razor (100%) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodeRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeRenderer.razor similarity index 100% rename from Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodeRenderer.razor rename to Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeRenderer.razor diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodesObjectStateRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor similarity index 100% rename from Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/NodesObjectStateRenderer.razor rename to Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index b0498ace7..baeabfb75 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -1,4 +1,5 @@ @using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context +@using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Node
      From 9f664a9e41e6022a89082be48f484f0a22f5f783 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Tue, 4 Nov 2025 23:13:56 +0300 Subject: [PATCH 149/189] Refactorings --- .../Node/NodeObjectsStateObjectsBlock.razor | 20 ++++++++++ .../Node/NodeObjectsStateTypeBlock.razor | 19 +++++++++ .../Node/NodesObjectStateRenderer.razor | 40 +++++++++++++------ .../FicusDashboard/wwwroot/css/app.css | 6 +++ 4 files changed, 72 insertions(+), 13 deletions(-) create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateTypeBlock.razor diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor new file mode 100644 index 000000000..07b262efe --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor @@ -0,0 +1,20 @@ +@inject IEntitiesColors Colors; + +@using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context +@using FicusDashboard.Services + +
      +
      + @ObjectsIds.Count +
      +
      + +@code { + [Parameter] public required FlamegraphRenderingContext Context { get; init; } + [Parameter] public required string TypeName { get; init; } + [Parameter] public required List ObjectsIds { get; init; } + [Parameter] public required string MainDim { get; init; } +} \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateTypeBlock.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateTypeBlock.razor new file mode 100644 index 000000000..003cf8e51 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateTypeBlock.razor @@ -0,0 +1,19 @@ +@inject IEntitiesColors Colors; + +@using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context +@using FicusDashboard.Services + +
      +
      + @TypeName +
      +
      + +@code { + [Parameter] public required FlamegraphRenderingContext Context { get; init; } + [Parameter] public required string TypeName { get; init; } + [Parameter] public required string MainDim { get; init; } +} \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor index f8b70dbfc..b7570207d 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor @@ -8,24 +8,38 @@ return; } -
      - @{ - var overallObjectsCount = State.Select(t => t.ObjectIds.Count).Sum(); - } +@{ + var overallObjectsCount = State.Select(t => t.ObjectIds.Count).Sum(); + var typeStates = State + .OrderBy(t => t.TypeName) + .Where(t => t.ObjectIds.Count > 0) + .Select(ts => + { + var width = $"{Math.Floor((double)ts.ObjectIds.Count * 100 / overallObjectsCount)}%"; + return (ts.TypeName, width, ts.ObjectIds); + }) + .ToList(); +} - @foreach (var typeState in State.OrderBy(t => t.TypeName)) - { - @if (typeState.ObjectIds.Count == 0) continue; +
      +
      + @foreach (var (name, width, _) in typeStates) + { + + } +
      - var typeObjectsMainDim = $"{Math.Floor((double)typeState.ObjectIds.Count * 100 / overallObjectsCount)}%"; -
      -
      - } +
      + @foreach (var (name, width, objectsIds) in typeStates) + { + + } +
      + @code { [Parameter] public required FlamegraphRenderingContext Context { get; init; } [Parameter] public required List? State { get; init; } + [Parameter] public required bool TypeNamesFirst { get; init; } } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css b/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css index 50a6c118e..85e9ee7f7 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css @@ -108,6 +108,12 @@ input { justify-content: flex-start; } +.flex-centered { + display: flex; + align-items: center; + justify-content: center; +} + h1:focus { outline: none; } From 71f30a39ee404dc03771fe0806973095f3584e7d Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Tue, 4 Nov 2025 23:32:21 +0300 Subject: [PATCH 150/189] Refactorings + correct order of type and object blocks --- .../Node/NodeObjectsStateObjectsBlock.razor | 3 +- .../Node/NodeObjectsStateTypeBlock.razor | 3 +- .../Graph/Flamegraph/Node/NodeRenderer.razor | 4 +-- .../Node/NodesObjectStateRenderer.razor | 34 +++++++++---------- 4 files changed, 21 insertions(+), 23 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor index 07b262efe..1436b9f5f 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor @@ -4,7 +4,7 @@ @using FicusDashboard.Services
      @@ -16,5 +16,4 @@ [Parameter] public required FlamegraphRenderingContext Context { get; init; } [Parameter] public required string TypeName { get; init; } [Parameter] public required List ObjectsIds { get; init; } - [Parameter] public required string MainDim { get; init; } } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateTypeBlock.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateTypeBlock.razor index 003cf8e51..e65143de8 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateTypeBlock.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateTypeBlock.razor @@ -4,7 +4,7 @@ @using FicusDashboard.Services
      @@ -15,5 +15,4 @@ @code { [Parameter] public required FlamegraphRenderingContext Context { get; init; } [Parameter] public required string TypeName { get; init; } - [Parameter] public required string MainDim { get; init; } } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeRenderer.razor index 75e774685..b707fafc9 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeRenderer.razor @@ -15,7 +15,7 @@ display: flex; flex-direction: @Context.MainFlexDirection;" class="flamegraph-node"> - +
      @foreach (var eventClass in Context.GetNodeName(Node)) @@ -26,7 +26,7 @@ }
      - +
      @code { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor index b7570207d..8e122b4c7 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor @@ -1,7 +1,4 @@ -@inject IEntitiesColors Colors; - @using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context -@using FicusDashboard.Services @if (State is null) { @@ -21,24 +18,27 @@ .ToList(); } -
      -
      - @foreach (var (name, width, _) in typeStates) - { - - } -
      +
      + @foreach (var (name, width, objectsIds) in typeStates) + { +
      + @if (IsInitialState) + { + + } -
      - @foreach (var (name, width, objectsIds) in typeStates) - { - - } -
      -
      + + @if (!IsInitialState) + { + + } +
      + } +
      @code { + [Parameter] public required bool IsInitialState { get; init; } [Parameter] public required FlamegraphRenderingContext Context { get; init; } [Parameter] public required List? State { get; init; } [Parameter] public required bool TypeNamesFirst { get; init; } From c57de0f952699fffa18d7a16628bc9f72043bf16 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Wed, 5 Nov 2025 00:31:01 +0300 Subject: [PATCH 151/189] Add settings + don't render enhanced edges when rendering OCEL annotaiton --- .../Graph/Flamegraph/CompositeBlockRenderer.razor | 8 ++++---- .../Graph/Flamegraph/Context/FlamegraphContext.cs | 1 + .../Canvas/Graph/Flamegraph/EdgeRenderer.razor | 9 ++++++--- .../Graph/Flamegraph/FlamegraphGraphRenderer.razor | 3 ++- .../Canvas/Graph/Flamegraph/Node/NodeRenderer.razor | 10 ++++++++-- .../Graph/Flamegraph/SequentialBlockRenderer.razor | 2 +- .../Canvas/Graph/GraphLikeEntitySettings.razor | 5 +++++ .../FicusFrontend/FicusDashboard/wwwroot/css/app.css | 2 +- 8 files changed, 28 insertions(+), 12 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor index e7d7e93d0..d142e201d 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/CompositeBlockRenderer.razor @@ -25,7 +25,7 @@ } var (edgeWidth, edgeHeight) = Context.AdjustWidthAndHeight(null, "100%"); - + } }
      @@ -43,7 +43,7 @@ var enhancedEdge = Context.GetEnhancedEdge(edgeBlock.FromNode, edgeBlock.ToNode); var (edgeWidth, edgeHeight) = Context.AdjustWidthAndHeight(null, $"{FlamegraphConstants.MainDimPx * block.CalculateMainDim()}px"); - + break; case SeparatorBlock: @@ -67,7 +67,7 @@ } (edgeWidth, edgeHeight) = Context.AdjustWidthAndHeight(null, "100%"); - + } @RenderBlock(block) @@ -81,7 +81,7 @@ }
      - +
      diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index 04da56681..92e6386e0 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -91,6 +91,7 @@ public class FlamegraphRenderingContext public required Dictionary EnhancedNodes { get; init; } public required bool EventClassesAsName { get; init; } public required bool LeftToRight { get; init; } + public required bool RenderOcelAnnotation { get; init; } public string MainDim => LeftToRight ? "height" : "width"; public string SecondDim => LeftToRight ? "width" : "height"; diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor index ef6fb1a01..dcf7959be 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/EdgeRenderer.razor @@ -5,12 +5,15 @@ if (Height is { }) style += $"height: {Height};"; if (Width is { }) style += $"width: {Width};"; - style += $"background: {EnhancedEdge?.Color} !important;"; + if (!Context.RenderOcelAnnotation) + { + style += $"background: {EnhancedEdge?.Color} !important;"; + } } -
      +
      - @if (EnhancedEdge is { }) + @if (!@Context.RenderOcelAnnotation && EnhancedEdge is { }) {
      diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index 0373f1fae..ffe608bbb 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -48,7 +48,8 @@ else EnhancedEdges = enhancedEdges.ToDictionary(e => e.Id, e => e), EnhancedNodes = enhancedNodes.ToDictionary(e => e.Id, e => CreateEnhancedNodeDto(e, ocelAnnotationsMap)), EventClassesAsName = Settings.UseEventClassesAsLabels, - LeftToRight = Settings.UseLROrientation + LeftToRight = Settings.UseLROrientation, + RenderOcelAnnotation = Settings.RenderOcelAnnotation }; StateHasChanged(); diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeRenderer.razor index b707fafc9..e62ea0308 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeRenderer.razor @@ -15,7 +15,10 @@ display: flex; flex-direction: @Context.MainFlexDirection;" class="flamegraph-node"> - + @if (Context.RenderOcelAnnotation) + { + + }
      @foreach (var eventClass in Context.GetNodeName(Node)) @@ -26,7 +29,10 @@ }
      - + @if (Context.RenderOcelAnnotation) + { + + }
      @code { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor index baeabfb75..b61dda675 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/SequentialBlockRenderer.razor @@ -12,7 +12,7 @@ var enhancedEdge = Context.GetEnhancedEdge(node, Block.NodesSequence[index + 1]); var (edgeWidth, edgeHeight) = Context.AdjustWidthAndHeight(null, "100%"); - + }
      diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor index f388c3ec0..b26c1b5bb 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor @@ -28,6 +28,10 @@ + + } Date: Wed, 5 Nov 2025 00:51:37 +0300 Subject: [PATCH 152/189] Add setting to explicitly render (or not) OCEL type names --- .../Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs | 1 + .../Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor | 3 ++- .../Graph/Flamegraph/Node/NodesObjectStateRenderer.razor | 5 ++++- .../Canvas/Graph/GraphLikeEntitySettings.razor | 6 ++++++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index 92e6386e0..a5d64be4f 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -92,6 +92,7 @@ public class FlamegraphRenderingContext public required bool EventClassesAsName { get; init; } public required bool LeftToRight { get; init; } public required bool RenderOcelAnnotation { get; init; } + public required bool RenderOcelTypeNames { get; init; } public string MainDim => LeftToRight ? "height" : "width"; public string SecondDim => LeftToRight ? "width" : "height"; diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index ffe608bbb..831c36726 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -49,7 +49,8 @@ else EnhancedNodes = enhancedNodes.ToDictionary(e => e.Id, e => CreateEnhancedNodeDto(e, ocelAnnotationsMap)), EventClassesAsName = Settings.UseEventClassesAsLabels, LeftToRight = Settings.UseLROrientation, - RenderOcelAnnotation = Settings.RenderOcelAnnotation + RenderOcelAnnotation = Settings.RenderOcelAnnotation, + RenderOcelTypeNames = Settings.RenderOcelTypeNames }; StateHasChanged(); diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor index 8e122b4c7..38b181b54 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor @@ -27,7 +27,10 @@ } - + @if (Context.RenderOcelTypeNames) + { + + } @if (!IsInitialState) { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor index b26c1b5bb..187f1ac32 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor @@ -32,6 +32,10 @@ + + } Date: Wed, 5 Nov 2025 15:22:09 +0300 Subject: [PATCH 153/189] Fix width + generate darker colors --- .../Node/NodesObjectStateRenderer.razor | 2 +- .../FicusDashboard/Services/EntitiesColors.cs | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor index 38b181b54..50b1d0f20 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor @@ -12,7 +12,7 @@ .Where(t => t.ObjectIds.Count > 0) .Select(ts => { - var width = $"{Math.Floor((double)ts.ObjectIds.Count * 100 / overallObjectsCount)}%"; + var width = $"{(double)ts.ObjectIds.Count * 100 / overallObjectsCount}%"; return (ts.TypeName, width, ts.ObjectIds); }) .ToList(); diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Services/EntitiesColors.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Services/EntitiesColors.cs index 98ccd60aa..84fa1d887 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Services/EntitiesColors.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Services/EntitiesColors.cs @@ -1,4 +1,6 @@ -namespace FicusDashboard.Services; +using System.Text; + +namespace FicusDashboard.Services; public interface IEntitiesColors { @@ -34,5 +36,16 @@ private string NextColor(string key) return color; } - private static string GenerateRandomColor() => $"#{Random.Shared.Next(0x1000000):X6}"; + private static string GenerateRandomColor() + { + var sb = new StringBuilder(); + sb.Append('#'); + + for (var i = 0; i < 6; ++i) + { + sb.Append(Math.Floor(Random.Shared.NextDouble() * 8)); + } + + return sb.ToString(); + } } \ No newline at end of file From 93335d50e10aecd523818ad122e832e12a39f7c6 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Wed, 5 Nov 2025 15:57:46 +0300 Subject: [PATCH 154/189] Adjust font sizes and node size --- .../Canvas/Graph/Flamegraph/FlamegraphConstants.cs | 2 +- .../Flamegraph/Node/NodeObjectsStateObjectsBlock.razor | 2 +- .../Flamegraph/Node/NodeObjectsStateTypeBlock.razor | 2 +- .../Canvas/Graph/Flamegraph/Node/NodeRenderer.razor | 9 +++++++-- .../FicusFrontend/FicusDashboard/wwwroot/css/app.css | 8 ++++++++ 5 files changed, 18 insertions(+), 5 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs index 2ea36b7a3..bf4342331 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphConstants.cs @@ -3,6 +3,6 @@ internal static class FlamegraphConstants { public const int MainDimPx = 35; - public const int NodeWidthPx = 30; + public const int NodeWidthPx = 65; public const int EdgeWidthPx = 40; } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor index 1436b9f5f..91e01e05c 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor @@ -7,7 +7,7 @@ @Context.MainDim: 100%; @Context.SecondDim: 20px;" class="flex-centered"> -
      +
      @ObjectsIds.Count
      diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateTypeBlock.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateTypeBlock.razor index e65143de8..77376a97a 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateTypeBlock.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateTypeBlock.razor @@ -7,7 +7,7 @@ @Context.MainDim: 100%; @Context.SecondDim: 20px;" class="flex-centered"> -
      +
      @TypeName
      diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeRenderer.razor index e62ea0308..dfee27c5e 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeRenderer.razor @@ -20,10 +20,15 @@ } -
      +
      @foreach (var eventClass in Context.GetNodeName(Node)) { -
      +
      @eventClass
      } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css b/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css index 3fcd4f58b..58b9262bf 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/wwwroot/css/app.css @@ -288,3 +288,11 @@ svg-pie-chart svg { .flamegraph-separator-edge { background: transparent; } + +.flamegraph-node-title { + font-size: 18px; +} + +.flamegraph-ocel-annotation { + font-size: 14px; +} \ No newline at end of file From 8d3af335f654da46fe685786956cf370f03c7be9 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Wed, 5 Nov 2025 16:33:06 +0300 Subject: [PATCH 155/189] Add borders to separate type and objects sections of OCEL annotation --- .../Node/NodeObjectsStateTypeBlock.razor | 15 +++++++++++++-- .../Node/NodesObjectStateRenderer.razor | 11 +++++++---- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateTypeBlock.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateTypeBlock.razor index 77376a97a..e560f5907 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateTypeBlock.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateTypeBlock.razor @@ -4,8 +4,9 @@ @using FicusDashboard.Services
      @TypeName @@ -15,4 +16,14 @@ @code { [Parameter] public required FlamegraphRenderingContext Context { get; init; } [Parameter] public required string TypeName { get; init; } + [Parameter] public required bool IsLast { get; init; } + [Parameter] public required bool IsLeftSide { get; init; } + + + private string GetBorderStyle() => Context.LeftToRight switch + { + true => $"border-{(IsLeftSide ? "left" : "right")}: solid 1px white;" + (IsLast ? string.Empty : "border-bottom: solid 1px white"), + _ => $"border-{(IsLeftSide ? "top" : "bottom")}: solid 1px white;" + (IsLast ? string.Empty : "border-right: solid 1px white") + }; + } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor index 50b1d0f20..fea682093 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor @@ -19,22 +19,25 @@ }
      - @foreach (var (name, width, objectsIds) in typeStates) + @foreach (var (index, (name, width, objectsIds)) in typeStates.Index()) {
      @if (IsInitialState) { - + } @if (Context.RenderOcelTypeNames) { - + } @if (!IsInitialState) { - + }
      } From 4d31cebf57dd847b641fda131e91ed3d2bb41664 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Wed, 5 Nov 2025 21:34:21 +0300 Subject: [PATCH 156/189] Add models for flamegraph sankey diagram connecitons --- .../Flamegraph/Context/FlamegraphContext.cs | 27 +++++++++++++++++++ .../Node/NodeObjectsStateObjectsBlock.razor | 4 ++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index a5d64be4f..d1eda79d2 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -84,6 +84,33 @@ public class EnhancedNodeDto public required NodeObjectsState? Objects { get; init; } } +public class FlamegraphSankeyObjectPart +{ + public required double From { get; init; } + public required double To { get; init; } +} + +public abstract class FlamegraphSankeyPosition +{ + public required string Id { get; init; } +} + +public class FlamegraphSankeyMultiplePositions : FlamegraphSankeyPosition +{ + public List Parts { get; } = []; +} + +public class FlamegraphSankeySinglePositions : FlamegraphSankeyPosition +{ + public required FlamegraphSankeyObjectPart ObjectPart { get; init; } +} + +public class FlamegraphSankeyConnection +{ + public required FlamegraphSankeyPosition From { get; init; } + public required FlamegraphSankeyPosition To { get; init; } +} + public class FlamegraphRenderingContext { public required FlamegraphContext Context { get; init; } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor index 91e01e05c..bf343285b 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor @@ -7,7 +7,7 @@ @Context.MainDim: 100%; @Context.SecondDim: 20px;" class="flex-centered"> -
      +
      @ObjectsIds.Count
      @@ -16,4 +16,6 @@ [Parameter] public required FlamegraphRenderingContext Context { get; init; } [Parameter] public required string TypeName { get; init; } [Parameter] public required List ObjectsIds { get; init; } + + public Guid Id { get; } = Guid.NewGuid(); } \ No newline at end of file From c77714e81d952a658fd79a9d13935dcd0526b4bb Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Thu, 6 Nov 2025 22:38:47 +0300 Subject: [PATCH 157/189] Add each object to OCEL rendering mode --- .../Flamegraph/Context/FlamegraphContext.cs | 13 ++++++------ .../Node/NodeObjectsStateObjectsBlock.razor | 21 ++++++++++++------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index d1eda79d2..23b9b7200 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -52,19 +52,13 @@ public class NodeObjectsState { public List? InitialState { get; } public List? FinalState { get; } - public List InitialStateObjectsRelations { get; } + public NodeObjectsState(GrpcModelElementOcelAnnotation annotation) { InitialState = CreateTypeObjectsState(annotation.InitialState); FinalState = CreateTypeObjectsState(annotation.FinalState); - InitialStateObjectsRelations = annotation.Relations.Select(r => new ObjectRelations - { - Id = r.ObjectId, - RelatedObjectsIds = r.RelatedObjectsIds.ToList() - }).ToList(); - return; List? CreateTypeObjectsState(GrpcOcelState? state) => @@ -113,6 +107,9 @@ public class FlamegraphSankeyConnection public class FlamegraphRenderingContext { + private static int ourNextContextId; + + public required FlamegraphContext Context { get; init; } public required Dictionary EnhancedEdges { get; init; } public required Dictionary EnhancedNodes { get; init; } @@ -135,6 +132,8 @@ public class FlamegraphRenderingContext public string WritingMode => LeftToRight ? "writing-mode: vertical-rl;" : string.Empty; + public int ContextId { get; } = Interlocked.Increment(ref ourNextContextId); + public EnhancedEdge GetEnhancedEdge(ulong fromNode, ulong toNode) { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor index bf343285b..073a1e3b8 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor @@ -3,19 +3,24 @@ @using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context @using FicusDashboard.Services -
      -
      - @ObjectsIds.Count -
      + @Context.SecondDim: 20px; + display: flex; + flex-direction: @Context.SecondFlexDirection"> + @foreach (var id in ObjectsIds.Order()) + { + var mainDim = $"{100.0 / ObjectsIds.Count}%"; +
      + @id +
      + }
      @code { [Parameter] public required FlamegraphRenderingContext Context { get; init; } [Parameter] public required string TypeName { get; init; } [Parameter] public required List ObjectsIds { get; init; } - - public Guid Id { get; } = Guid.NewGuid(); } \ No newline at end of file From d1a38f51d5f682202a4558691b43a0d641975c67 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Thu, 6 Nov 2025 23:06:31 +0300 Subject: [PATCH 158/189] Add borders --- .../Node/NodeObjectsStateObjectsBlock.razor | 9 +++- .../Node/NodeObjectsStateTypeBlock.razor | 14 ++----- .../Flamegraph/Node/NodeRenderingUtils.cs | 42 +++++++++++++++++++ .../Node/NodesObjectStateRenderer.razor | 21 +++++++--- 4 files changed, 67 insertions(+), 19 deletions(-) create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeRenderingUtils.cs diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor index 073a1e3b8..0679844c9 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor @@ -8,10 +8,13 @@ @Context.SecondDim: 20px; display: flex; flex-direction: @Context.SecondFlexDirection"> - @foreach (var id in ObjectsIds.Order()) + @foreach (var (index, id) in ObjectsIds.Order().Index()) { var mainDim = $"{100.0 / ObjectsIds.Count}%"; -
      @id @@ -23,4 +26,6 @@ [Parameter] public required FlamegraphRenderingContext Context { get; init; } [Parameter] public required string TypeName { get; init; } [Parameter] public required List ObjectsIds { get; init; } + [Parameter] public required bool IsLeftSide { get; init; } + [Parameter] public required bool IsLastObjectsBlock { get; init; } } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateTypeBlock.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateTypeBlock.razor index e560f5907..2d0ae2e94 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateTypeBlock.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateTypeBlock.razor @@ -4,9 +4,9 @@ @using FicusDashboard.Services
      @TypeName @@ -18,12 +18,4 @@ [Parameter] public required string TypeName { get; init; } [Parameter] public required bool IsLast { get; init; } [Parameter] public required bool IsLeftSide { get; init; } - - - private string GetBorderStyle() => Context.LeftToRight switch - { - true => $"border-{(IsLeftSide ? "left" : "right")}: solid 1px white;" + (IsLast ? string.Empty : "border-bottom: solid 1px white"), - _ => $"border-{(IsLeftSide ? "top" : "bottom")}: solid 1px white;" + (IsLast ? string.Empty : "border-right: solid 1px white") - }; - } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeRenderingUtils.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeRenderingUtils.cs new file mode 100644 index 000000000..e4e9787be --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeRenderingUtils.cs @@ -0,0 +1,42 @@ +using FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Context; + +namespace FicusDashboard.Components.CaseInfo.ContextValues.Canvas.Graph.Flamegraph.Node; + +internal class NodeRenderingUtils +{ + private const string BorderStyle = "solid 1px white;"; + + public static string GetBorderStyle( + FlamegraphRenderingContext context, + bool isLeftSide, + bool isLast, + bool addTopBorder = true + ) + { + var firstPart = GetFirstPartOfBorderStyle(context, isLeftSide, addTopBorder); + var secondPart = GetSecondPartOfBorderStyle(context, isLast); + + return firstPart + secondPart; + } + + private static string GetSecondPartOfBorderStyle(FlamegraphRenderingContext context, bool isLast) => isLast switch + { + true => string.Empty, + false => context.LeftToRight switch + { + true => $"border-bottom: {BorderStyle}", + false => $"border-right: {BorderStyle}" + } + }; + + private static string GetFirstPartOfBorderStyle(FlamegraphRenderingContext context, bool isLeftSide, bool addTopBorder) => + addTopBorder switch + { + false => string.Empty, + true => context.LeftToRight switch + { + true => $"border-{(isLeftSide ? "left" : "right")}: {BorderStyle}", + false => $"border-{(isLeftSide ? "top" : "bottom")}: {BorderStyle}" + }, + }; +} \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor index fea682093..85ea56024 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor @@ -21,23 +21,32 @@
      @foreach (var (index, (name, width, objectsIds)) in typeStates.Index()) { + var isLast = index == typeStates.Count - 1;
      @if (IsInitialState) { - + } @if (Context.RenderOcelTypeNames) { - + } @if (!IsInitialState) { - + }
      } From aaf66a6dfa699fdfb68267175d74805c4e75d68e Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Thu, 6 Nov 2025 23:19:58 +0300 Subject: [PATCH 159/189] Fix main dim of objects --- .../Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor index 0679844c9..2f783097a 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor @@ -10,11 +10,10 @@ flex-direction: @Context.SecondFlexDirection"> @foreach (var (index, id) in ObjectsIds.Order().Index()) { - var mainDim = $"{100.0 / ObjectsIds.Count}%"; var isLast = index == ObjectsIds.Count - 1 && IsLastObjectsBlock; var borderStyle = NodeRenderingUtils.GetBorderStyle(Context, IsLeftSide, isLast, addTopBorder: false); -
      @id From e46e6d274013737d0951f5b7bb7bbc8d81139afb Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 7 Nov 2025 18:00:56 +0300 Subject: [PATCH 160/189] Hide OCEL rendering setting if graph is not rendered in flamegraph mode --- .../Graph/GraphLikeEntitySettings.razor | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor index 187f1ac32..d36af243c 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/GraphLikeEntitySettings.razor @@ -26,16 +26,22 @@ @if (CanRenderFlamegraph) { - +
      + - + +
      } Date: Sat, 8 Nov 2025 17:48:12 +0300 Subject: [PATCH 161/189] WIP --- .../Flamegraph/Context/FlamegraphContext.cs | 19 +++++++++++- .../Flamegraph/FlamegraphGraphRenderer.razor | 30 ++++++++++++++++++- .../Node/NodeObjectsStateObjectsBlock.razor | 2 +- .../FicusDashboard/Npm/src/index.ts | 2 ++ .../Npm/src/ocel/ocel_sankey_divs.ts | 12 ++++++++ 5 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index 23b9b7200..b8919ad47 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -52,13 +52,19 @@ public class NodeObjectsState { public List? InitialState { get; } public List? FinalState { get; } - + public List InitialStateObjectsRelations { get; } public NodeObjectsState(GrpcModelElementOcelAnnotation annotation) { InitialState = CreateTypeObjectsState(annotation.InitialState); FinalState = CreateTypeObjectsState(annotation.FinalState); + InitialStateObjectsRelations = annotation.Relations.Select(r => new ObjectRelations + { + Id = r.ObjectId, + RelatedObjectsIds = r.RelatedObjectsIds.ToList() + }).ToList(); + return; List? CreateTypeObjectsState(GrpcOcelState? state) => @@ -107,6 +113,8 @@ public class FlamegraphSankeyConnection public class FlamegraphRenderingContext { + private const string ObjectIdBasePart = "ocel-object-id"; + private static int ourNextContextId; @@ -133,7 +141,16 @@ public class FlamegraphRenderingContext public string WritingMode => LeftToRight ? "writing-mode: vertical-rl;" : string.Empty; public int ContextId { get; } = Interlocked.Increment(ref ourNextContextId); + public string ObjectIdStart { get; } + + + public FlamegraphRenderingContext() + { + ObjectIdStart = $"{ObjectIdBasePart}-{ContextId}"; + } + + public string GenerateOcelObjectsContainerId(string objectId) => $"{ObjectIdStart}-{objectId}"; public EnhancedEdge GetEnhancedEdge(ulong fromNode, ulong toNode) { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index 831c36726..2f05e607d 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -7,7 +7,9 @@ @if (myRenderingContext is not null) { - +
      + +
      } else { @@ -25,9 +27,34 @@ else [Parameter] public required GrpcAnnotation? Annotation { get; init; } [Parameter] public required GrpcOcelModelAnnotation? OcelAnnotation { get; init; } + + private readonly Guid myContainerId = Guid.NewGuid(); + private FlamegraphRenderingContext? myRenderingContext; + protected override async Task OnAfterRenderAsync(bool firstRender) + { + if (myRenderingContext is null) return; + + var relations = myRenderingContext.EnhancedNodes.Values + .Where(dto => dto.Objects is not null) + .SelectMany(dto => dto.Objects!.InitialStateObjectsRelations) + .Select(r => new + { + Id = r.Id, + RelatedObjectsIds = r.RelatedObjectsIds + }) + .ToList(); + + await Js.InvokeVoidAsync( + "createOcelSankeyConnections", + myContainerId.ToString(), + myRenderingContext.ObjectIdStart, + relations + ); + } + protected override void OnParametersSet() { myRenderingContext = null; @@ -81,4 +108,5 @@ else not null => new NodeObjectsState(ocelAnnotationsMap[node.Id]) } }; + } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor index 2f783097a..ad9f662f6 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor @@ -15,7 +15,7 @@
      + id="@Context.GenerateOcelObjectsContainerId(id)"> @id
      } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/index.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/index.ts index ed0ea9b6f..478cff993 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/index.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/index.ts @@ -7,6 +7,7 @@ import {setCanvasSizeFunctions} from "./canvas_size"; import {setFullscreenFunctions} from "./full_screen"; import {addPieChartCustomElements} from "./piechart"; import {setGraphEventListeners} from "./graph/event_listeners"; +import {setOcelSankeyFunctions} from "./ocel/ocel_sankey_divs"; setFullscreenFunctions(); setDrawPetriNet(); @@ -15,6 +16,7 @@ setUtilitiesFunctions(); setCssLoaderFunctions(); setDrawColorsLog(); setCanvasSizeFunctions(); +setOcelSankeyFunctions(); addPieChartCustomElements(); diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts new file mode 100644 index 000000000..655da1641 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts @@ -0,0 +1,12 @@ +export function setOcelSankeyFunctions() { + (window).createOcelSankeyConnections = createOcelSankeyConnections; +} + +interface ObjectsRelation { + id: string + relatedObjectsIds: string[] +} + +function createOcelSankeyConnections(parentContainerId: string, baseIdPart: string, relations: ObjectsRelation[]) { + console.log(parentContainerId, baseIdPart, relations); +} From fde9d0ad33ab82be9f259be5302ba8b73283df5b Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 8 Nov 2025 19:57:48 +0300 Subject: [PATCH 162/189] WIP on connecting objects --- .../Npm/src/ocel/ocel_sankey_divs.ts | 71 ++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts index 655da1641..69e30e966 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts @@ -8,5 +8,74 @@ interface ObjectsRelation { } function createOcelSankeyConnections(parentContainerId: string, baseIdPart: string, relations: ObjectsRelation[]) { - console.log(parentContainerId, baseIdPart, relations); + let createId = (id: string) => baseIdPart + "-" + id; + let getElement = (objectId: string) => { + let id = createId(objectId); + let element = document.getElementById(id); + + if (element == null) { + console.warn(`Failed to get element with id ${id}`); + } + + return element; + }; + + let parentContainer = document.getElementById(parentContainerId); + if (parentContainer == null) return; + + for (let relation of relations) { + let firstElement = getElement(relation.id); + if (firstElement == null) continue; + + for (let relatedId of relation.relatedObjectsIds) { + let secondElement = getElement(relatedId); + if (secondElement == null) continue; + + connect(parentContainer, firstElement, secondElement, "red", 5); + } + } +} + +function getOffset(el: HTMLElement) { + return { + left: el.offsetLeft, + top: el.offsetTop, + width: el.offsetWidth, + height: el.offsetHeight, + }; } + +function connect(parentContainer: HTMLElement, first: HTMLElement, second: HTMLElement, color: string, thickness: number) { + let firstOffset = getOffset(first); + let secondOffset = getOffset(second); + + let firstX = firstOffset.left + firstOffset.width; + let firstY = firstOffset.top + firstOffset.height; + + let secondX = secondOffset.left + secondOffset.width; + let secondY = secondOffset.top; + + let length = Math.sqrt(((secondX - firstX) * (secondX - firstX)) + ((secondY - firstY) * (secondY - firstY))); + + let cx = ((firstX + secondX) / 2) - (length / 2); + let cy = ((firstY + secondY) / 2) - (thickness / 2); + + let angle = Math.atan2((firstY - secondY), (firstX - secondX)) * (180 / Math.PI); + + let html = ` +
      +
      + `; + + parentContainer.innerHTML += html; +} \ No newline at end of file From 09c41c9bdba260150903735e34288b15d8b68ff2 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sat, 8 Nov 2025 21:21:26 +0300 Subject: [PATCH 163/189] WIP, distinguish between initial and final objects --- .../Graph/Flamegraph/Context/FlamegraphContext.cs | 9 ++++++++- .../Node/NodeObjectsStateObjectsBlock.razor | 6 +++--- .../Node/NodesObjectStateRenderer.razor | 4 ++-- .../Npm/src/ocel/ocel_sankey_divs.ts | 15 ++++++++++----- 4 files changed, 23 insertions(+), 11 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index b8919ad47..803ae7598 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -150,7 +150,14 @@ public FlamegraphRenderingContext() } - public string GenerateOcelObjectsContainerId(string objectId) => $"{ObjectIdStart}-{objectId}"; + public string GenerateOcelObjectsContainerId(string objectId, bool initialState) => + $"{ObjectIdStart}-{GetObjectSite(initialState)}-{objectId}"; + + private static string GetObjectSite(bool initialState) => initialState switch + { + true => "initial", + false => "final" + }; public EnhancedEdge GetEnhancedEdge(ulong fromNode, ulong toNode) { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor index ad9f662f6..77967e6e0 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor @@ -11,11 +11,11 @@ @foreach (var (index, id) in ObjectsIds.Order().Index()) { var isLast = index == ObjectsIds.Count - 1 && IsLastObjectsBlock; - var borderStyle = NodeRenderingUtils.GetBorderStyle(Context, IsLeftSide, isLast, addTopBorder: false); + var borderStyle = NodeRenderingUtils.GetBorderStyle(Context, IsInitialState, isLast, addTopBorder: false);
      + id="@Context.GenerateOcelObjectsContainerId(id, IsInitialState)"> @id
      } @@ -25,6 +25,6 @@ [Parameter] public required FlamegraphRenderingContext Context { get; init; } [Parameter] public required string TypeName { get; init; } [Parameter] public required List ObjectsIds { get; init; } - [Parameter] public required bool IsLeftSide { get; init; } + [Parameter] public required bool IsInitialState { get; init; } [Parameter] public required bool IsLastObjectsBlock { get; init; } } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor index 85ea56024..c33e5b522 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor @@ -29,7 +29,7 @@ ObjectsIds="objectsIds" TypeName="@name" IsLastObjectsBlock="isLast" - IsLeftSide="IsInitialState" /> + IsInitialState="IsInitialState" /> } @if (Context.RenderOcelTypeNames) @@ -46,7 +46,7 @@ ObjectsIds="objectsIds" TypeName="@name" IsLastObjectsBlock="isLast" - IsLeftSide="IsInitialState"/> + IsInitialState="IsInitialState" /> }
      } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts index 69e30e966..a72b8124c 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts @@ -8,9 +8,14 @@ interface ObjectsRelation { } function createOcelSankeyConnections(parentContainerId: string, baseIdPart: string, relations: ObjectsRelation[]) { - let createId = (id: string) => baseIdPart + "-" + id; - let getElement = (objectId: string) => { - let id = createId(objectId); + let getInitialClass = (isInitialState: boolean) => isInitialState ? "initial" : "final"; + let createId = (id: string, isInitialState: boolean) => { + const Delimiter = "-"; + return baseIdPart + Delimiter + getInitialClass(isInitialState) + Delimiter + id; + }; + + let getElement = (objectId: string, isInitialState: boolean) => { + let id = createId(objectId, isInitialState); let element = document.getElementById(id); if (element == null) { @@ -24,11 +29,11 @@ function createOcelSankeyConnections(parentContainerId: string, baseIdPart: stri if (parentContainer == null) return; for (let relation of relations) { - let firstElement = getElement(relation.id); + let firstElement = getElement(relation.id, true); if (firstElement == null) continue; for (let relatedId of relation.relatedObjectsIds) { - let secondElement = getElement(relatedId); + let secondElement = getElement(relatedId, false); if (secondElement == null) continue; connect(parentContainer, firstElement, secondElement, "red", 5); From 4fd637924ae8ef399bfdc84dbee64af9adaf4059 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sun, 9 Nov 2025 18:55:23 +0300 Subject: [PATCH 164/189] WIP, adding from_element_id to relations --- Ficus/protos/pipelines_and_context.proto | 3 +- .../Flamegraph/Context/FlamegraphContext.cs | 2 + .../ficus/GrpcOcelStateObjectRelation.ts | 3 + .../go/grpcmodels/pipelines_and_context.pb.go | 18 +- .../models/pipelines_and_context_pb2.py | 272 +++++++++--------- .../models/pipelines_and_context_pb2.pyi | 6 +- .../discovery/ocel/graph_annotation.rs | 8 +- Ficus/src/rust/ficus/src/grpc/converters.rs | 1 + 8 files changed, 167 insertions(+), 146 deletions(-) diff --git a/Ficus/protos/pipelines_and_context.proto b/Ficus/protos/pipelines_and_context.proto index 38cad16a5..253ba5867 100644 --- a/Ficus/protos/pipelines_and_context.proto +++ b/Ficus/protos/pipelines_and_context.proto @@ -62,7 +62,8 @@ message GrpcModelElementOcelAnnotation { message GrpcOcelStateObjectRelation { string object_id = 1; - repeated string related_objects_ids = 2; + uint64 element_id = 2; + repeated string related_objects_ids = 3; } message GrpcOcelState { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index 803ae7598..d90379015 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -39,6 +39,7 @@ private FlamegraphContext(GrpcGraph graph) public class ObjectRelations { public required string Id { get; init; } + public required ulong FromElementId { get; init; } public required List RelatedObjectsIds { get; init; } } @@ -62,6 +63,7 @@ public NodeObjectsState(GrpcModelElementOcelAnnotation annotation) InitialStateObjectsRelations = annotation.Relations.Select(r => new ObjectRelations { Id = r.ObjectId, + FromElementId = r.ElementId, RelatedObjectsIds = r.RelatedObjectsIds.ToList() }).ToList(); diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelStateObjectRelation.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelStateObjectRelation.ts index fae030137..3b2270329 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelStateObjectRelation.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelStateObjectRelation.ts @@ -1,12 +1,15 @@ // Original file: ../../../../../protos/pipelines_and_context.proto +import type { Long } from '@grpc/proto-loader'; export interface GrpcOcelStateObjectRelation_DONTUSE { 'objectId'?: (string); + 'elementId'?: (number | string | Long); 'relatedObjectsIds'?: (string)[]; } export interface GrpcOcelStateObjectRelation { 'objectId': (string); + 'elementId': (number); 'relatedObjectsIds': (string)[]; } diff --git a/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go b/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go index 9dd3b8cd4..17436f3b0 100644 --- a/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go +++ b/Ficus/src/go/grpcmodels/pipelines_and_context.pb.go @@ -889,7 +889,8 @@ func (x *GrpcModelElementOcelAnnotation) GetRelations() []*GrpcOcelStateObjectRe type GrpcOcelStateObjectRelation struct { state protoimpl.MessageState `protogen:"open.v1"` ObjectId string `protobuf:"bytes,1,opt,name=object_id,json=objectId,proto3" json:"object_id,omitempty"` - RelatedObjectsIds []string `protobuf:"bytes,2,rep,name=related_objects_ids,json=relatedObjectsIds,proto3" json:"related_objects_ids,omitempty"` + ElementId uint64 `protobuf:"varint,2,opt,name=element_id,json=elementId,proto3" json:"element_id,omitempty"` + RelatedObjectsIds []string `protobuf:"bytes,3,rep,name=related_objects_ids,json=relatedObjectsIds,proto3" json:"related_objects_ids,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -931,6 +932,13 @@ func (x *GrpcOcelStateObjectRelation) GetObjectId() string { return "" } +func (x *GrpcOcelStateObjectRelation) GetElementId() uint64 { + if x != nil { + return x.ElementId + } + return 0 +} + func (x *GrpcOcelStateObjectRelation) GetRelatedObjectsIds() []string { if x != nil { return x.RelatedObjectsIds @@ -4625,10 +4633,12 @@ const file_pipelines_and_context_proto_rawDesc = "" + "\vfinal_state\x18\x03 \x01(\v2\x14.ficus.GrpcOcelStateR\n" + "finalState\x12@\n" + "\trelations\x18\x04 \x03(\v2\".ficus.GrpcOcelStateObjectRelationR\trelationsB\x10\n" + - "\x0e_initial_state\"j\n" + + "\x0e_initial_state\"\x89\x01\n" + "\x1bGrpcOcelStateObjectRelation\x12\x1b\n" + - "\tobject_id\x18\x01 \x01(\tR\bobjectId\x12.\n" + - "\x13related_objects_ids\x18\x02 \x03(\tR\x11relatedObjectsIds\"P\n" + + "\tobject_id\x18\x01 \x01(\tR\bobjectId\x12\x1d\n" + + "\n" + + "element_id\x18\x02 \x01(\x04R\telementId\x12.\n" + + "\x13related_objects_ids\x18\x03 \x03(\tR\x11relatedObjectsIds\"P\n" + "\rGrpcOcelState\x12?\n" + "\vtype_states\x18\x01 \x03(\v2\x1e.ficus.GrpcOcelObjectTypeStateR\n" + "typeStates\"L\n" + diff --git a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py index c438e6ac7..66ebcb412 100644 --- a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py +++ b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.py @@ -34,7 +34,7 @@ -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bpipelines_and_context.proto\x12\x05\x66icus\x1a\x0fpm_models.proto\x1a\nutil.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x1e\n\x0eGrpcContextKey\x12\x0c\n\x04name\x18\x01 \x01(\t\"W\n\x1bGrpcContextValueWithKeyName\x12\x10\n\x08key_name\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"\xc6\t\n\x10GrpcContextValue\x12\x10\n\x06string\x18\x01 \x01(\tH\x00\x12;\n\nhashes_log\x18\x02 \x01(\x0b\x32%.ficus.GrpcHashesEventLogContextValueH\x00\x12\x39\n\tnames_log\x18\x03 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12\x10\n\x06uint32\x18\x04 \x01(\rH\x00\x12J\n\x11traces_sub_arrays\x18\x05 \x01(\x0b\x32-.ficus.GrpcEventLogTraceSubArraysContextValueH\x00\x12P\n\x16trace_index_sub_arrays\x18\x06 \x01(\x0b\x32..ficus.GrpcSubArraysWithTraceIndexContextValueH\x00\x12\x0e\n\x04\x62ool\x18\x07 \x01(\x08H\x00\x12=\n\rxes_event_log\x18\x08 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12/\n\ncolors_log\x18\t \x01(\x0b\x32\x19.ficus.GrpcColorsEventLogH\x00\x12\x1f\n\x04\x65num\x18\n \x01(\x0b\x32\x0f.ficus.GrpcEnumH\x00\x12\x31\n\x0e\x65vent_log_info\x18\x0b \x01(\x0b\x32\x17.ficus.GrpcEventLogInfoH\x00\x12%\n\x07strings\x18\x0c \x01(\x0b\x32\x12.ficus.GrpcStringsH\x00\x12\'\n\x08pipeline\x18\r \x01(\x0b\x32\x13.ficus.GrpcPipelineH\x00\x12\'\n\x08petriNet\x18\x0e \x01(\x0b\x32\x13.ficus.GrpcPetriNetH\x00\x12!\n\x05graph\x18\x0f \x01(\x0b\x32\x10.ficus.GrpcGraphH\x00\x12\x0f\n\x05\x66loat\x18\x10 \x01(\x02H\x00\x12+\n\nannotation\x18\x11 \x01(\x0b\x32\x15.ficus.GrpcAnnotationH\x00\x12%\n\x07\x64\x61taset\x18\x12 \x01(\x0b\x32\x12.ficus.GrpcDatasetH\x00\x12\x34\n\x0flabeled_dataset\x18\x13 \x01(\x0b\x32\x19.ficus.GrpcLabeledDatasetH\x00\x12!\n\x05\x62ytes\x18\x14 \x01(\x0b\x32\x10.ficus.GrpcBytesH\x00\x12;\n\x12logTimelineDiagram\x18\x15 \x01(\x0b\x32\x1d.ficus.GrpcLogTimelineDiagramH\x00\x12,\n\x0b\x66loat_array\x18\x16 \x01(\x0b\x32\x15.ficus.GrpcFloatArrayH\x00\x12(\n\tint_array\x18\x17 \x01(\x0b\x32\x13.ficus.GrpcIntArrayH\x00\x12*\n\nuint_array\x18\x18 \x01(\x0b\x32\x14.ficus.GrpcUintArrayH\x00\x12\x0e\n\x04json\x18\x19 \x01(\tH\x00\x12.\n\tevent_log\x18\x1a \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLogH\x00\x12\x39\n\x0focel_annotation\x18\x1b \x01(\x0b\x32\x1e.ficus.GrpcOcelModelAnnotationH\x00\x42\x0e\n\x0c\x63ontextValue\"U\n\x17GrpcOcelModelAnnotation\x12:\n\x0b\x61nnotations\x18\x01 \x03(\x0b\x32%.ficus.GrpcModelElementOcelAnnotation\"\xda\x01\n\x1eGrpcModelElementOcelAnnotation\x12\x12\n\nelement_id\x18\x01 \x01(\x04\x12\x30\n\rinitial_state\x18\x02 \x01(\x0b\x32\x14.ficus.GrpcOcelStateH\x00\x88\x01\x01\x12)\n\x0b\x66inal_state\x18\x03 \x01(\x0b\x32\x14.ficus.GrpcOcelState\x12\x35\n\trelations\x18\x04 \x03(\x0b\x32\".ficus.GrpcOcelStateObjectRelationB\x10\n\x0e_initial_state\"M\n\x1bGrpcOcelStateObjectRelation\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x1b\n\x13related_objects_ids\x18\x02 \x03(\t\"D\n\rGrpcOcelState\x12\x33\n\x0btype_states\x18\x01 \x03(\x0b\x32\x1e.ficus.GrpcOcelObjectTypeState\";\n\x17GrpcOcelObjectTypeState\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x12\n\nobject_ids\x18\x02 \x03(\t\"\x1f\n\x0eGrpcFloatArray\x12\r\n\x05items\x18\x01 \x03(\x01\"\x1d\n\x0cGrpcIntArray\x12\r\n\x05items\x18\x01 \x03(\x03\"\x1e\n\rGrpcUintArray\x12\r\n\x05items\x18\x01 \x03(\x04\"a\n\x13GrpcContextKeyValue\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"H\n\x1eGrpcHashesEventLogContextValue\x12&\n\x03log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcHashesEventLog\"F\n\x1dGrpcNamesEventLogContextValue\x12%\n\x03log\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcNamesEventLog\"^\n&GrpcEventLogTraceSubArraysContextValue\x12\x34\n\x11traces_sub_arrays\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcTraceSubArrays\"/\n\x11GrpcTraceSubArray\x12\r\n\x05start\x18\x01 \x01(\r\x12\x0b\n\x03\x65nd\x18\x02 \x01(\r\"B\n\x12GrpcTraceSubArrays\x12,\n\nsub_arrays\x18\x01 \x03(\x0b\x32\x18.ficus.GrpcTraceSubArray\"^\n\x1aGrpcSubArrayWithTraceIndex\x12+\n\tsub_array\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcTraceSubArray\x12\x13\n\x0btrace_index\x18\x02 \x01(\r\"`\n\'GrpcSubArraysWithTraceIndexContextValue\x12\x35\n\nsub_arrays\x18\x01 \x03(\x0b\x32!.ficus.GrpcSubArrayWithTraceIndex\"\xa4\x01\n\x12GrpcColorsEventLog\x12\x31\n\x07mapping\x18\x01 \x03(\x0b\x32 .ficus.GrpcColorsEventLogMapping\x12&\n\x06traces\x18\x02 \x03(\x0b\x32\x16.ficus.GrpcColorsTrace\x12\x33\n\x0b\x61\x64justments\x18\x03 \x03(\x0b\x32\x1e.ficus.GrpcColorsLogAdjustment\"\xba\x01\n\x17GrpcColorsLogAdjustment\x12G\n\x14rectangle_adjustment\x18\x01 \x01(\x0b\x32\'.ficus.GrpcColorsLogRectangleAdjustmentH\x00\x12I\n\x10\x61xis_after_trace\x18\x02 \x01(\x0b\x32-.ficus.GrpcColorsLogXAxisAfterTraceAdjustmentH\x00\x42\x0b\n\tselection\"\xa9\x01\n GrpcColorsLogRectangleAdjustment\x12*\n\rup_left_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12-\n\x10\x64own_right_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12*\n\"extend_to_nearest_vertical_borders\x18\x03 \x01(\x08\"8\n\x0cGrpcLogPoint\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x02 \x01(\x04\"=\n&GrpcColorsLogXAxisAfterTraceAdjustment\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\"J\n\x19GrpcColorsEventLogMapping\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x05\x63olor\x18\x02 \x01(\x0b\x32\x10.ficus.GrpcColor\"\\\n\x0fGrpcColorsTrace\x12\x31\n\x0c\x65vent_colors\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcColoredRectangle\x12\x16\n\x0e\x63onstant_width\x18\x02 \x01(\x08\"L\n\x14GrpcColoredRectangle\x12\x13\n\x0b\x63olor_index\x18\x01 \x01(\r\x12\x0f\n\x07start_x\x18\x02 \x01(\x01\x12\x0e\n\x06length\x18\x03 \x01(\x01\"+\n\x08GrpcEnum\x12\x10\n\x08\x65numType\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"[\n\x10GrpcEventLogInfo\x12\x14\n\x0c\x65vents_count\x18\x01 \x01(\r\x12\x14\n\x0ctraces_count\x18\x02 \x01(\r\x12\x1b\n\x13\x65vent_classes_count\x18\x03 \x01(\r\"\x1e\n\x0bGrpcStrings\x12\x0f\n\x07strings\x18\x01 \x03(\t\":\n\x0cGrpcPipeline\x12*\n\x05parts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"\xab\x02\n\x14GrpcPipelinePartBase\x12.\n\x0b\x64\x65\x66\x61ultPart\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcPipelinePartH\x00\x12\x37\n\x0cparallelPart\x18\x02 \x01(\x0b\x32\x1f.ficus.GrpcParallelPipelinePartH\x00\x12O\n\x18simpleContextRequestPart\x18\x03 \x01(\x0b\x32+.ficus.GrpcSimpleContextRequestPipelinePartH\x00\x12Q\n\x19\x63omplexContextRequestPart\x18\x04 \x01(\x0b\x32,.ficus.GrpcComplexContextRequestPipelinePartH\x00\x42\x06\n\x04part\"]\n\x10GrpcPipelinePart\x12\x0c\n\x04name\x18\x01 \x01(\t\x12;\n\rconfiguration\x18\x02 \x01(\x0b\x32$.ficus.GrpcPipelinePartConfiguration\"\\\n\x1dGrpcPipelinePartConfiguration\x12;\n\x17\x63onfigurationParameters\x18\x01 \x03(\x0b\x32\x1a.ficus.GrpcContextKeyValue\"N\n\x18GrpcParallelPipelinePart\x12\x32\n\rpipelineParts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"N\n\x19GrpcParallelPipelineParts\x12\x31\n\x08pipeline\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcParallelPipelinePart\"\x97\x01\n$GrpcSimpleContextRequestPipelinePart\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12)\n\x10\x66rontendPartUuid\x18\x02 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x03 \x01(\t\"\xce\x01\n%GrpcComplexContextRequestPipelinePart\x12#\n\x04keys\x18\x01 \x03(\x0b\x32\x15.ficus.GrpcContextKey\x12\x33\n\x12\x62\x65\x66orePipelinePart\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcPipelinePart\x12)\n\x10\x66rontendPartUuid\x18\x03 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x04 \x01(\t\"y\n\tGrpcGraph\x12#\n\x05nodes\x18\x01 \x03(\x0b\x32\x14.ficus.GrpcGraphNode\x12#\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x14.ficus.GrpcGraphEdge\x12\"\n\x04kind\x18\x03 \x01(\x0e\x32\x14.ficus.GrpcGraphKind\"\x88\x01\n\rGrpcGraphNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\x12\x36\n\x0f\x61\x64\x64itional_data\x18\x03 \x03(\x0b\x32\x1d.ficus.GrpcNodeAdditionalData\x12%\n\x0binner_graph\x18\x04 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\xac\x03\n\x16GrpcNodeAdditionalData\x12&\n\x04none\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x30\n\rsoftware_data\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x38\n\x0cpattern_info\x18\x03 \x01(\x0b\x32 .ficus.GrpcUnderlyingPatternInfoH\x00\x12;\n\ntrace_data\x18\x04 \x01(\x0b\x32%.ficus.GrpcNodeCorrespondingTraceDataH\x00\x12\x34\n\ttime_data\x18\x05 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x12\x42\n\x16multithreaded_fragment\x18\x07 \x01(\x0b\x32 .ficus.GrpcMultithreadedFragmentH\x00\x12?\n\x1aoriginal_event_coordinates\x18\x06 \x01(\x0b\x32\x1b.ficus.GrpcEventCoordinatesB\x06\n\x04\x64\x61ta\"Q\n\x19GrpcMultithreadedFragment\x12\x34\n\x11multithreaded_log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLog\"@\n\x18GrpcActivityStartEndData\x12\x12\n\nstart_time\x18\x01 \x01(\x03\x12\x10\n\x08\x65nd_time\x18\x02 \x01(\x03\"=\n\x14GrpcEventCoordinates\x12\x10\n\x08trace_id\x18\x02 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x03 \x01(\x04\"B\n\x1eGrpcNodeCorrespondingTraceData\x12 \n\x18\x62\x65longs_to_root_sequence\x18\x01 \x01(\x08\"\xe7\x02\n\x10GrpcSoftwareData\x12,\n\thistogram\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\x12\x45\n\x19timeline_diagram_fragment\x18\x02 \x01(\x0b\x32\".ficus.GrpcTimelineDiagramFragment\x12\x37\n\x0ehistogram_data\x18\r \x03(\x0b\x32\x1f.ficus.GrpcGeneralHistogramData\x12\x39\n\x13simple_counter_data\x18\x0e \x03(\x0b\x32\x1c.ficus.GrpcSimpleCounterData\x12\x42\n\x19\x61\x63tivities_durations_data\x18\x0f \x03(\x0b\x32\x1f.ficus.GrpcActivityDurationData\x12&\n\tocel_data\x18\x10 \x03(\x0b\x32\x13.ficus.GrpcOcelData\"4\n\x16GrpcOcelObjectTypeData\x12\x11\n\x04type\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_type\"O\n\x15GrpcOcelAllocateMerge\x12\x11\n\x04type\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\x12merged_objects_ids\x18\x02 \x03(\tB\x07\n\x05_type\"@\n\x16GrpcOcelProducedObject\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\x04type\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_type\"Q\n\x16GrpcOcelConsumeProduce\x12\x37\n\x10produced_objects\x18\x01 \x03(\x0b\x32\x1d.ficus.GrpcOcelProducedObject\"\x97\x02\n\x0cGrpcOcelData\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x31\n\x08\x61llocate\x18\x02 \x01(\x0b\x32\x1d.ficus.GrpcOcelObjectTypeDataH\x00\x12\x30\n\x07\x63onsume\x18\x03 \x01(\x0b\x32\x1d.ficus.GrpcOcelObjectTypeDataH\x00\x12@\n\x18merged_object_allocation\x18\x04 \x01(\x0b\x32\x1c.ficus.GrpcOcelAllocateMergeH\x00\x12\x43\n\x1aproduce_object_consumption\x18\x05 \x01(\x0b\x32\x1d.ficus.GrpcOcelConsumeProduceH\x00\x42\x08\n\x06\x61\x63tion\"\x84\x01\n\x18GrpcActivityDurationData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12%\n\x04kind\x18\x03 \x01(\x0e\x32\x17.ficus.GrpcDurationKind\"W\n\x1aGrpcGenericEnhancementBase\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05units\x18\x02 \x01(\t\x12\x12\n\x05group\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_group\"w\n\x18GrpcGeneralHistogramData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12*\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\"W\n\x15GrpcSimpleCounterData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"|\n\x16GrpcMethodInliningInfo\x12\x30\n\x0cinlinee_info\x18\x01 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\x12\x30\n\x0cinliner_info\x18\x02 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\"I\n\x13GrpcMethodNameParts\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\t\"1\n\x12GrpcHistogramEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"A\n\x1bGrpcTimelineDiagramFragment\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\"a\n\x12GrpcAllocationInfo\x12\x11\n\ttype_name\x18\x01 \x01(\t\x12\x1f\n\x17\x61llocated_objects_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x61llocated_bytes\x18\x03 \x01(\x04\"\x8b\x01\n\x19GrpcUnderlyingPatternInfo\x12\x36\n\x0cpattern_kind\x18\x01 \x01(\x0e\x32 .ficus.GrpcUnderlyingPatternKind\x12\x15\n\rbase_sequence\x18\x02 \x03(\t\x12\x1f\n\x05graph\x18\x03 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\x9a\x01\n\rGrpcGraphEdge\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tfrom_node\x18\x02 \x01(\x04\x12\x0f\n\x07to_node\x18\x03 \x01(\x04\x12\x0e\n\x06weight\x18\x04 \x01(\x01\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\t\x12;\n\x0f\x61\x64\x64itional_data\x18\x06 \x03(\x0b\x32\".ficus.GrpcGraphEdgeAdditionalData\"\xc5\x01\n\x1bGrpcGraphEdgeAdditionalData\x12\x30\n\rsoftware_data\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x36\n\x0e\x65xecution_info\x18\x02 \x01(\x0b\x32\x1c.ficus.GrpcEdgeExecutionInfoH\x00\x12\x34\n\ttime_data\x18\x03 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x42\x06\n\x04\x64\x61ta\"(\n\x15GrpcEdgeExecutionInfo\x12\x0f\n\x07traceId\x18\x01 \x01(\x04\"\x1a\n\tGrpcBytes\x12\r\n\x05\x62ytes\x18\x01 \x01(\x0c\"I\n\x16GrpcLogTimelineDiagram\x12/\n\x06traces\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcTraceTimelineDiagram\"p\n\x1cGrpcTimelineTraceEventsGroup\x12(\n\x0bstart_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12&\n\tend_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\"z\n\x18GrpcTraceTimelineDiagram\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\x12:\n\revents_groups\x18\x02 \x03(\x0b\x32#.ficus.GrpcTimelineTraceEventsGroup\"4\n\nGrpcThread\x12&\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x16.ficus.GrpcThreadEvent\".\n\x0fGrpcThreadEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05stamp\x18\x02 \x01(\x03*.\n\rGrpcGraphKind\x12\x08\n\x04None\x10\x00\x12\x07\n\x03\x44\x41G\x10\x01\x12\n\n\x06\x44\x61gLCS\x10\x02*u\n\x10GrpcDurationKind\x12\x0f\n\x0bUnspecified\x10\x00\x12\t\n\x05Nanos\x10\x01\x12\n\n\x06Micros\x10\x02\x12\n\n\x06Millis\x10\x03\x12\x0b\n\x07Seconds\x10\x04\x12\x0b\n\x07Minutes\x10\x05\x12\t\n\x05Hours\x10\x06\x12\x08\n\x04\x44\x61ys\x10\x07*\xb1\x01\n\x19GrpcUnderlyingPatternKind\x12\x0e\n\nStrictLoop\x10\x00\x12\x18\n\x14PrimitiveTandemArray\x10\x01\x12\x16\n\x12MaximalTandemArray\x10\x02\x12\x11\n\rMaximalRepeat\x10\x03\x12\x16\n\x12SuperMaximalRepeat\x10\x04\x12\x1a\n\x16NearSuperMaximalRepeat\x10\x05\x12\x0b\n\x07Unknown\x10\x06\x42\x0fZ\r./;grpcmodelsb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1bpipelines_and_context.proto\x12\x05\x66icus\x1a\x0fpm_models.proto\x1a\nutil.proto\x1a\x1bgoogle/protobuf/empty.proto\"\x1e\n\x0eGrpcContextKey\x12\x0c\n\x04name\x18\x01 \x01(\t\"W\n\x1bGrpcContextValueWithKeyName\x12\x10\n\x08key_name\x18\x01 \x01(\t\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"\xc6\t\n\x10GrpcContextValue\x12\x10\n\x06string\x18\x01 \x01(\tH\x00\x12;\n\nhashes_log\x18\x02 \x01(\x0b\x32%.ficus.GrpcHashesEventLogContextValueH\x00\x12\x39\n\tnames_log\x18\x03 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12\x10\n\x06uint32\x18\x04 \x01(\rH\x00\x12J\n\x11traces_sub_arrays\x18\x05 \x01(\x0b\x32-.ficus.GrpcEventLogTraceSubArraysContextValueH\x00\x12P\n\x16trace_index_sub_arrays\x18\x06 \x01(\x0b\x32..ficus.GrpcSubArraysWithTraceIndexContextValueH\x00\x12\x0e\n\x04\x62ool\x18\x07 \x01(\x08H\x00\x12=\n\rxes_event_log\x18\x08 \x01(\x0b\x32$.ficus.GrpcNamesEventLogContextValueH\x00\x12/\n\ncolors_log\x18\t \x01(\x0b\x32\x19.ficus.GrpcColorsEventLogH\x00\x12\x1f\n\x04\x65num\x18\n \x01(\x0b\x32\x0f.ficus.GrpcEnumH\x00\x12\x31\n\x0e\x65vent_log_info\x18\x0b \x01(\x0b\x32\x17.ficus.GrpcEventLogInfoH\x00\x12%\n\x07strings\x18\x0c \x01(\x0b\x32\x12.ficus.GrpcStringsH\x00\x12\'\n\x08pipeline\x18\r \x01(\x0b\x32\x13.ficus.GrpcPipelineH\x00\x12\'\n\x08petriNet\x18\x0e \x01(\x0b\x32\x13.ficus.GrpcPetriNetH\x00\x12!\n\x05graph\x18\x0f \x01(\x0b\x32\x10.ficus.GrpcGraphH\x00\x12\x0f\n\x05\x66loat\x18\x10 \x01(\x02H\x00\x12+\n\nannotation\x18\x11 \x01(\x0b\x32\x15.ficus.GrpcAnnotationH\x00\x12%\n\x07\x64\x61taset\x18\x12 \x01(\x0b\x32\x12.ficus.GrpcDatasetH\x00\x12\x34\n\x0flabeled_dataset\x18\x13 \x01(\x0b\x32\x19.ficus.GrpcLabeledDatasetH\x00\x12!\n\x05\x62ytes\x18\x14 \x01(\x0b\x32\x10.ficus.GrpcBytesH\x00\x12;\n\x12logTimelineDiagram\x18\x15 \x01(\x0b\x32\x1d.ficus.GrpcLogTimelineDiagramH\x00\x12,\n\x0b\x66loat_array\x18\x16 \x01(\x0b\x32\x15.ficus.GrpcFloatArrayH\x00\x12(\n\tint_array\x18\x17 \x01(\x0b\x32\x13.ficus.GrpcIntArrayH\x00\x12*\n\nuint_array\x18\x18 \x01(\x0b\x32\x14.ficus.GrpcUintArrayH\x00\x12\x0e\n\x04json\x18\x19 \x01(\tH\x00\x12.\n\tevent_log\x18\x1a \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLogH\x00\x12\x39\n\x0focel_annotation\x18\x1b \x01(\x0b\x32\x1e.ficus.GrpcOcelModelAnnotationH\x00\x42\x0e\n\x0c\x63ontextValue\"U\n\x17GrpcOcelModelAnnotation\x12:\n\x0b\x61nnotations\x18\x01 \x03(\x0b\x32%.ficus.GrpcModelElementOcelAnnotation\"\xda\x01\n\x1eGrpcModelElementOcelAnnotation\x12\x12\n\nelement_id\x18\x01 \x01(\x04\x12\x30\n\rinitial_state\x18\x02 \x01(\x0b\x32\x14.ficus.GrpcOcelStateH\x00\x88\x01\x01\x12)\n\x0b\x66inal_state\x18\x03 \x01(\x0b\x32\x14.ficus.GrpcOcelState\x12\x35\n\trelations\x18\x04 \x03(\x0b\x32\".ficus.GrpcOcelStateObjectRelationB\x10\n\x0e_initial_state\"a\n\x1bGrpcOcelStateObjectRelation\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x12\n\nelement_id\x18\x02 \x01(\x04\x12\x1b\n\x13related_objects_ids\x18\x03 \x03(\t\"D\n\rGrpcOcelState\x12\x33\n\x0btype_states\x18\x01 \x03(\x0b\x32\x1e.ficus.GrpcOcelObjectTypeState\";\n\x17GrpcOcelObjectTypeState\x12\x0c\n\x04type\x18\x01 \x01(\t\x12\x12\n\nobject_ids\x18\x02 \x03(\t\"\x1f\n\x0eGrpcFloatArray\x12\r\n\x05items\x18\x01 \x03(\x01\"\x1d\n\x0cGrpcIntArray\x12\r\n\x05items\x18\x01 \x03(\x03\"\x1e\n\rGrpcUintArray\x12\r\n\x05items\x18\x01 \x03(\x04\"a\n\x13GrpcContextKeyValue\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12&\n\x05value\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcContextValue\"H\n\x1eGrpcHashesEventLogContextValue\x12&\n\x03log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcHashesEventLog\"F\n\x1dGrpcNamesEventLogContextValue\x12%\n\x03log\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcNamesEventLog\"^\n&GrpcEventLogTraceSubArraysContextValue\x12\x34\n\x11traces_sub_arrays\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcTraceSubArrays\"/\n\x11GrpcTraceSubArray\x12\r\n\x05start\x18\x01 \x01(\r\x12\x0b\n\x03\x65nd\x18\x02 \x01(\r\"B\n\x12GrpcTraceSubArrays\x12,\n\nsub_arrays\x18\x01 \x03(\x0b\x32\x18.ficus.GrpcTraceSubArray\"^\n\x1aGrpcSubArrayWithTraceIndex\x12+\n\tsub_array\x18\x01 \x01(\x0b\x32\x18.ficus.GrpcTraceSubArray\x12\x13\n\x0btrace_index\x18\x02 \x01(\r\"`\n\'GrpcSubArraysWithTraceIndexContextValue\x12\x35\n\nsub_arrays\x18\x01 \x03(\x0b\x32!.ficus.GrpcSubArrayWithTraceIndex\"\xa4\x01\n\x12GrpcColorsEventLog\x12\x31\n\x07mapping\x18\x01 \x03(\x0b\x32 .ficus.GrpcColorsEventLogMapping\x12&\n\x06traces\x18\x02 \x03(\x0b\x32\x16.ficus.GrpcColorsTrace\x12\x33\n\x0b\x61\x64justments\x18\x03 \x03(\x0b\x32\x1e.ficus.GrpcColorsLogAdjustment\"\xba\x01\n\x17GrpcColorsLogAdjustment\x12G\n\x14rectangle_adjustment\x18\x01 \x01(\x0b\x32\'.ficus.GrpcColorsLogRectangleAdjustmentH\x00\x12I\n\x10\x61xis_after_trace\x18\x02 \x01(\x0b\x32-.ficus.GrpcColorsLogXAxisAfterTraceAdjustmentH\x00\x42\x0b\n\tselection\"\xa9\x01\n GrpcColorsLogRectangleAdjustment\x12*\n\rup_left_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12-\n\x10\x64own_right_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12*\n\"extend_to_nearest_vertical_borders\x18\x03 \x01(\x08\"8\n\x0cGrpcLogPoint\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x02 \x01(\x04\"=\n&GrpcColorsLogXAxisAfterTraceAdjustment\x12\x13\n\x0btrace_index\x18\x01 \x01(\x04\"J\n\x19GrpcColorsEventLogMapping\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1f\n\x05\x63olor\x18\x02 \x01(\x0b\x32\x10.ficus.GrpcColor\"\\\n\x0fGrpcColorsTrace\x12\x31\n\x0c\x65vent_colors\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcColoredRectangle\x12\x16\n\x0e\x63onstant_width\x18\x02 \x01(\x08\"L\n\x14GrpcColoredRectangle\x12\x13\n\x0b\x63olor_index\x18\x01 \x01(\r\x12\x0f\n\x07start_x\x18\x02 \x01(\x01\x12\x0e\n\x06length\x18\x03 \x01(\x01\"+\n\x08GrpcEnum\x12\x10\n\x08\x65numType\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t\"[\n\x10GrpcEventLogInfo\x12\x14\n\x0c\x65vents_count\x18\x01 \x01(\r\x12\x14\n\x0ctraces_count\x18\x02 \x01(\r\x12\x1b\n\x13\x65vent_classes_count\x18\x03 \x01(\r\"\x1e\n\x0bGrpcStrings\x12\x0f\n\x07strings\x18\x01 \x03(\t\":\n\x0cGrpcPipeline\x12*\n\x05parts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"\xab\x02\n\x14GrpcPipelinePartBase\x12.\n\x0b\x64\x65\x66\x61ultPart\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcPipelinePartH\x00\x12\x37\n\x0cparallelPart\x18\x02 \x01(\x0b\x32\x1f.ficus.GrpcParallelPipelinePartH\x00\x12O\n\x18simpleContextRequestPart\x18\x03 \x01(\x0b\x32+.ficus.GrpcSimpleContextRequestPipelinePartH\x00\x12Q\n\x19\x63omplexContextRequestPart\x18\x04 \x01(\x0b\x32,.ficus.GrpcComplexContextRequestPipelinePartH\x00\x42\x06\n\x04part\"]\n\x10GrpcPipelinePart\x12\x0c\n\x04name\x18\x01 \x01(\t\x12;\n\rconfiguration\x18\x02 \x01(\x0b\x32$.ficus.GrpcPipelinePartConfiguration\"\\\n\x1dGrpcPipelinePartConfiguration\x12;\n\x17\x63onfigurationParameters\x18\x01 \x03(\x0b\x32\x1a.ficus.GrpcContextKeyValue\"N\n\x18GrpcParallelPipelinePart\x12\x32\n\rpipelineParts\x18\x01 \x03(\x0b\x32\x1b.ficus.GrpcPipelinePartBase\"N\n\x19GrpcParallelPipelineParts\x12\x31\n\x08pipeline\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcParallelPipelinePart\"\x97\x01\n$GrpcSimpleContextRequestPipelinePart\x12\"\n\x03key\x18\x01 \x01(\x0b\x32\x15.ficus.GrpcContextKey\x12)\n\x10\x66rontendPartUuid\x18\x02 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x03 \x01(\t\"\xce\x01\n%GrpcComplexContextRequestPipelinePart\x12#\n\x04keys\x18\x01 \x03(\x0b\x32\x15.ficus.GrpcContextKey\x12\x33\n\x12\x62\x65\x66orePipelinePart\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcPipelinePart\x12)\n\x10\x66rontendPartUuid\x18\x03 \x01(\x0b\x32\x0f.ficus.GrpcGuid\x12 \n\x18\x66rontendPipelinePartName\x18\x04 \x01(\t\"y\n\tGrpcGraph\x12#\n\x05nodes\x18\x01 \x03(\x0b\x32\x14.ficus.GrpcGraphNode\x12#\n\x05\x65\x64ges\x18\x02 \x03(\x0b\x32\x14.ficus.GrpcGraphEdge\x12\"\n\x04kind\x18\x03 \x01(\x0e\x32\x14.ficus.GrpcGraphKind\"\x88\x01\n\rGrpcGraphNode\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\t\x12\x36\n\x0f\x61\x64\x64itional_data\x18\x03 \x03(\x0b\x32\x1d.ficus.GrpcNodeAdditionalData\x12%\n\x0binner_graph\x18\x04 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\xac\x03\n\x16GrpcNodeAdditionalData\x12&\n\x04none\x18\x01 \x01(\x0b\x32\x16.google.protobuf.EmptyH\x00\x12\x30\n\rsoftware_data\x18\x02 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x38\n\x0cpattern_info\x18\x03 \x01(\x0b\x32 .ficus.GrpcUnderlyingPatternInfoH\x00\x12;\n\ntrace_data\x18\x04 \x01(\x0b\x32%.ficus.GrpcNodeCorrespondingTraceDataH\x00\x12\x34\n\ttime_data\x18\x05 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x12\x42\n\x16multithreaded_fragment\x18\x07 \x01(\x0b\x32 .ficus.GrpcMultithreadedFragmentH\x00\x12?\n\x1aoriginal_event_coordinates\x18\x06 \x01(\x0b\x32\x1b.ficus.GrpcEventCoordinatesB\x06\n\x04\x64\x61ta\"Q\n\x19GrpcMultithreadedFragment\x12\x34\n\x11multithreaded_log\x18\x01 \x01(\x0b\x32\x19.ficus.GrpcSimpleEventLog\"@\n\x18GrpcActivityStartEndData\x12\x12\n\nstart_time\x18\x01 \x01(\x03\x12\x10\n\x08\x65nd_time\x18\x02 \x01(\x03\"=\n\x14GrpcEventCoordinates\x12\x10\n\x08trace_id\x18\x02 \x01(\x04\x12\x13\n\x0b\x65vent_index\x18\x03 \x01(\x04\"B\n\x1eGrpcNodeCorrespondingTraceData\x12 \n\x18\x62\x65longs_to_root_sequence\x18\x01 \x01(\x08\"\xe7\x02\n\x10GrpcSoftwareData\x12,\n\thistogram\x18\x01 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\x12\x45\n\x19timeline_diagram_fragment\x18\x02 \x01(\x0b\x32\".ficus.GrpcTimelineDiagramFragment\x12\x37\n\x0ehistogram_data\x18\r \x03(\x0b\x32\x1f.ficus.GrpcGeneralHistogramData\x12\x39\n\x13simple_counter_data\x18\x0e \x03(\x0b\x32\x1c.ficus.GrpcSimpleCounterData\x12\x42\n\x19\x61\x63tivities_durations_data\x18\x0f \x03(\x0b\x32\x1f.ficus.GrpcActivityDurationData\x12&\n\tocel_data\x18\x10 \x03(\x0b\x32\x13.ficus.GrpcOcelData\"4\n\x16GrpcOcelObjectTypeData\x12\x11\n\x04type\x18\x01 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_type\"O\n\x15GrpcOcelAllocateMerge\x12\x11\n\x04type\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\x12merged_objects_ids\x18\x02 \x03(\tB\x07\n\x05_type\"@\n\x16GrpcOcelProducedObject\x12\n\n\x02id\x18\x01 \x01(\t\x12\x11\n\x04type\x18\x02 \x01(\tH\x00\x88\x01\x01\x42\x07\n\x05_type\"Q\n\x16GrpcOcelConsumeProduce\x12\x37\n\x10produced_objects\x18\x01 \x03(\x0b\x32\x1d.ficus.GrpcOcelProducedObject\"\x97\x02\n\x0cGrpcOcelData\x12\x11\n\tobject_id\x18\x01 \x01(\t\x12\x31\n\x08\x61llocate\x18\x02 \x01(\x0b\x32\x1d.ficus.GrpcOcelObjectTypeDataH\x00\x12\x30\n\x07\x63onsume\x18\x03 \x01(\x0b\x32\x1d.ficus.GrpcOcelObjectTypeDataH\x00\x12@\n\x18merged_object_allocation\x18\x04 \x01(\x0b\x32\x1c.ficus.GrpcOcelAllocateMergeH\x00\x12\x43\n\x1aproduce_object_consumption\x18\x05 \x01(\x0b\x32\x1d.ficus.GrpcOcelConsumeProduceH\x00\x42\x08\n\x06\x61\x63tion\"\x84\x01\n\x18GrpcActivityDurationData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\x10\n\x08\x64uration\x18\x02 \x01(\x04\x12%\n\x04kind\x18\x03 \x01(\x0e\x32\x17.ficus.GrpcDurationKind\"W\n\x1aGrpcGenericEnhancementBase\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05units\x18\x02 \x01(\t\x12\x12\n\x05group\x18\x03 \x01(\tH\x00\x88\x01\x01\x42\x08\n\x06_group\"w\n\x18GrpcGeneralHistogramData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12*\n\x07\x65ntries\x18\x02 \x03(\x0b\x32\x19.ficus.GrpcHistogramEntry\"W\n\x15GrpcSimpleCounterData\x12/\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32!.ficus.GrpcGenericEnhancementBase\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"|\n\x16GrpcMethodInliningInfo\x12\x30\n\x0cinlinee_info\x18\x01 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\x12\x30\n\x0cinliner_info\x18\x02 \x01(\x0b\x32\x1a.ficus.GrpcMethodNameParts\"I\n\x13GrpcMethodNameParts\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x11\n\tnamespace\x18\x02 \x01(\t\x12\x11\n\tsignature\x18\x03 \x01(\t\"1\n\x12GrpcHistogramEntry\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05\x63ount\x18\x02 \x01(\x01\"A\n\x1bGrpcTimelineDiagramFragment\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\"a\n\x12GrpcAllocationInfo\x12\x11\n\ttype_name\x18\x01 \x01(\t\x12\x1f\n\x17\x61llocated_objects_count\x18\x02 \x01(\x04\x12\x17\n\x0f\x61llocated_bytes\x18\x03 \x01(\x04\"\x8b\x01\n\x19GrpcUnderlyingPatternInfo\x12\x36\n\x0cpattern_kind\x18\x01 \x01(\x0e\x32 .ficus.GrpcUnderlyingPatternKind\x12\x15\n\rbase_sequence\x18\x02 \x03(\t\x12\x1f\n\x05graph\x18\x03 \x01(\x0b\x32\x10.ficus.GrpcGraph\"\x9a\x01\n\rGrpcGraphEdge\x12\n\n\x02id\x18\x01 \x01(\x04\x12\x11\n\tfrom_node\x18\x02 \x01(\x04\x12\x0f\n\x07to_node\x18\x03 \x01(\x04\x12\x0e\n\x06weight\x18\x04 \x01(\x01\x12\x0c\n\x04\x64\x61ta\x18\x05 \x01(\t\x12;\n\x0f\x61\x64\x64itional_data\x18\x06 \x03(\x0b\x32\".ficus.GrpcGraphEdgeAdditionalData\"\xc5\x01\n\x1bGrpcGraphEdgeAdditionalData\x12\x30\n\rsoftware_data\x18\x01 \x01(\x0b\x32\x17.ficus.GrpcSoftwareDataH\x00\x12\x36\n\x0e\x65xecution_info\x18\x02 \x01(\x0b\x32\x1c.ficus.GrpcEdgeExecutionInfoH\x00\x12\x34\n\ttime_data\x18\x03 \x01(\x0b\x32\x1f.ficus.GrpcActivityStartEndDataH\x00\x42\x06\n\x04\x64\x61ta\"(\n\x15GrpcEdgeExecutionInfo\x12\x0f\n\x07traceId\x18\x01 \x01(\x04\"\x1a\n\tGrpcBytes\x12\r\n\x05\x62ytes\x18\x01 \x01(\x0c\"I\n\x16GrpcLogTimelineDiagram\x12/\n\x06traces\x18\x01 \x03(\x0b\x32\x1f.ficus.GrpcTraceTimelineDiagram\"p\n\x1cGrpcTimelineTraceEventsGroup\x12(\n\x0bstart_point\x18\x01 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\x12&\n\tend_point\x18\x02 \x01(\x0b\x32\x13.ficus.GrpcLogPoint\"z\n\x18GrpcTraceTimelineDiagram\x12\"\n\x07threads\x18\x01 \x03(\x0b\x32\x11.ficus.GrpcThread\x12:\n\revents_groups\x18\x02 \x03(\x0b\x32#.ficus.GrpcTimelineTraceEventsGroup\"4\n\nGrpcThread\x12&\n\x06\x65vents\x18\x01 \x03(\x0b\x32\x16.ficus.GrpcThreadEvent\".\n\x0fGrpcThreadEvent\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05stamp\x18\x02 \x01(\x03*.\n\rGrpcGraphKind\x12\x08\n\x04None\x10\x00\x12\x07\n\x03\x44\x41G\x10\x01\x12\n\n\x06\x44\x61gLCS\x10\x02*u\n\x10GrpcDurationKind\x12\x0f\n\x0bUnspecified\x10\x00\x12\t\n\x05Nanos\x10\x01\x12\n\n\x06Micros\x10\x02\x12\n\n\x06Millis\x10\x03\x12\x0b\n\x07Seconds\x10\x04\x12\x0b\n\x07Minutes\x10\x05\x12\t\n\x05Hours\x10\x06\x12\x08\n\x04\x44\x61ys\x10\x07*\xb1\x01\n\x19GrpcUnderlyingPatternKind\x12\x0e\n\nStrictLoop\x10\x00\x12\x18\n\x14PrimitiveTandemArray\x10\x01\x12\x16\n\x12MaximalTandemArray\x10\x02\x12\x11\n\rMaximalRepeat\x10\x03\x12\x16\n\x12SuperMaximalRepeat\x10\x04\x12\x1a\n\x16NearSuperMaximalRepeat\x10\x05\x12\x0b\n\x07Unknown\x10\x06\x42\x0fZ\r./;grpcmodelsb\x06proto3') @@ -50,17 +50,17 @@ DESCRIPTOR._serialized_options = b'Z\r./;grpcmodels' - _globals['_GRPCGRAPHKIND']._serialized_start=8586 + _globals['_GRPCGRAPHKIND']._serialized_start=8606 - _globals['_GRPCGRAPHKIND']._serialized_end=8632 + _globals['_GRPCGRAPHKIND']._serialized_end=8652 - _globals['_GRPCDURATIONKIND']._serialized_start=8634 + _globals['_GRPCDURATIONKIND']._serialized_start=8654 - _globals['_GRPCDURATIONKIND']._serialized_end=8751 + _globals['_GRPCDURATIONKIND']._serialized_end=8771 - _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_start=8754 + _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_start=8774 - _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_end=8931 + _globals['_GRPCUNDERLYINGPATTERNKIND']._serialized_end=8951 _globals['_GRPCCONTEXTKEY']._serialized_start=96 @@ -84,262 +84,262 @@ _globals['_GRPCOCELSTATEOBJECTRELATION']._serialized_start=1750 - _globals['_GRPCOCELSTATEOBJECTRELATION']._serialized_end=1827 + _globals['_GRPCOCELSTATEOBJECTRELATION']._serialized_end=1847 - _globals['_GRPCOCELSTATE']._serialized_start=1829 + _globals['_GRPCOCELSTATE']._serialized_start=1849 - _globals['_GRPCOCELSTATE']._serialized_end=1897 + _globals['_GRPCOCELSTATE']._serialized_end=1917 - _globals['_GRPCOCELOBJECTTYPESTATE']._serialized_start=1899 + _globals['_GRPCOCELOBJECTTYPESTATE']._serialized_start=1919 - _globals['_GRPCOCELOBJECTTYPESTATE']._serialized_end=1958 + _globals['_GRPCOCELOBJECTTYPESTATE']._serialized_end=1978 - _globals['_GRPCFLOATARRAY']._serialized_start=1960 + _globals['_GRPCFLOATARRAY']._serialized_start=1980 - _globals['_GRPCFLOATARRAY']._serialized_end=1991 + _globals['_GRPCFLOATARRAY']._serialized_end=2011 - _globals['_GRPCINTARRAY']._serialized_start=1993 + _globals['_GRPCINTARRAY']._serialized_start=2013 - _globals['_GRPCINTARRAY']._serialized_end=2022 + _globals['_GRPCINTARRAY']._serialized_end=2042 - _globals['_GRPCUINTARRAY']._serialized_start=2024 + _globals['_GRPCUINTARRAY']._serialized_start=2044 - _globals['_GRPCUINTARRAY']._serialized_end=2054 + _globals['_GRPCUINTARRAY']._serialized_end=2074 - _globals['_GRPCCONTEXTKEYVALUE']._serialized_start=2056 + _globals['_GRPCCONTEXTKEYVALUE']._serialized_start=2076 - _globals['_GRPCCONTEXTKEYVALUE']._serialized_end=2153 + _globals['_GRPCCONTEXTKEYVALUE']._serialized_end=2173 - _globals['_GRPCHASHESEVENTLOGCONTEXTVALUE']._serialized_start=2155 + _globals['_GRPCHASHESEVENTLOGCONTEXTVALUE']._serialized_start=2175 - _globals['_GRPCHASHESEVENTLOGCONTEXTVALUE']._serialized_end=2227 + _globals['_GRPCHASHESEVENTLOGCONTEXTVALUE']._serialized_end=2247 - _globals['_GRPCNAMESEVENTLOGCONTEXTVALUE']._serialized_start=2229 + _globals['_GRPCNAMESEVENTLOGCONTEXTVALUE']._serialized_start=2249 - _globals['_GRPCNAMESEVENTLOGCONTEXTVALUE']._serialized_end=2299 + _globals['_GRPCNAMESEVENTLOGCONTEXTVALUE']._serialized_end=2319 - _globals['_GRPCEVENTLOGTRACESUBARRAYSCONTEXTVALUE']._serialized_start=2301 + _globals['_GRPCEVENTLOGTRACESUBARRAYSCONTEXTVALUE']._serialized_start=2321 - _globals['_GRPCEVENTLOGTRACESUBARRAYSCONTEXTVALUE']._serialized_end=2395 + _globals['_GRPCEVENTLOGTRACESUBARRAYSCONTEXTVALUE']._serialized_end=2415 - _globals['_GRPCTRACESUBARRAY']._serialized_start=2397 + _globals['_GRPCTRACESUBARRAY']._serialized_start=2417 - _globals['_GRPCTRACESUBARRAY']._serialized_end=2444 + _globals['_GRPCTRACESUBARRAY']._serialized_end=2464 - _globals['_GRPCTRACESUBARRAYS']._serialized_start=2446 + _globals['_GRPCTRACESUBARRAYS']._serialized_start=2466 - _globals['_GRPCTRACESUBARRAYS']._serialized_end=2512 + _globals['_GRPCTRACESUBARRAYS']._serialized_end=2532 - _globals['_GRPCSUBARRAYWITHTRACEINDEX']._serialized_start=2514 + _globals['_GRPCSUBARRAYWITHTRACEINDEX']._serialized_start=2534 - _globals['_GRPCSUBARRAYWITHTRACEINDEX']._serialized_end=2608 + _globals['_GRPCSUBARRAYWITHTRACEINDEX']._serialized_end=2628 - _globals['_GRPCSUBARRAYSWITHTRACEINDEXCONTEXTVALUE']._serialized_start=2610 + _globals['_GRPCSUBARRAYSWITHTRACEINDEXCONTEXTVALUE']._serialized_start=2630 - _globals['_GRPCSUBARRAYSWITHTRACEINDEXCONTEXTVALUE']._serialized_end=2706 + _globals['_GRPCSUBARRAYSWITHTRACEINDEXCONTEXTVALUE']._serialized_end=2726 - _globals['_GRPCCOLORSEVENTLOG']._serialized_start=2709 + _globals['_GRPCCOLORSEVENTLOG']._serialized_start=2729 - _globals['_GRPCCOLORSEVENTLOG']._serialized_end=2873 + _globals['_GRPCCOLORSEVENTLOG']._serialized_end=2893 - _globals['_GRPCCOLORSLOGADJUSTMENT']._serialized_start=2876 + _globals['_GRPCCOLORSLOGADJUSTMENT']._serialized_start=2896 - _globals['_GRPCCOLORSLOGADJUSTMENT']._serialized_end=3062 + _globals['_GRPCCOLORSLOGADJUSTMENT']._serialized_end=3082 - _globals['_GRPCCOLORSLOGRECTANGLEADJUSTMENT']._serialized_start=3065 + _globals['_GRPCCOLORSLOGRECTANGLEADJUSTMENT']._serialized_start=3085 - _globals['_GRPCCOLORSLOGRECTANGLEADJUSTMENT']._serialized_end=3234 + _globals['_GRPCCOLORSLOGRECTANGLEADJUSTMENT']._serialized_end=3254 - _globals['_GRPCLOGPOINT']._serialized_start=3236 + _globals['_GRPCLOGPOINT']._serialized_start=3256 - _globals['_GRPCLOGPOINT']._serialized_end=3292 + _globals['_GRPCLOGPOINT']._serialized_end=3312 - _globals['_GRPCCOLORSLOGXAXISAFTERTRACEADJUSTMENT']._serialized_start=3294 + _globals['_GRPCCOLORSLOGXAXISAFTERTRACEADJUSTMENT']._serialized_start=3314 - _globals['_GRPCCOLORSLOGXAXISAFTERTRACEADJUSTMENT']._serialized_end=3355 + _globals['_GRPCCOLORSLOGXAXISAFTERTRACEADJUSTMENT']._serialized_end=3375 - _globals['_GRPCCOLORSEVENTLOGMAPPING']._serialized_start=3357 + _globals['_GRPCCOLORSEVENTLOGMAPPING']._serialized_start=3377 - _globals['_GRPCCOLORSEVENTLOGMAPPING']._serialized_end=3431 + _globals['_GRPCCOLORSEVENTLOGMAPPING']._serialized_end=3451 - _globals['_GRPCCOLORSTRACE']._serialized_start=3433 + _globals['_GRPCCOLORSTRACE']._serialized_start=3453 - _globals['_GRPCCOLORSTRACE']._serialized_end=3525 + _globals['_GRPCCOLORSTRACE']._serialized_end=3545 - _globals['_GRPCCOLOREDRECTANGLE']._serialized_start=3527 + _globals['_GRPCCOLOREDRECTANGLE']._serialized_start=3547 - _globals['_GRPCCOLOREDRECTANGLE']._serialized_end=3603 + _globals['_GRPCCOLOREDRECTANGLE']._serialized_end=3623 - _globals['_GRPCENUM']._serialized_start=3605 + _globals['_GRPCENUM']._serialized_start=3625 - _globals['_GRPCENUM']._serialized_end=3648 + _globals['_GRPCENUM']._serialized_end=3668 - _globals['_GRPCEVENTLOGINFO']._serialized_start=3650 + _globals['_GRPCEVENTLOGINFO']._serialized_start=3670 - _globals['_GRPCEVENTLOGINFO']._serialized_end=3741 + _globals['_GRPCEVENTLOGINFO']._serialized_end=3761 - _globals['_GRPCSTRINGS']._serialized_start=3743 + _globals['_GRPCSTRINGS']._serialized_start=3763 - _globals['_GRPCSTRINGS']._serialized_end=3773 + _globals['_GRPCSTRINGS']._serialized_end=3793 - _globals['_GRPCPIPELINE']._serialized_start=3775 + _globals['_GRPCPIPELINE']._serialized_start=3795 - _globals['_GRPCPIPELINE']._serialized_end=3833 + _globals['_GRPCPIPELINE']._serialized_end=3853 - _globals['_GRPCPIPELINEPARTBASE']._serialized_start=3836 + _globals['_GRPCPIPELINEPARTBASE']._serialized_start=3856 - _globals['_GRPCPIPELINEPARTBASE']._serialized_end=4135 + _globals['_GRPCPIPELINEPARTBASE']._serialized_end=4155 - _globals['_GRPCPIPELINEPART']._serialized_start=4137 + _globals['_GRPCPIPELINEPART']._serialized_start=4157 - _globals['_GRPCPIPELINEPART']._serialized_end=4230 + _globals['_GRPCPIPELINEPART']._serialized_end=4250 - _globals['_GRPCPIPELINEPARTCONFIGURATION']._serialized_start=4232 + _globals['_GRPCPIPELINEPARTCONFIGURATION']._serialized_start=4252 - _globals['_GRPCPIPELINEPARTCONFIGURATION']._serialized_end=4324 + _globals['_GRPCPIPELINEPARTCONFIGURATION']._serialized_end=4344 - _globals['_GRPCPARALLELPIPELINEPART']._serialized_start=4326 + _globals['_GRPCPARALLELPIPELINEPART']._serialized_start=4346 - _globals['_GRPCPARALLELPIPELINEPART']._serialized_end=4404 + _globals['_GRPCPARALLELPIPELINEPART']._serialized_end=4424 - _globals['_GRPCPARALLELPIPELINEPARTS']._serialized_start=4406 + _globals['_GRPCPARALLELPIPELINEPARTS']._serialized_start=4426 - _globals['_GRPCPARALLELPIPELINEPARTS']._serialized_end=4484 + _globals['_GRPCPARALLELPIPELINEPARTS']._serialized_end=4504 - _globals['_GRPCSIMPLECONTEXTREQUESTPIPELINEPART']._serialized_start=4487 + _globals['_GRPCSIMPLECONTEXTREQUESTPIPELINEPART']._serialized_start=4507 - _globals['_GRPCSIMPLECONTEXTREQUESTPIPELINEPART']._serialized_end=4638 + _globals['_GRPCSIMPLECONTEXTREQUESTPIPELINEPART']._serialized_end=4658 - _globals['_GRPCCOMPLEXCONTEXTREQUESTPIPELINEPART']._serialized_start=4641 + _globals['_GRPCCOMPLEXCONTEXTREQUESTPIPELINEPART']._serialized_start=4661 - _globals['_GRPCCOMPLEXCONTEXTREQUESTPIPELINEPART']._serialized_end=4847 + _globals['_GRPCCOMPLEXCONTEXTREQUESTPIPELINEPART']._serialized_end=4867 - _globals['_GRPCGRAPH']._serialized_start=4849 + _globals['_GRPCGRAPH']._serialized_start=4869 - _globals['_GRPCGRAPH']._serialized_end=4970 + _globals['_GRPCGRAPH']._serialized_end=4990 - _globals['_GRPCGRAPHNODE']._serialized_start=4973 + _globals['_GRPCGRAPHNODE']._serialized_start=4993 - _globals['_GRPCGRAPHNODE']._serialized_end=5109 + _globals['_GRPCGRAPHNODE']._serialized_end=5129 - _globals['_GRPCNODEADDITIONALDATA']._serialized_start=5112 + _globals['_GRPCNODEADDITIONALDATA']._serialized_start=5132 - _globals['_GRPCNODEADDITIONALDATA']._serialized_end=5540 + _globals['_GRPCNODEADDITIONALDATA']._serialized_end=5560 - _globals['_GRPCMULTITHREADEDFRAGMENT']._serialized_start=5542 + _globals['_GRPCMULTITHREADEDFRAGMENT']._serialized_start=5562 - _globals['_GRPCMULTITHREADEDFRAGMENT']._serialized_end=5623 + _globals['_GRPCMULTITHREADEDFRAGMENT']._serialized_end=5643 - _globals['_GRPCACTIVITYSTARTENDDATA']._serialized_start=5625 + _globals['_GRPCACTIVITYSTARTENDDATA']._serialized_start=5645 - _globals['_GRPCACTIVITYSTARTENDDATA']._serialized_end=5689 + _globals['_GRPCACTIVITYSTARTENDDATA']._serialized_end=5709 - _globals['_GRPCEVENTCOORDINATES']._serialized_start=5691 + _globals['_GRPCEVENTCOORDINATES']._serialized_start=5711 - _globals['_GRPCEVENTCOORDINATES']._serialized_end=5752 + _globals['_GRPCEVENTCOORDINATES']._serialized_end=5772 - _globals['_GRPCNODECORRESPONDINGTRACEDATA']._serialized_start=5754 + _globals['_GRPCNODECORRESPONDINGTRACEDATA']._serialized_start=5774 - _globals['_GRPCNODECORRESPONDINGTRACEDATA']._serialized_end=5820 + _globals['_GRPCNODECORRESPONDINGTRACEDATA']._serialized_end=5840 - _globals['_GRPCSOFTWAREDATA']._serialized_start=5823 + _globals['_GRPCSOFTWAREDATA']._serialized_start=5843 - _globals['_GRPCSOFTWAREDATA']._serialized_end=6182 + _globals['_GRPCSOFTWAREDATA']._serialized_end=6202 - _globals['_GRPCOCELOBJECTTYPEDATA']._serialized_start=6184 + _globals['_GRPCOCELOBJECTTYPEDATA']._serialized_start=6204 - _globals['_GRPCOCELOBJECTTYPEDATA']._serialized_end=6236 + _globals['_GRPCOCELOBJECTTYPEDATA']._serialized_end=6256 - _globals['_GRPCOCELALLOCATEMERGE']._serialized_start=6238 + _globals['_GRPCOCELALLOCATEMERGE']._serialized_start=6258 - _globals['_GRPCOCELALLOCATEMERGE']._serialized_end=6317 + _globals['_GRPCOCELALLOCATEMERGE']._serialized_end=6337 - _globals['_GRPCOCELPRODUCEDOBJECT']._serialized_start=6319 + _globals['_GRPCOCELPRODUCEDOBJECT']._serialized_start=6339 - _globals['_GRPCOCELPRODUCEDOBJECT']._serialized_end=6383 + _globals['_GRPCOCELPRODUCEDOBJECT']._serialized_end=6403 - _globals['_GRPCOCELCONSUMEPRODUCE']._serialized_start=6385 + _globals['_GRPCOCELCONSUMEPRODUCE']._serialized_start=6405 - _globals['_GRPCOCELCONSUMEPRODUCE']._serialized_end=6466 + _globals['_GRPCOCELCONSUMEPRODUCE']._serialized_end=6486 - _globals['_GRPCOCELDATA']._serialized_start=6469 + _globals['_GRPCOCELDATA']._serialized_start=6489 - _globals['_GRPCOCELDATA']._serialized_end=6748 + _globals['_GRPCOCELDATA']._serialized_end=6768 - _globals['_GRPCACTIVITYDURATIONDATA']._serialized_start=6751 + _globals['_GRPCACTIVITYDURATIONDATA']._serialized_start=6771 - _globals['_GRPCACTIVITYDURATIONDATA']._serialized_end=6883 + _globals['_GRPCACTIVITYDURATIONDATA']._serialized_end=6903 - _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_start=6885 + _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_start=6905 - _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_end=6972 + _globals['_GRPCGENERICENHANCEMENTBASE']._serialized_end=6992 - _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_start=6974 + _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_start=6994 - _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_end=7093 + _globals['_GRPCGENERALHISTOGRAMDATA']._serialized_end=7113 - _globals['_GRPCSIMPLECOUNTERDATA']._serialized_start=7095 + _globals['_GRPCSIMPLECOUNTERDATA']._serialized_start=7115 - _globals['_GRPCSIMPLECOUNTERDATA']._serialized_end=7182 + _globals['_GRPCSIMPLECOUNTERDATA']._serialized_end=7202 - _globals['_GRPCMETHODINLININGINFO']._serialized_start=7184 + _globals['_GRPCMETHODINLININGINFO']._serialized_start=7204 - _globals['_GRPCMETHODINLININGINFO']._serialized_end=7308 + _globals['_GRPCMETHODINLININGINFO']._serialized_end=7328 - _globals['_GRPCMETHODNAMEPARTS']._serialized_start=7310 + _globals['_GRPCMETHODNAMEPARTS']._serialized_start=7330 - _globals['_GRPCMETHODNAMEPARTS']._serialized_end=7383 + _globals['_GRPCMETHODNAMEPARTS']._serialized_end=7403 - _globals['_GRPCHISTOGRAMENTRY']._serialized_start=7385 + _globals['_GRPCHISTOGRAMENTRY']._serialized_start=7405 - _globals['_GRPCHISTOGRAMENTRY']._serialized_end=7434 + _globals['_GRPCHISTOGRAMENTRY']._serialized_end=7454 - _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_start=7436 + _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_start=7456 - _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_end=7501 + _globals['_GRPCTIMELINEDIAGRAMFRAGMENT']._serialized_end=7521 - _globals['_GRPCALLOCATIONINFO']._serialized_start=7503 + _globals['_GRPCALLOCATIONINFO']._serialized_start=7523 - _globals['_GRPCALLOCATIONINFO']._serialized_end=7600 + _globals['_GRPCALLOCATIONINFO']._serialized_end=7620 - _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_start=7603 + _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_start=7623 - _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_end=7742 + _globals['_GRPCUNDERLYINGPATTERNINFO']._serialized_end=7762 - _globals['_GRPCGRAPHEDGE']._serialized_start=7745 + _globals['_GRPCGRAPHEDGE']._serialized_start=7765 - _globals['_GRPCGRAPHEDGE']._serialized_end=7899 + _globals['_GRPCGRAPHEDGE']._serialized_end=7919 - _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_start=7902 + _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_start=7922 - _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_end=8099 + _globals['_GRPCGRAPHEDGEADDITIONALDATA']._serialized_end=8119 - _globals['_GRPCEDGEEXECUTIONINFO']._serialized_start=8101 + _globals['_GRPCEDGEEXECUTIONINFO']._serialized_start=8121 - _globals['_GRPCEDGEEXECUTIONINFO']._serialized_end=8141 + _globals['_GRPCEDGEEXECUTIONINFO']._serialized_end=8161 - _globals['_GRPCBYTES']._serialized_start=8143 + _globals['_GRPCBYTES']._serialized_start=8163 - _globals['_GRPCBYTES']._serialized_end=8169 + _globals['_GRPCBYTES']._serialized_end=8189 - _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_start=8171 + _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_start=8191 - _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_end=8244 + _globals['_GRPCLOGTIMELINEDIAGRAM']._serialized_end=8264 - _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_start=8246 + _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_start=8266 - _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_end=8358 + _globals['_GRPCTIMELINETRACEEVENTSGROUP']._serialized_end=8378 - _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_start=8360 + _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_start=8380 - _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_end=8482 + _globals['_GRPCTRACETIMELINEDIAGRAM']._serialized_end=8502 - _globals['_GRPCTHREAD']._serialized_start=8484 + _globals['_GRPCTHREAD']._serialized_start=8504 - _globals['_GRPCTHREAD']._serialized_end=8536 + _globals['_GRPCTHREAD']._serialized_end=8556 - _globals['_GRPCTHREADEVENT']._serialized_start=8538 + _globals['_GRPCTHREADEVENT']._serialized_start=8558 - _globals['_GRPCTHREADEVENT']._serialized_end=8584 + _globals['_GRPCTHREADEVENT']._serialized_end=8604 # @@protoc_insertion_point(module_scope) diff --git a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi index ada80333e..327e00ddb 100644 --- a/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi +++ b/Ficus/src/python/ficus/grpc_pipelines/models/pipelines_and_context_pb2.pyi @@ -145,12 +145,14 @@ class GrpcModelElementOcelAnnotation(_message.Message): def __init__(self, element_id: _Optional[int] = ..., initial_state: _Optional[_Union[GrpcOcelState, _Mapping]] = ..., final_state: _Optional[_Union[GrpcOcelState, _Mapping]] = ..., relations: _Optional[_Iterable[_Union[GrpcOcelStateObjectRelation, _Mapping]]] = ...) -> None: ... class GrpcOcelStateObjectRelation(_message.Message): - __slots__ = ["object_id", "related_objects_ids"] + __slots__ = ["object_id", "element_id", "related_objects_ids"] OBJECT_ID_FIELD_NUMBER: _ClassVar[int] + ELEMENT_ID_FIELD_NUMBER: _ClassVar[int] RELATED_OBJECTS_IDS_FIELD_NUMBER: _ClassVar[int] object_id: str + element_id: int related_objects_ids: _containers.RepeatedScalarFieldContainer[str] - def __init__(self, object_id: _Optional[str] = ..., related_objects_ids: _Optional[_Iterable[str]] = ...) -> None: ... + def __init__(self, object_id: _Optional[str] = ..., element_id: _Optional[int] = ..., related_objects_ids: _Optional[_Iterable[str]] = ...) -> None: ... class GrpcOcelState(_message.Message): __slots__ = ["type_states"] diff --git a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs index 6a8922cba..6da7a64b3 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs @@ -109,7 +109,9 @@ pub struct OcelObjectRelations { #[get = "pub"] object_id: HeapedOrOwned, #[get = "pub"] - related_objects_ids: Vec>, + from_element_id: u64, + #[get = "pub"] + related_objects_ids: Vec> } lazy_static! { @@ -196,7 +198,7 @@ pub fn create_ocel_annotation_for_dag(graph: &DefaultGraph) -> Result Result GrpcOcelModel fn convert_to_grpc_ocel_object_relation(relations: &OcelObjectRelations) -> GrpcOcelStateObjectRelation { GrpcOcelStateObjectRelation { + element_id: relations.from_element_id().to_owned(), related_objects_ids: relations.related_objects_ids().iter().map(|id| id.to_string()).collect(), object_id: relations.object_id().to_string(), } From 6ce9a6c8ada13b06316fab229d32a45e7ba4603d Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sun, 9 Nov 2025 20:11:58 +0300 Subject: [PATCH 165/189] Fix using incorrect node id --- .../ficus/src/features/discovery/ocel/graph_annotation.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs index 6da7a64b3..b9f4690e5 100644 --- a/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs +++ b/Ficus/src/rust/ficus/src/features/discovery/ocel/graph_annotation.rs @@ -198,7 +198,8 @@ pub fn create_ocel_annotation_for_dag(graph: &DefaultGraph) -> Result Result Date: Sun, 9 Nov 2025 20:14:02 +0300 Subject: [PATCH 166/189] Better connections --- .../Graph/Flamegraph/Context/FlamegraphContext.cs | 4 ++-- .../Graph/Flamegraph/FlamegraphGraphRenderer.razor | 7 ++++--- .../Node/NodeObjectsStateObjectsBlock.razor | 3 ++- .../Graph/Flamegraph/Node/NodeRenderer.razor | 10 ++++++++-- .../Flamegraph/Node/NodesObjectStateRenderer.razor | 5 ++++- .../Npm/src/ocel/ocel_sankey_divs.ts | 14 ++++++++------ 6 files changed, 28 insertions(+), 15 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs index d90379015..9cdf3df0a 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Context/FlamegraphContext.cs @@ -152,8 +152,8 @@ public FlamegraphRenderingContext() } - public string GenerateOcelObjectsContainerId(string objectId, bool initialState) => - $"{ObjectIdStart}-{GetObjectSite(initialState)}-{objectId}"; + public string GenerateOcelObjectsContainerId(ulong fromElementId, string objectId, bool initialState) => + $"{ObjectIdStart}-{fromElementId}-{GetObjectSite(initialState)}-{objectId}"; private static string GetObjectSite(bool initialState) => initialState switch { diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index 2f05e607d..7d3280815 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -39,12 +39,13 @@ else var relations = myRenderingContext.EnhancedNodes.Values .Where(dto => dto.Objects is not null) - .SelectMany(dto => dto.Objects!.InitialStateObjectsRelations) - .Select(r => new + .SelectMany(dto => dto.Objects!.InitialStateObjectsRelations.Select(r => new { + CurrentNodeId = dto.Node.Id, Id = r.Id, + FromNodeId = r.FromElementId, RelatedObjectsIds = r.RelatedObjectsIds - }) + })) .ToList(); await Js.InvokeVoidAsync( diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor index 77967e6e0..77c03c3e6 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeObjectsStateObjectsBlock.razor @@ -15,7 +15,7 @@
      + id="@Context.GenerateOcelObjectsContainerId(NodeId, id, IsInitialState)"> @id
      } @@ -23,6 +23,7 @@ @code { [Parameter] public required FlamegraphRenderingContext Context { get; init; } + [Parameter] public required ulong NodeId { get; init; } [Parameter] public required string TypeName { get; init; } [Parameter] public required List ObjectsIds { get; init; } [Parameter] public required bool IsInitialState { get; init; } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeRenderer.razor index dfee27c5e..987497f08 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodeRenderer.razor @@ -17,7 +17,10 @@ class="flamegraph-node"> @if (Context.RenderOcelAnnotation) { - + }
      + }
      diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor index c33e5b522..69a232ca7 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/Node/NodesObjectStateRenderer.razor @@ -26,6 +26,7 @@ @if (IsInitialState) { @code { - [Parameter] public required bool IsInitialState { get; init; } [Parameter] public required FlamegraphRenderingContext Context { get; init; } + [Parameter] public required ulong NodeId { get; init; } + [Parameter] public required bool IsInitialState { get; init; } [Parameter] public required List? State { get; init; } [Parameter] public required bool TypeNamesFirst { get; init; } } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts index a72b8124c..ea5eb0a16 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts @@ -4,18 +4,20 @@ export function setOcelSankeyFunctions() { interface ObjectsRelation { id: string + currentNodeId: number + fromNodeId: number relatedObjectsIds: string[] } function createOcelSankeyConnections(parentContainerId: string, baseIdPart: string, relations: ObjectsRelation[]) { let getInitialClass = (isInitialState: boolean) => isInitialState ? "initial" : "final"; - let createId = (id: string, isInitialState: boolean) => { + let createId = (nodeId: number, objectId: string, isInitialState: boolean) => { const Delimiter = "-"; - return baseIdPart + Delimiter + getInitialClass(isInitialState) + Delimiter + id; + return baseIdPart + Delimiter + nodeId + Delimiter + getInitialClass(isInitialState) + Delimiter + objectId; }; - let getElement = (objectId: string, isInitialState: boolean) => { - let id = createId(objectId, isInitialState); + let getElement = (nodeId: number, objectId: string, isInitialState: boolean) => { + let id = createId(nodeId, objectId, isInitialState); let element = document.getElementById(id); if (element == null) { @@ -29,11 +31,11 @@ function createOcelSankeyConnections(parentContainerId: string, baseIdPart: stri if (parentContainer == null) return; for (let relation of relations) { - let firstElement = getElement(relation.id, true); + let firstElement = getElement(relation.currentNodeId, relation.id, true); if (firstElement == null) continue; for (let relatedId of relation.relatedObjectsIds) { - let secondElement = getElement(relatedId, false); + let secondElement = getElement(relation.fromNodeId, relatedId, false); if (secondElement == null) continue; connect(parentContainer, firstElement, secondElement, "red", 5); From aaea11bb7488392d7eecba0f2dc0dde73d13e902 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sun, 9 Nov 2025 20:29:13 +0300 Subject: [PATCH 167/189] Cache offset --- .../Npm/src/ocel/ocel_sankey_divs.ts | 49 ++++++++++++------- 1 file changed, 30 insertions(+), 19 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts index ea5eb0a16..7079571e5 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts @@ -9,6 +9,13 @@ interface ObjectsRelation { relatedObjectsIds: string[] } +interface Position { + left: number + top: number + width: number + height: number +} + function createOcelSankeyConnections(parentContainerId: string, baseIdPart: string, relations: ObjectsRelation[]) { let getInitialClass = (isInitialState: boolean) => isInitialState ? "initial" : "final"; let createId = (nodeId: number, objectId: string, isInitialState: boolean) => { @@ -16,34 +23,41 @@ function createOcelSankeyConnections(parentContainerId: string, baseIdPart: stri return baseIdPart + Delimiter + nodeId + Delimiter + getInitialClass(isInitialState) + Delimiter + objectId; }; - let getElement = (nodeId: number, objectId: string, isInitialState: boolean) => { + let offsetsMap = new Map(); + + let getElementPosition = (nodeId: number, objectId: string, isInitialState: boolean): Position | null => { let id = createId(nodeId, objectId, isInitialState); - let element = document.getElementById(id); + if (!offsetsMap.has(id)) { + let element = document.getElementById(id); - if (element == null) { - console.warn(`Failed to get element with id ${id}`); + if (element == null) { + console.warn(`Failed to get element with id ${id}`); + return null; + } + + offsetsMap.set(id, getPosition(element)); } - return element; + return offsetsMap.get(id); }; let parentContainer = document.getElementById(parentContainerId); if (parentContainer == null) return; for (let relation of relations) { - let firstElement = getElement(relation.currentNodeId, relation.id, true); - if (firstElement == null) continue; + let firstPos = getElementPosition(relation.currentNodeId, relation.id, true); + if (firstPos == null) continue; for (let relatedId of relation.relatedObjectsIds) { - let secondElement = getElement(relation.fromNodeId, relatedId, false); - if (secondElement == null) continue; + let secondPos = getElementPosition(relation.fromNodeId, relatedId, false); + if (secondPos == null) continue; - connect(parentContainer, firstElement, secondElement, "red", 5); + connect(parentContainer, firstPos, secondPos, "red", 5); } } } -function getOffset(el: HTMLElement) { +function getPosition(el: HTMLElement): Position { return { left: el.offsetLeft, top: el.offsetTop, @@ -52,15 +66,12 @@ function getOffset(el: HTMLElement) { }; } -function connect(parentContainer: HTMLElement, first: HTMLElement, second: HTMLElement, color: string, thickness: number) { - let firstOffset = getOffset(first); - let secondOffset = getOffset(second); - - let firstX = firstOffset.left + firstOffset.width; - let firstY = firstOffset.top + firstOffset.height; +function connect(parentContainer: HTMLElement, firstPos: Position, secondPos: Position, color: string, thickness: number) { + let firstX = firstPos.left + firstPos.width; + let firstY = firstPos.top + firstPos.height; - let secondX = secondOffset.left + secondOffset.width; - let secondY = secondOffset.top; + let secondX = secondPos.left + secondPos .width; + let secondY = secondPos.top; let length = Math.sqrt(((secondX - firstX) * (secondX - firstX)) + ((secondY - firstY) * (secondY - firstY))); From e3bfcdedbb8d273871ee26a625b83255c695ef1e Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sun, 9 Nov 2025 20:33:56 +0300 Subject: [PATCH 168/189] Fix coordinates of a connection line --- .../FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts index 7079571e5..2ad8e8433 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts @@ -67,11 +67,11 @@ function getPosition(el: HTMLElement): Position { } function connect(parentContainer: HTMLElement, firstPos: Position, secondPos: Position, color: string, thickness: number) { - let firstX = firstPos.left + firstPos.width; - let firstY = firstPos.top + firstPos.height; + let firstX = firstPos.left; + let firstY = firstPos.top + firstPos.height / 2; - let secondX = secondPos.left + secondPos .width; - let secondY = secondPos.top; + let secondX = secondPos.left + secondPos.width; + let secondY = secondPos.top + secondPos.height / 2; let length = Math.sqrt(((secondX - firstX) * (secondX - firstX)) + ((secondY - firstY) * (secondY - firstY))); From c1a11c67c6989b8ab1047af3ea5aa8b56c1b6107 Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Sun, 9 Nov 2025 21:19:19 +0300 Subject: [PATCH 169/189] Fix connection line coordinates in top-to-bottom rendering mode --- .../Flamegraph/FlamegraphGraphRenderer.razor | 3 +- .../Npm/src/ocel/ocel_sankey_divs.ts | 28 +++++++++++++------ 2 files changed, 22 insertions(+), 9 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor index 7d3280815..5c969e1dd 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Components/CaseInfo/ContextValues/Canvas/Graph/Flamegraph/FlamegraphGraphRenderer.razor @@ -52,7 +52,8 @@ else "createOcelSankeyConnections", myContainerId.ToString(), myRenderingContext.ObjectIdStart, - relations + relations, + !Settings.UseLROrientation ); } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts index 2ad8e8433..6ae11874b 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts @@ -16,7 +16,12 @@ interface Position { height: number } -function createOcelSankeyConnections(parentContainerId: string, baseIdPart: string, relations: ObjectsRelation[]) { +function createOcelSankeyConnections( + parentContainerId: string, + baseIdPart: string, + relations: ObjectsRelation[], + topToBottom: boolean, +) { let getInitialClass = (isInitialState: boolean) => isInitialState ? "initial" : "final"; let createId = (nodeId: number, objectId: string, isInitialState: boolean) => { const Delimiter = "-"; @@ -52,7 +57,7 @@ function createOcelSankeyConnections(parentContainerId: string, baseIdPart: stri let secondPos = getElementPosition(relation.fromNodeId, relatedId, false); if (secondPos == null) continue; - connect(parentContainer, firstPos, secondPos, "red", 5); + connect(parentContainer, firstPos, secondPos, "red", 5, topToBottom); } } } @@ -66,12 +71,19 @@ function getPosition(el: HTMLElement): Position { }; } -function connect(parentContainer: HTMLElement, firstPos: Position, secondPos: Position, color: string, thickness: number) { - let firstX = firstPos.left; - let firstY = firstPos.top + firstPos.height / 2; - - let secondX = secondPos.left + secondPos.width; - let secondY = secondPos.top + secondPos.height / 2; +function connect( + parentContainer: HTMLElement, + firstPos: Position, + secondPos: Position, + color: string, + thickness: number, + topToBottom: boolean +) { + let firstX = firstPos.left + (topToBottom ? firstPos.width / 2 : 0); + let firstY = firstPos.top + (topToBottom ? 0 : firstPos.height / 2); + + let secondX = secondPos.left + (topToBottom ? secondPos.width / 2 : secondPos.width); + let secondY = secondPos.top + (topToBottom ? secondPos.height : secondPos.height / 2); let length = Math.sqrt(((secondX - firstX) * (secondX - firstX)) + ((secondY - firstY) * (secondY - firstY))); From 2269b5db65c80badf6791fd18521c8d55412784e Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Thu, 13 Nov 2025 23:46:07 +0300 Subject: [PATCH 170/189] Update all projects to net10.0 --- .../FicusDashboard/FicusDashboard.csproj | 2 +- .../FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts | 2 +- .../Npm/src/protos/ficus/GrpcOcelObjectsRelation.ts | 13 +++++++++++++ .../ficus/GrpcOcelSingleElementObjectsRelation.ts | 13 +++++++++++++ .../FicusDashboardBackend.csproj | 2 +- .../FicusKafkaConstants/FicusKafkaConstants.csproj | 2 +- .../FicusKafkaIntegration.csproj | 2 +- .../FicusFrontend/GrpcModels/GrpcModels.csproj | 2 +- .../IntegrationTests/IntegrationTests.csproj | 2 +- Procfiler/src/dotnet/Core/Core.csproj | 2 +- .../dotnet/IntegrationTests/IntegrationTests.fsproj | 2 +- .../OnlineProcfilerTests.csproj | 2 +- Procfiler/src/dotnet/Procfiler/Procfiler.csproj | 2 +- .../ProcfilerBuildTasks/ProcfilerBuildTasks.csproj | 2 +- .../ProcfilerLoggerProvider.csproj | 2 +- .../ProcfilerOnline.Aspire.csproj | 2 +- .../dotnet/ProcfilerOnline/ProcfilerOnline.csproj | 2 +- .../src/dotnet/ProcfilerTests/ProcfilerTests.csproj | 2 +- Procfiler/src/dotnet/TestsUtil/TestsUtil.csproj | 2 +- bxes/src/csharp/Bxes.Console/Bxes.Console.csproj | 2 +- .../Bxes.IntegrationTests.csproj | 2 +- bxes/src/csharp/Bxes.Kafka/Bxes.Kafka.csproj | 2 +- bxes/src/csharp/Bxes.Research/Bxes.Research.fsproj | 2 +- .../csharp/Bxes.Tests.Core/Bxes.Tests.Core.csproj | 2 +- bxes/src/csharp/Bxes.Tests/Bxes.Tests.csproj | 2 +- bxes/src/csharp/Bxes/Bxes.csproj | 2 +- 26 files changed, 50 insertions(+), 24 deletions(-) create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelObjectsRelation.ts create mode 100644 Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelSingleElementObjectsRelation.ts diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/FicusDashboard.csproj b/Ficus/src/front/FicusFrontend/FicusDashboard/FicusDashboard.csproj index 4f92f3c09..4403f74e1 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/FicusDashboard.csproj +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/FicusDashboard.csproj @@ -1,7 +1,7 @@ - net9.0 + net10.0 enable enable Linux diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts index 6ae11874b..383bfe950 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/ocel/ocel_sankey_divs.ts @@ -57,7 +57,7 @@ function createOcelSankeyConnections( let secondPos = getElementPosition(relation.fromNodeId, relatedId, false); if (secondPos == null) continue; - connect(parentContainer, firstPos, secondPos, "red", 5, topToBottom); + connect(parentContainer, firstPos, secondPos, "#918e8e", 1, topToBottom); } } } diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelObjectsRelation.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelObjectsRelation.ts new file mode 100644 index 000000000..5e3d14635 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelObjectsRelation.ts @@ -0,0 +1,13 @@ +// Original file: ../../../../../protos/pipelines_and_context.proto + +import type { Long } from '@grpc/proto-loader'; + +export interface GrpcOcelObjectsRelation_DONTUSE { + 'fromElementId'?: (number | string | Long); + 'objectId'?: (string); +} + +export interface GrpcOcelObjectsRelation { + 'fromElementId': (number); + 'objectId': (string); +} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelSingleElementObjectsRelation.ts b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelSingleElementObjectsRelation.ts new file mode 100644 index 000000000..1bcd70cd3 --- /dev/null +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Npm/src/protos/ficus/GrpcOcelSingleElementObjectsRelation.ts @@ -0,0 +1,13 @@ +// Original file: ../../../../../protos/pipelines_and_context.proto + +import type { Long } from '@grpc/proto-loader'; + +export interface GrpcOcelSingleElementObjectsRelation_DONTUSE { + 'elementId'?: (number | string | Long); + 'ids'?: (string)[]; +} + +export interface GrpcOcelSingleElementObjectsRelation { + 'elementId': (number); + 'ids': (string)[]; +} diff --git a/Ficus/src/front/FicusFrontend/FicusDashboardBackend/FicusDashboardBackend.csproj b/Ficus/src/front/FicusFrontend/FicusDashboardBackend/FicusDashboardBackend.csproj index 8546418e5..c45ce1760 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboardBackend/FicusDashboardBackend.csproj +++ b/Ficus/src/front/FicusFrontend/FicusDashboardBackend/FicusDashboardBackend.csproj @@ -1,7 +1,7 @@ - net9.0 + net10.0 enable enable Linux diff --git a/Ficus/src/front/FicusFrontend/FicusKafkaConstants/FicusKafkaConstants.csproj b/Ficus/src/front/FicusFrontend/FicusKafkaConstants/FicusKafkaConstants.csproj index 66ff8f14f..00b9359e9 100644 --- a/Ficus/src/front/FicusFrontend/FicusKafkaConstants/FicusKafkaConstants.csproj +++ b/Ficus/src/front/FicusFrontend/FicusKafkaConstants/FicusKafkaConstants.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 diff --git a/Ficus/src/front/FicusFrontend/FicusKafkaIntegration/FicusKafkaIntegration.csproj b/Ficus/src/front/FicusFrontend/FicusKafkaIntegration/FicusKafkaIntegration.csproj index 5a08215c1..65f9a277a 100644 --- a/Ficus/src/front/FicusFrontend/FicusKafkaIntegration/FicusKafkaIntegration.csproj +++ b/Ficus/src/front/FicusFrontend/FicusKafkaIntegration/FicusKafkaIntegration.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 enable enable diff --git a/Ficus/src/front/FicusFrontend/GrpcModels/GrpcModels.csproj b/Ficus/src/front/FicusFrontend/GrpcModels/GrpcModels.csproj index 0ac200607..80c5948e3 100644 --- a/Ficus/src/front/FicusFrontend/GrpcModels/GrpcModels.csproj +++ b/Ficus/src/front/FicusFrontend/GrpcModels/GrpcModels.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 enable enable diff --git a/Ficus/test/IntegrationTests/IntegrationTests/IntegrationTests.csproj b/Ficus/test/IntegrationTests/IntegrationTests/IntegrationTests.csproj index f3b8a1a9d..1c7089c3f 100644 --- a/Ficus/test/IntegrationTests/IntegrationTests/IntegrationTests.csproj +++ b/Ficus/test/IntegrationTests/IntegrationTests/IntegrationTests.csproj @@ -1,7 +1,7 @@ - net9.0 + net10.0 enable enable diff --git a/Procfiler/src/dotnet/Core/Core.csproj b/Procfiler/src/dotnet/Core/Core.csproj index a04486bce..9a663eccf 100644 --- a/Procfiler/src/dotnet/Core/Core.csproj +++ b/Procfiler/src/dotnet/Core/Core.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 enable enable diff --git a/Procfiler/src/dotnet/IntegrationTests/IntegrationTests.fsproj b/Procfiler/src/dotnet/IntegrationTests/IntegrationTests.fsproj index a9753f7f9..94e37c027 100644 --- a/Procfiler/src/dotnet/IntegrationTests/IntegrationTests.fsproj +++ b/Procfiler/src/dotnet/IntegrationTests/IntegrationTests.fsproj @@ -1,7 +1,7 @@ - net9.0 + net10.0 false false diff --git a/Procfiler/src/dotnet/OnlineProcfilerTests/OnlineProcfilerTests.csproj b/Procfiler/src/dotnet/OnlineProcfilerTests/OnlineProcfilerTests.csproj index f1aebb34d..79d452ed3 100644 --- a/Procfiler/src/dotnet/OnlineProcfilerTests/OnlineProcfilerTests.csproj +++ b/Procfiler/src/dotnet/OnlineProcfilerTests/OnlineProcfilerTests.csproj @@ -1,7 +1,7 @@ - net9.0 + net10.0 enable enable diff --git a/Procfiler/src/dotnet/Procfiler/Procfiler.csproj b/Procfiler/src/dotnet/Procfiler/Procfiler.csproj index 82c937bd2..4e4727756 100644 --- a/Procfiler/src/dotnet/Procfiler/Procfiler.csproj +++ b/Procfiler/src/dotnet/Procfiler/Procfiler.csproj @@ -4,7 +4,7 @@ Exe - net9.0 + net10.0 enable enable preview diff --git a/Procfiler/src/dotnet/ProcfilerBuildTasks/ProcfilerBuildTasks.csproj b/Procfiler/src/dotnet/ProcfilerBuildTasks/ProcfilerBuildTasks.csproj index ead353db9..a9a3f1751 100644 --- a/Procfiler/src/dotnet/ProcfilerBuildTasks/ProcfilerBuildTasks.csproj +++ b/Procfiler/src/dotnet/ProcfilerBuildTasks/ProcfilerBuildTasks.csproj @@ -1,7 +1,7 @@ - net9.0 + net10.0 enable enable latest diff --git a/Procfiler/src/dotnet/ProcfilerLoggerProvider/ProcfilerLoggerProvider.csproj b/Procfiler/src/dotnet/ProcfilerLoggerProvider/ProcfilerLoggerProvider.csproj index 04b59eb87..923f80e48 100644 --- a/Procfiler/src/dotnet/ProcfilerLoggerProvider/ProcfilerLoggerProvider.csproj +++ b/Procfiler/src/dotnet/ProcfilerLoggerProvider/ProcfilerLoggerProvider.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 enable enable diff --git a/Procfiler/src/dotnet/ProcfilerOnline.Aspire/ProcfilerOnline.Aspire.csproj b/Procfiler/src/dotnet/ProcfilerOnline.Aspire/ProcfilerOnline.Aspire.csproj index 2d0ee44ce..ce48e5749 100644 --- a/Procfiler/src/dotnet/ProcfilerOnline.Aspire/ProcfilerOnline.Aspire.csproj +++ b/Procfiler/src/dotnet/ProcfilerOnline.Aspire/ProcfilerOnline.Aspire.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 enable enable diff --git a/Procfiler/src/dotnet/ProcfilerOnline/ProcfilerOnline.csproj b/Procfiler/src/dotnet/ProcfilerOnline/ProcfilerOnline.csproj index 0d8daf569..83d59518d 100644 --- a/Procfiler/src/dotnet/ProcfilerOnline/ProcfilerOnline.csproj +++ b/Procfiler/src/dotnet/ProcfilerOnline/ProcfilerOnline.csproj @@ -3,7 +3,7 @@ AssemblyFile="$(SolutionDir)/Procfiler/src/dotnet/ProcfilerBuildTasks/bin/$(Configuration)/$(TargetFramework)/ProcfilerBuildTasks.dll"/> - net9.0 + net10.0 enable enable Exe diff --git a/Procfiler/src/dotnet/ProcfilerTests/ProcfilerTests.csproj b/Procfiler/src/dotnet/ProcfilerTests/ProcfilerTests.csproj index adb3756f9..588011d15 100644 --- a/Procfiler/src/dotnet/ProcfilerTests/ProcfilerTests.csproj +++ b/Procfiler/src/dotnet/ProcfilerTests/ProcfilerTests.csproj @@ -1,7 +1,7 @@ - net9.0 + net10.0 enable enable diff --git a/Procfiler/src/dotnet/TestsUtil/TestsUtil.csproj b/Procfiler/src/dotnet/TestsUtil/TestsUtil.csproj index 94b416438..0d9786c5f 100644 --- a/Procfiler/src/dotnet/TestsUtil/TestsUtil.csproj +++ b/Procfiler/src/dotnet/TestsUtil/TestsUtil.csproj @@ -1,7 +1,7 @@ - net9.0 + net10.0 enable enable diff --git a/bxes/src/csharp/Bxes.Console/Bxes.Console.csproj b/bxes/src/csharp/Bxes.Console/Bxes.Console.csproj index 91a7f914c..b1e247515 100644 --- a/bxes/src/csharp/Bxes.Console/Bxes.Console.csproj +++ b/bxes/src/csharp/Bxes.Console/Bxes.Console.csproj @@ -2,7 +2,7 @@ Exe - net9.0 + net10.0 enable enable preview diff --git a/bxes/src/csharp/Bxes.IntegrationTests/Bxes.IntegrationTests.csproj b/bxes/src/csharp/Bxes.IntegrationTests/Bxes.IntegrationTests.csproj index 94a6792e8..d03c46ce9 100644 --- a/bxes/src/csharp/Bxes.IntegrationTests/Bxes.IntegrationTests.csproj +++ b/bxes/src/csharp/Bxes.IntegrationTests/Bxes.IntegrationTests.csproj @@ -1,7 +1,7 @@ - net9.0 + net10.0 enable enable diff --git a/bxes/src/csharp/Bxes.Kafka/Bxes.Kafka.csproj b/bxes/src/csharp/Bxes.Kafka/Bxes.Kafka.csproj index 108f26af8..d5f8358bd 100644 --- a/bxes/src/csharp/Bxes.Kafka/Bxes.Kafka.csproj +++ b/bxes/src/csharp/Bxes.Kafka/Bxes.Kafka.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 enable enable true diff --git a/bxes/src/csharp/Bxes.Research/Bxes.Research.fsproj b/bxes/src/csharp/Bxes.Research/Bxes.Research.fsproj index f5f0d484a..746a75897 100644 --- a/bxes/src/csharp/Bxes.Research/Bxes.Research.fsproj +++ b/bxes/src/csharp/Bxes.Research/Bxes.Research.fsproj @@ -2,7 +2,7 @@ Exe - net9.0 + net10.0 diff --git a/bxes/src/csharp/Bxes.Tests.Core/Bxes.Tests.Core.csproj b/bxes/src/csharp/Bxes.Tests.Core/Bxes.Tests.Core.csproj index ffe3e4f4d..626382614 100644 --- a/bxes/src/csharp/Bxes.Tests.Core/Bxes.Tests.Core.csproj +++ b/bxes/src/csharp/Bxes.Tests.Core/Bxes.Tests.Core.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 enable enable diff --git a/bxes/src/csharp/Bxes.Tests/Bxes.Tests.csproj b/bxes/src/csharp/Bxes.Tests/Bxes.Tests.csproj index 94a6792e8..d03c46ce9 100644 --- a/bxes/src/csharp/Bxes.Tests/Bxes.Tests.csproj +++ b/bxes/src/csharp/Bxes.Tests/Bxes.Tests.csproj @@ -1,7 +1,7 @@ - net9.0 + net10.0 enable enable diff --git a/bxes/src/csharp/Bxes/Bxes.csproj b/bxes/src/csharp/Bxes/Bxes.csproj index 65dcdf474..218f89a99 100644 --- a/bxes/src/csharp/Bxes/Bxes.csproj +++ b/bxes/src/csharp/Bxes/Bxes.csproj @@ -1,7 +1,7 @@  - net9.0 + net10.0 enable enable preview From 84655153cc334e2120d9c2da0c95e4124e458a9a Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 14 Nov 2025 21:28:15 +0300 Subject: [PATCH 171/189] Promote test data to net10.0 --- Procfiler/src/dotnet/TestsUtil/KnownSolution.cs | 2 +- Procfiler/test_data/source/AsyncAwait/AsyncAwait.csproj | 2 +- .../AsyncAwaitTaskFactoryNew/AsyncAwaitTaskFactoryNew.csproj | 2 +- .../test_data/source/AsyncDisposable/AsyncDisposable.csproj | 2 +- Procfiler/test_data/source/AwaitForeach/AwaitForeach.csproj | 2 +- Procfiler/test_data/source/ConsoleApp1/ConsoleApp1.csproj | 2 +- .../DynamicAssemblyCreation/DynamicAssemblyCreation.csproj | 2 +- .../source/DynamicAssemblyLoading/DynamicAssemblyLoading.csproj | 2 +- .../ExceptionTryCatchFinally/ExceptionTryCatchFinally.csproj | 2 +- .../ExceptionTryCatchFinallyAsync.csproj | 2 +- .../ExceptionTryCatchFinallyWhen.csproj | 2 +- .../source/FileAsyncOperations/FileAsyncOperations.csproj | 2 +- .../test_data/source/FileWriteProject/FileWriteProject.csproj | 2 +- .../test_data/source/FinalizableObject/FinalizableObject.csproj | 2 +- .../source/IntensiveThreadPoolUse/IntensiveThreadPoolUse.csproj | 2 +- Procfiler/test_data/source/LOHAllocations/LOHAllocations.csproj | 2 +- .../NotExistingAssemblyLoading.csproj | 2 +- .../source/NotSimpleAsyncAwait/NotSimpleAsyncAwait.csproj | 2 +- Procfiler/test_data/source/Ocel/Ocel.csproj | 2 +- Procfiler/test_data/source/Ocel2/Ocel2.csproj | 2 +- .../ProcfilerEventPipeLogger/ProcfilerEventPipeLogger.csproj | 2 +- .../test_data/source/SimpleAsyncAwait/SimpleAsyncAwait.csproj | 2 +- .../source/SystemArrayPooling/SystemArrayPooling.csproj | 2 +- .../test_data/source/TaskTestProject1/TaskTestProject1.csproj | 2 +- Procfiler/test_data/source/UnsafeFixed/UnsafeFixed.csproj | 2 +- Procfiler/test_data/source/WFWebApp/WFWebApp.csproj | 2 +- .../test_data/source/YieldEnumerator/YieldEnumerator.csproj | 2 +- 27 files changed, 27 insertions(+), 27 deletions(-) diff --git a/Procfiler/src/dotnet/TestsUtil/KnownSolution.cs b/Procfiler/src/dotnet/TestsUtil/KnownSolution.cs index f80bdca27..c9ffeb510 100644 --- a/Procfiler/src/dotnet/TestsUtil/KnownSolution.cs +++ b/Procfiler/src/dotnet/TestsUtil/KnownSolution.cs @@ -2,7 +2,7 @@ public class KnownSolution { - private const string TargetFramework = "net9.0"; + private const string TargetFramework = "net10.0"; public static KnownSolution ConsoleApp1 { get; } = new("ConsoleApp1"); public static KnownSolution TaskTestProject1 { get; } = new("TaskTestProject1"); diff --git a/Procfiler/test_data/source/AsyncAwait/AsyncAwait.csproj b/Procfiler/test_data/source/AsyncAwait/AsyncAwait.csproj index e5fdf82ed..17ca97ba9 100644 --- a/Procfiler/test_data/source/AsyncAwait/AsyncAwait.csproj +++ b/Procfiler/test_data/source/AsyncAwait/AsyncAwait.csproj @@ -2,7 +2,7 @@ Exe - net9.0 + net10.0 enable enable latest diff --git a/Procfiler/test_data/source/AsyncAwaitTaskFactoryNew/AsyncAwaitTaskFactoryNew.csproj b/Procfiler/test_data/source/AsyncAwaitTaskFactoryNew/AsyncAwaitTaskFactoryNew.csproj index e5fdf82ed..17ca97ba9 100644 --- a/Procfiler/test_data/source/AsyncAwaitTaskFactoryNew/AsyncAwaitTaskFactoryNew.csproj +++ b/Procfiler/test_data/source/AsyncAwaitTaskFactoryNew/AsyncAwaitTaskFactoryNew.csproj @@ -2,7 +2,7 @@ Exe - net9.0 + net10.0 enable enable latest diff --git a/Procfiler/test_data/source/AsyncDisposable/AsyncDisposable.csproj b/Procfiler/test_data/source/AsyncDisposable/AsyncDisposable.csproj index fd4bd08da..ed9781c22 100644 --- a/Procfiler/test_data/source/AsyncDisposable/AsyncDisposable.csproj +++ b/Procfiler/test_data/source/AsyncDisposable/AsyncDisposable.csproj @@ -2,7 +2,7 @@ Exe - net9.0 + net10.0 enable enable diff --git a/Procfiler/test_data/source/AwaitForeach/AwaitForeach.csproj b/Procfiler/test_data/source/AwaitForeach/AwaitForeach.csproj index fd4bd08da..ed9781c22 100644 --- a/Procfiler/test_data/source/AwaitForeach/AwaitForeach.csproj +++ b/Procfiler/test_data/source/AwaitForeach/AwaitForeach.csproj @@ -2,7 +2,7 @@ Exe - net9.0 + net10.0 enable enable diff --git a/Procfiler/test_data/source/ConsoleApp1/ConsoleApp1.csproj b/Procfiler/test_data/source/ConsoleApp1/ConsoleApp1.csproj index 4fce5f363..8725a0565 100644 --- a/Procfiler/test_data/source/ConsoleApp1/ConsoleApp1.csproj +++ b/Procfiler/test_data/source/ConsoleApp1/ConsoleApp1.csproj @@ -2,7 +2,7 @@ Exe - net9.0;net8.0;net7.0;net6.0 + net10.0;net9.0;net8.0;net7.0;net6.0 enable enable 10 diff --git a/Procfiler/test_data/source/DynamicAssemblyCreation/DynamicAssemblyCreation.csproj b/Procfiler/test_data/source/DynamicAssemblyCreation/DynamicAssemblyCreation.csproj index 005acee64..d3a9f0650 100644 --- a/Procfiler/test_data/source/DynamicAssemblyCreation/DynamicAssemblyCreation.csproj +++ b/Procfiler/test_data/source/DynamicAssemblyCreation/DynamicAssemblyCreation.csproj @@ -2,7 +2,7 @@ Exe - net9.0;net8.0;net7.0;net6.0 + net10.0;net9.0;net8.0;net7.0;net6.0 enable enable diff --git a/Procfiler/test_data/source/DynamicAssemblyLoading/DynamicAssemblyLoading.csproj b/Procfiler/test_data/source/DynamicAssemblyLoading/DynamicAssemblyLoading.csproj index 2cc8717c4..f7ce3ebdc 100644 --- a/Procfiler/test_data/source/DynamicAssemblyLoading/DynamicAssemblyLoading.csproj +++ b/Procfiler/test_data/source/DynamicAssemblyLoading/DynamicAssemblyLoading.csproj @@ -2,7 +2,7 @@ Exe - net9.0;net8.0;net7.0;net6.0 + net10.0;net9.0;net8.0;net7.0;net6.0 enable enable diff --git a/Procfiler/test_data/source/ExceptionTryCatchFinally/ExceptionTryCatchFinally.csproj b/Procfiler/test_data/source/ExceptionTryCatchFinally/ExceptionTryCatchFinally.csproj index 005acee64..d3a9f0650 100644 --- a/Procfiler/test_data/source/ExceptionTryCatchFinally/ExceptionTryCatchFinally.csproj +++ b/Procfiler/test_data/source/ExceptionTryCatchFinally/ExceptionTryCatchFinally.csproj @@ -2,7 +2,7 @@ Exe - net9.0;net8.0;net7.0;net6.0 + net10.0;net9.0;net8.0;net7.0;net6.0 enable enable diff --git a/Procfiler/test_data/source/ExceptionTryCatchFinallyAsync/ExceptionTryCatchFinallyAsync.csproj b/Procfiler/test_data/source/ExceptionTryCatchFinallyAsync/ExceptionTryCatchFinallyAsync.csproj index 005acee64..d3a9f0650 100644 --- a/Procfiler/test_data/source/ExceptionTryCatchFinallyAsync/ExceptionTryCatchFinallyAsync.csproj +++ b/Procfiler/test_data/source/ExceptionTryCatchFinallyAsync/ExceptionTryCatchFinallyAsync.csproj @@ -2,7 +2,7 @@ Exe - net9.0;net8.0;net7.0;net6.0 + net10.0;net9.0;net8.0;net7.0;net6.0 enable enable diff --git a/Procfiler/test_data/source/ExceptionTryCatchFinallyWhen/ExceptionTryCatchFinallyWhen.csproj b/Procfiler/test_data/source/ExceptionTryCatchFinallyWhen/ExceptionTryCatchFinallyWhen.csproj index 005acee64..d3a9f0650 100644 --- a/Procfiler/test_data/source/ExceptionTryCatchFinallyWhen/ExceptionTryCatchFinallyWhen.csproj +++ b/Procfiler/test_data/source/ExceptionTryCatchFinallyWhen/ExceptionTryCatchFinallyWhen.csproj @@ -2,7 +2,7 @@ Exe - net9.0;net8.0;net7.0;net6.0 + net10.0;net9.0;net8.0;net7.0;net6.0 enable enable diff --git a/Procfiler/test_data/source/FileAsyncOperations/FileAsyncOperations.csproj b/Procfiler/test_data/source/FileAsyncOperations/FileAsyncOperations.csproj index 005acee64..d3a9f0650 100644 --- a/Procfiler/test_data/source/FileAsyncOperations/FileAsyncOperations.csproj +++ b/Procfiler/test_data/source/FileAsyncOperations/FileAsyncOperations.csproj @@ -2,7 +2,7 @@ Exe - net9.0;net8.0;net7.0;net6.0 + net10.0;net9.0;net8.0;net7.0;net6.0 enable enable diff --git a/Procfiler/test_data/source/FileWriteProject/FileWriteProject.csproj b/Procfiler/test_data/source/FileWriteProject/FileWriteProject.csproj index 005acee64..d3a9f0650 100644 --- a/Procfiler/test_data/source/FileWriteProject/FileWriteProject.csproj +++ b/Procfiler/test_data/source/FileWriteProject/FileWriteProject.csproj @@ -2,7 +2,7 @@ Exe - net9.0;net8.0;net7.0;net6.0 + net10.0;net9.0;net8.0;net7.0;net6.0 enable enable diff --git a/Procfiler/test_data/source/FinalizableObject/FinalizableObject.csproj b/Procfiler/test_data/source/FinalizableObject/FinalizableObject.csproj index 005acee64..d3a9f0650 100644 --- a/Procfiler/test_data/source/FinalizableObject/FinalizableObject.csproj +++ b/Procfiler/test_data/source/FinalizableObject/FinalizableObject.csproj @@ -2,7 +2,7 @@ Exe - net9.0;net8.0;net7.0;net6.0 + net10.0;net9.0;net8.0;net7.0;net6.0 enable enable diff --git a/Procfiler/test_data/source/IntensiveThreadPoolUse/IntensiveThreadPoolUse.csproj b/Procfiler/test_data/source/IntensiveThreadPoolUse/IntensiveThreadPoolUse.csproj index 005acee64..d3a9f0650 100644 --- a/Procfiler/test_data/source/IntensiveThreadPoolUse/IntensiveThreadPoolUse.csproj +++ b/Procfiler/test_data/source/IntensiveThreadPoolUse/IntensiveThreadPoolUse.csproj @@ -2,7 +2,7 @@ Exe - net9.0;net8.0;net7.0;net6.0 + net10.0;net9.0;net8.0;net7.0;net6.0 enable enable diff --git a/Procfiler/test_data/source/LOHAllocations/LOHAllocations.csproj b/Procfiler/test_data/source/LOHAllocations/LOHAllocations.csproj index e2be72332..a6dd354db 100644 --- a/Procfiler/test_data/source/LOHAllocations/LOHAllocations.csproj +++ b/Procfiler/test_data/source/LOHAllocations/LOHAllocations.csproj @@ -6,7 +6,7 @@ enable true true - net9.0;net8.0;net7.0;net6.0 + net10.0;net9.0;net8.0;net7.0;net6.0 diff --git a/Procfiler/test_data/source/NotExistingAssemblyLoading/NotExistingAssemblyLoading.csproj b/Procfiler/test_data/source/NotExistingAssemblyLoading/NotExistingAssemblyLoading.csproj index 005acee64..d3a9f0650 100644 --- a/Procfiler/test_data/source/NotExistingAssemblyLoading/NotExistingAssemblyLoading.csproj +++ b/Procfiler/test_data/source/NotExistingAssemblyLoading/NotExistingAssemblyLoading.csproj @@ -2,7 +2,7 @@ Exe - net9.0;net8.0;net7.0;net6.0 + net10.0;net9.0;net8.0;net7.0;net6.0 enable enable diff --git a/Procfiler/test_data/source/NotSimpleAsyncAwait/NotSimpleAsyncAwait.csproj b/Procfiler/test_data/source/NotSimpleAsyncAwait/NotSimpleAsyncAwait.csproj index 005acee64..d3a9f0650 100644 --- a/Procfiler/test_data/source/NotSimpleAsyncAwait/NotSimpleAsyncAwait.csproj +++ b/Procfiler/test_data/source/NotSimpleAsyncAwait/NotSimpleAsyncAwait.csproj @@ -2,7 +2,7 @@ Exe - net9.0;net8.0;net7.0;net6.0 + net10.0;net9.0;net8.0;net7.0;net6.0 enable enable diff --git a/Procfiler/test_data/source/Ocel/Ocel.csproj b/Procfiler/test_data/source/Ocel/Ocel.csproj index 865f2e77b..685333a63 100644 --- a/Procfiler/test_data/source/Ocel/Ocel.csproj +++ b/Procfiler/test_data/source/Ocel/Ocel.csproj @@ -2,7 +2,7 @@ Exe - net9.0 + net10.0;et9.0 enable enable diff --git a/Procfiler/test_data/source/Ocel2/Ocel2.csproj b/Procfiler/test_data/source/Ocel2/Ocel2.csproj index 865f2e77b..364793afb 100644 --- a/Procfiler/test_data/source/Ocel2/Ocel2.csproj +++ b/Procfiler/test_data/source/Ocel2/Ocel2.csproj @@ -2,7 +2,7 @@ Exe - net9.0 + net10.0;net9.0 enable enable diff --git a/Procfiler/test_data/source/ProcfilerEventPipeLogger/ProcfilerEventPipeLogger.csproj b/Procfiler/test_data/source/ProcfilerEventPipeLogger/ProcfilerEventPipeLogger.csproj index 865f2e77b..364793afb 100644 --- a/Procfiler/test_data/source/ProcfilerEventPipeLogger/ProcfilerEventPipeLogger.csproj +++ b/Procfiler/test_data/source/ProcfilerEventPipeLogger/ProcfilerEventPipeLogger.csproj @@ -2,7 +2,7 @@ Exe - net9.0 + net10.0;net9.0 enable enable diff --git a/Procfiler/test_data/source/SimpleAsyncAwait/SimpleAsyncAwait.csproj b/Procfiler/test_data/source/SimpleAsyncAwait/SimpleAsyncAwait.csproj index 005acee64..d3a9f0650 100644 --- a/Procfiler/test_data/source/SimpleAsyncAwait/SimpleAsyncAwait.csproj +++ b/Procfiler/test_data/source/SimpleAsyncAwait/SimpleAsyncAwait.csproj @@ -2,7 +2,7 @@ Exe - net9.0;net8.0;net7.0;net6.0 + net10.0;net9.0;net8.0;net7.0;net6.0 enable enable diff --git a/Procfiler/test_data/source/SystemArrayPooling/SystemArrayPooling.csproj b/Procfiler/test_data/source/SystemArrayPooling/SystemArrayPooling.csproj index 6e5f4698f..00f07833f 100644 --- a/Procfiler/test_data/source/SystemArrayPooling/SystemArrayPooling.csproj +++ b/Procfiler/test_data/source/SystemArrayPooling/SystemArrayPooling.csproj @@ -2,7 +2,7 @@ Exe - net9.0;net8.0;net7.0;net6.0 + net10.0;net9.0;net8.0;net7.0;net6.0 enable enable diff --git a/Procfiler/test_data/source/TaskTestProject1/TaskTestProject1.csproj b/Procfiler/test_data/source/TaskTestProject1/TaskTestProject1.csproj index 005acee64..d3a9f0650 100644 --- a/Procfiler/test_data/source/TaskTestProject1/TaskTestProject1.csproj +++ b/Procfiler/test_data/source/TaskTestProject1/TaskTestProject1.csproj @@ -2,7 +2,7 @@ Exe - net9.0;net8.0;net7.0;net6.0 + net10.0;net9.0;net8.0;net7.0;net6.0 enable enable diff --git a/Procfiler/test_data/source/UnsafeFixed/UnsafeFixed.csproj b/Procfiler/test_data/source/UnsafeFixed/UnsafeFixed.csproj index a5295c168..95f33f01d 100644 --- a/Procfiler/test_data/source/UnsafeFixed/UnsafeFixed.csproj +++ b/Procfiler/test_data/source/UnsafeFixed/UnsafeFixed.csproj @@ -2,7 +2,7 @@ Exe - net9.0;net8.0;net7.0;net6.0 + net10.0;net9.0;net8.0;net7.0;net6.0 enable enable true diff --git a/Procfiler/test_data/source/WFWebApp/WFWebApp.csproj b/Procfiler/test_data/source/WFWebApp/WFWebApp.csproj index f5bf87fab..48b3a4e98 100644 --- a/Procfiler/test_data/source/WFWebApp/WFWebApp.csproj +++ b/Procfiler/test_data/source/WFWebApp/WFWebApp.csproj @@ -1,7 +1,7 @@ - net9.0 + net10.0;net9.0 enable enable latest diff --git a/Procfiler/test_data/source/YieldEnumerator/YieldEnumerator.csproj b/Procfiler/test_data/source/YieldEnumerator/YieldEnumerator.csproj index 005acee64..d3a9f0650 100644 --- a/Procfiler/test_data/source/YieldEnumerator/YieldEnumerator.csproj +++ b/Procfiler/test_data/source/YieldEnumerator/YieldEnumerator.csproj @@ -2,7 +2,7 @@ Exe - net9.0;net8.0;net7.0;net6.0 + net10.0;net9.0;net8.0;net7.0;net6.0 enable enable From 871558fb2e9956a56d9b31b9fd8d15218e78b32e Mon Sep 17 00:00:00 2001 From: aerooneqq Date: Fri, 14 Nov 2025 22:54:44 +0300 Subject: [PATCH 172/189] To extensions --- .../FicusDashboard/Utils/UserData.cs | 27 +- .../Utils/SemaphoreSlimExtensions.cs | 39 +-- .../src/dotnet/Core/CommandLine/Utils.cs | 31 +- .../Core/CppProcfiler/CppProfilerMode.cs | 23 +- .../EventRecord/EventRecordExtensions.cs | 304 +++++++++--------- .../DepsJson/JsonElementExtensions.cs | 25 +- .../dotnet/Core/Utils/DictionaryExtensions.cs | 50 +-- .../Core/Utils/StringAndCharSpanExtensions.cs | 15 +- .../Core/Utils/StringBuilderExtensions.cs | 46 +-- .../Core/Utils/TraceEventSourceExtensions.cs | 15 +- .../ShadowStacks/ICppShadowStack.cs | 59 ++-- .../Core/EventRecord/EventRecordExtensions.cs | 30 +- .../src/Utils/TraceEventsExtensions.cs | 67 ++-- .../Core/TraceEventExtensions.cs | 66 ++-- .../Core/KnownSolutionExtensions.cs | 19 +- .../csharp/Bxes/Models/Domain/EventLogUtil.cs | 33 +- bxes/src/csharp/Bxes/Utils/Leb128.cs | 120 +++---- bxes/src/csharp/Bxes/Utils/ListExtensions.cs | 25 +- 18 files changed, 521 insertions(+), 473 deletions(-) diff --git a/Ficus/src/front/FicusFrontend/FicusDashboard/Utils/UserData.cs b/Ficus/src/front/FicusFrontend/FicusDashboard/Utils/UserData.cs index e15eb2725..f7492899b 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboard/Utils/UserData.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboard/Utils/UserData.cs @@ -40,22 +40,25 @@ public sealed class UserDataHolder : UserDataHolderBase public static class ExtensionsForUserData { - public static T GetOrCreate(this UserDataHolder holder, Key key, Func valueFactory) where T : notnull + extension(UserDataHolder holder) { - if (holder.TryGetData(key, out var existingValue)) + public T GetOrCreate(Key key, Func valueFactory) where T : notnull { - return existingValue; - } + if (holder.TryGetData(key, out var existingValue)) + { + return existingValue; + } - var createdValue = valueFactory(); - holder.PutData(key, createdValue); - return createdValue; - } + var createdValue = valueFactory(); + holder.PutData(key, createdValue); + return createdValue; + } - public static T GetOrThrow(this UserDataHolder holder, Key key) - { - if (holder.TryGetData(key, out var value)) return value; + public T GetOrThrow(Key key) + { + if (holder.TryGetData(key, out var value)) return value; - throw new KeyNotFoundException(key.Name); + throw new KeyNotFoundException(key.Name); + } } } \ No newline at end of file diff --git a/Ficus/src/front/FicusFrontend/FicusDashboardBackend/Utils/SemaphoreSlimExtensions.cs b/Ficus/src/front/FicusFrontend/FicusDashboardBackend/Utils/SemaphoreSlimExtensions.cs index 14320e199..5a8980f05 100644 --- a/Ficus/src/front/FicusFrontend/FicusDashboardBackend/Utils/SemaphoreSlimExtensions.cs +++ b/Ficus/src/front/FicusFrontend/FicusDashboardBackend/Utils/SemaphoreSlimExtensions.cs @@ -2,29 +2,32 @@ namespace FicusDashboardBackend.Utils; public static class SemaphoreSlimExtensions { - public static async Task Execute(this SemaphoreSlim semaphoreSlim, Func action) + extension(SemaphoreSlim semaphoreSlim) { - try + public async Task Execute(Func action) { - await semaphoreSlim.WaitAsync(); - await action(); + try + { + await semaphoreSlim.WaitAsync(); + await action(); + } + finally + { + semaphoreSlim.Release(); + } } - finally - { - semaphoreSlim.Release(); - } - } - public static async Task Execute(this SemaphoreSlim semaphoreSlim, Func> action) - { - try - { - await semaphoreSlim.WaitAsync(); - return await action(); - } - finally + public async Task Execute(Func> action) { - semaphoreSlim.Release(); + try + { + await semaphoreSlim.WaitAsync(); + return await action(); + } + finally + { + semaphoreSlim.Release(); + } } } } \ No newline at end of file diff --git a/Procfiler/src/dotnet/Core/CommandLine/Utils.cs b/Procfiler/src/dotnet/Core/CommandLine/Utils.cs index ee0b3e209..609d64a89 100644 --- a/Procfiler/src/dotnet/Core/CommandLine/Utils.cs +++ b/Procfiler/src/dotnet/Core/CommandLine/Utils.cs @@ -8,26 +8,29 @@ namespace Core.CommandLine; public static class ParseResultExtensions { - public static bool HasErrors(this ParseResult parseResult, IProcfilerLogger logger) + extension(ParseResult parseResult) { - var errors = parseResult.Errors; - if (errors.Count <= 0) return false; - - foreach (var error in errors) + public bool HasErrors(IProcfilerLogger logger) { - logger.LogError(error.Message); - } + var errors = parseResult.Errors; + if (errors.Count <= 0) return false; - return true; - } + foreach (var error in errors) + { + logger.LogError(error.Message); + } - public static void AssertAllOptionsArePresent(this ParseResult parseResult, IEnumerable

    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