Model is described by 21168 lines of xml and contains:
    346 Events
        167 DomainEvents
        179 ActorEvents
    49 Views
        View Aggregate contains 10 fields and 3 queries
        View Attribute contains 2 fields and 0 queries
        View DomainEvent contains 6 fields and 2 queries
        View DomainEventVersion contains 3 fields and 0 queries
        View EventAttribute contains 2 fields and 0 queries
        View EventHandler contains 3 fields and 0 queries
        View Behavior contains 12 fields and 2 queries
        View BehaviorTrigger contains 3 fields and 0 queries
        View TriggerMapping contains 2 fields and 0 queries
        View FlowVariable contains 2 fields and 0 queries
        View BehaviorProcessor contains 15 fields and 0 queries
        View EmitEventMapping contains 2 fields and 0 queries
        View DmnInputMapping contains 2 fields and 0 queries
        View DmnOutputMapping contains 2 fields and 0 queries
        View TestCase contains 10 fields and 0 queries
        View TestCaseInput contains 3 fields and 0 queries
        View ExpectedField contains 4 fields and 0 queries
        View Build contains 6 fields and 2 queries
        View Command contains 13 fields and 2 queries
        View Domain contains 7 fields and 2 queries
        View RegisteredEvent contains 9 fields and 2 queries
        View GlobalComponent contains 7 fields and 2 queries
        View KeyValue contains 2 fields and 0 queries
        View Notifier contains 10 fields and 2 queries
        View NotifierTrigger contains 3 fields and 0 queries
        View Activity contains 37 fields and 0 queries
        View ActivityDmnInput contains 2 fields and 0 queries
        View ActivityDmnOutput contains 2 fields and 0 queries
        View GraphEventIndex contains 2 fields and 0 queries
        View GraphNode contains 6 fields and 0 queries
        View GraphData contains 4 fields and 0 queries
        View Project contains 17 fields and 2 queries
        View ProjectConfiguration contains 5 fields and 2 queries
        View MetaData contains 4 fields and 0 queries
        View Pipeline contains 2 fields and 0 queries
        View Deployment contains 7 fields and 0 queries
        View PublicProfile contains 2 fields and 1 queries
        View PrivateProfile contains 8 fields and 1 queries
        View BillingInfo contains 3 fields and 1 queries
        View UserOverview contains 2 fields and 1 queries
        View UserSummary contains 2 fields and 0 queries
        View View contains 10 fields and 2 queries
        View ViewField contains 7 fields and 0 queries
        View ViewSource contains 6 fields and 0 queries
        View ViewMapping contains 5 fields and 0 queries
        View ViewQuery contains 8 fields and 0 queries
        View QueryFilter contains 2 fields and 0 queries
        View WorkSpace contains 7 fields and 1 queries
        View BusinessRole contains 7 fields and 0 queries
    1 Projections:
        Projection Project.getGraph contains 2 inputs and returns GraphData View
    3 Subdomains
        Subdomain Core contains 8 aggregates
            Aggregate Aggregate contains 42 commands, 41 event handlers and 9 fields
            Aggregate Command contains 6 commands, 6 event handlers and 11 fields
            Aggregate Domain contains 6 commands, 6 event handlers and 4 fields
            Aggregate GlobalComponent contains 5 commands, 17 event handlers and 6 fields
            Aggregate Notifier contains 60 commands, 60 event handlers and 8 fields
            Aggregate Project contains 11 commands, 11 event handlers and 10 fields
            Aggregate View contains 16 commands, 16 event handlers and 8 fields
            Aggregate Workspace contains 5 commands, 5 event handlers and 5 fields
        Subdomain Automation contains 1 aggregates
            Aggregate Build contains 2 commands, 2 event handlers and 6 fields
        Subdomain Profile contains 1 aggregates
            Aggregate User contains 1 commands, 2 event handlers and 5 fields
    19 Notifiers
        Notifier CreateBuildPackage contains 1 triggers and 5 activities
        Notifier CleanupDomain contains 1 triggers and 3 activities
        Notifier RestoreDomain contains 1 triggers and 4 activities
        Notifier CleanupProject contains 1 triggers and 5 activities
        Notifier CleanupCommand contains 1 triggers and 7 activities
        Notifier CleanupAggregate contains 1 triggers and 5 activities
        Notifier RefactorDomain contains 1 triggers and 4 activities
        Notifier RefactorProject contains 1 triggers and 4 activities
        Notifier RefactorCommand contains 1 triggers and 8 activities
        Notifier RefactorAggregate contains 1 triggers and 4 activities
        Notifier RefactorMoveAggregate contains 1 triggers and 5 activities
        Notifier RefactorGlobal contains 1 triggers and 5 activities
        Notifier InitializeSystemUser contains 1 triggers and 1 activities
        Notifier FlushCdn contains 1 triggers and 1 activities
        Notifier InitializeWorkspaceGroups contains 1 triggers and 8 activities
        Notifier GrantAccessToBusinessRole contains 1 triggers and 3 activities
        Notifier RevokeAccess contains 1 triggers and 3 activities
        Notifier ChangeRole contains 1 triggers and 4 activities
        Notifier SendInvite contains 1 triggers and 6 activities
    GUI:
        116 Widgets
        47 Screens
    Global Components:
        2 Expressions
            extractRoleFromDrn ActorEventRole
            extractProjectFromDrn TriggerKeyField
        53 Patterns (regex)
            PascalCase ^([A-Z]{1}[a-z]+)+$
            Uuid ^[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$
            CamelCase ^[a-z]+([A-Z]{1}[a-z]+)*$
            LowerCase ^[a-z]+$
            NotEmptyString [a-zA-Z]
            DeleteMode ^(soft|hard)$
            UserHash ^D[0-9]+$
            WorkspaceDrn ^D[0-9]+:[a-z]+$
            BusinessRole ^(administrator|manager|developer)$
            ProjectName ^([A-Z]{1}[a-z]+)+$
            ProjectDrn ^D[0-9]+:[a-z]+:([A-Z]{1}[a-z]+)+
            BuildDrn ^D[0-9]+:[a-z]+:([A-Z]{1}[a-z]+)+:build:.*
            SubDomainName ^([A-Z]{1}[a-z]+)+$
            DomainDrn ^D[0-9]+:[a-z]+:([A-Z]{1}[a-z]+)+:domain:([A-Z]{1}[a-z]+)+$
            AggregateName ^([A-Z]{1}[a-z]+)+$
            AggregateDrn ^D[0-9]+:[a-z]+:([A-Z]{1}[a-z]+)+:domain:([A-Z]{1}[a-z]+)+:([A-Z]{1}[a-z]+)+$
            AggregateFieldType ^(String|Int|Float|Boolean|StringList|FloatList|IntList|Map|ObjectList)$
            AggregateFieldName [a-z]+([A-Z]{1}[a-z]+)*
            FlowName ([A-Z]{1}[a-z]+)+
            FlowVariable [a-z]+([A-Z]{1}[a-z]+)*
            FlowVariableType ^(String|Number|Boolean)$
            ScriptMethod ^[A-z_]+$
            EventName ^([A-Z]{1}[a-z]+)+$
            DomainEventName ^([A-Z]{1}[a-z]+)+$
            EventFieldName ^[a-z]+([A-Z]{1}[a-z]+)*$
            EventFieldType ^(String|Int|Float|Boolean|NestedString|NestedInt|NestedFloat|NestedBoolean)$
            EventHandlerOperand ^(set|append|remove|add|subtract|put|patch|python-expression)$
            TestInputType ^(String|Number|Boolean|NestedObject)$
            TestExpectedType ^(String|Number|Boolean)$
            GlobalName ^([A-Z]{1}[a-z]+)+$
            GlobalDrn ^D[0-9]+:[a-z]+:([A-Z]{1}[a-z]+)+:global:(actorexpression|triggerexpression|dmn|code|template|dependency|pattern):([A-Z]{1}[a-z]+)+(\.[a-z]{2,5})?$
            DelimitidString ^[0-z]+(;[0-z]+)*$
            NotifierName ^([A-Z]{1}[a-z]+)+$
            NotifierDrn ^D[0-9]+:[a-z]+:([A-Z]{1}[a-z]+)+:notifier:([A-Z]{1}[a-z]+)+$
            HttpMethod ^(GET|POST|PATCH|HEAD|OPTIONS|DELETE|PUT)$
            DraftsmanDictionary ^    \{.*\:?.*\}$
            ViewName ^([A-Z]{1}[a-z]+)+$
            ViewDrn ^D[0-9]+:[a-z]+:([A-Z]{1}[a-z]+)+:view:([A-Z]{1}[a-z]+)+$
            SourceEventName ^(SNAPSHOT|([A-Z]{1}[a-z]+)+)$
            ProcessingStrategy ^(item|dictionary)$
            ViewMappingOperand ^(set|append|remove|add|subtract|put|items|convert_items|python-expression|apply-patch)$
            ViewFieldTypes ^(String|Int|Float|Boolean|StringList|FloatList|IntList)$
            ViewFieldName [a-z]+([A-Z]{1}[a-z]+)*
            QueryParam [a-z]+([A-Z]{1}[a-z]+)*
            ActorAuthorization ^(authenticated|role|user)$
            RelationAuthorization ^(authenticated|role)$
            QueryOperand ^(equals|not_equals|less_than|greater_than|less_than_equals|greater_than_equals)$
            CommandName ([A-Z]{1}[a-z]+)+
            CommandDrn ^D[0-9]+:[a-z]+:([A-Z]{1}[a-z]+)+:command:([A-Z]{1}[a-z]+)+$
            GraphqlNamespace ^([A-Z]{1}[a-z]+)+(\.([A-Z]{1}[a-z]+)+)*$
            GraphqlMethodName ^[a-z]+([A-Z]{1}[a-z]+)*$
            CommandFieldName ^[a-z]+([A-Z]{1}[a-z]+)*(\.[a-z]+([A-Z]{1}[a-z]+)*)*$
            CommandFieldType ^(String|Int|Float|Boolean|NestedString|NestedInt|NestedFloat|NestedBoolean)$
        1 GUI Components
            analytics custom_gui_component/analytics.html
    4 TestScenarios:
        Scenario [01 Tutorial Model] contains 60 activities
        Scenario [02 Rename Resources] extends [01 Tutorial Model] with 3 activities
        Scenario [03 Build Project] extends [01 Tutorial Model] with 9 activities
        Scenario [04 Delete Project] extends [01 Tutorial Model] with 1 activities
Created and executed 216 tests.
All tests successful: True

Lines of code: 111837 (.py=18866, .yml=22460, .html=46564 and unittests=23947)
zwj+h