{
  "project": {
    "id": "f4a6979b-4601-441b-9bb8-80d5980b3f7c",
    "type": "Project",
    "schemaVersion": 4,
    "name": "Library_App",
    "description": "Modern workspace project for UML, GUI and quantum modeling.",
    "owner": "BESSER User",
    "createdAt": "2026-10-02T09:20:58.085Z",
    "currentDiagramType": "GUINoCodeDiagram",
    "currentDiagramIndices": {
      "ClassDiagram": 0,
      "ObjectDiagram": 0,
      "StateMachineDiagram": 0,
      "AgentDiagram": 0,
      "UserDiagram": 0,
      "GUINoCodeDiagram": 0,
      "QuantumCircuitDiagram": 0,
      "NNDiagram": 0,
      "BPMN": 0
    },
    "diagrams": {
      "ClassDiagram": [
        {
          "id": "b25ae7f3-932f-40a7-bdba-4d344ebaee30",
          "title": "Library",
          "model": {
            "version": "3.0.0",
            "type": "ClassDiagram",
            "size": {
              "width": 1110,
              "height": 550
            },
            "interactive": {
              "elements": {},
              "relationships": {}
            },
            "elements": {
              "class_oho5ergc3_mjikkmod": {
                "id": "class_oho5ergc3_mjikkmod",
                "name": "Book",
                "type": "Class",
                "owner": null,
                "bounds": {
                  "x": -265,
                  "y": -255,
                  "width": 240,
                  "height": 215
                },
                "attributes": [
                  "attr_a87fqdtdi_mjikkmod",
                  "attr_v6ve12d44_mjikkmod",
                  "attr_edi3c3l8k_mjikkmod",
                  "attr_mczftcqfb_mjikkmod",
                  "attr_785suq5yn_mjikkmod",
                  "attr_urp7jb0c0_mjikkmod"
                ],
                "methods": [
                  "method_rb01uirsh_mjikkmod"
                ]
              },
              "attr_a87fqdtdi_mjikkmod": {
                "id": "attr_a87fqdtdi_mjikkmod",
                "name": "title",
                "type": "ClassAttribute",
                "owner": "class_oho5ergc3_mjikkmod",
                "bounds": {
                  "x": -264.5,
                  "y": -214.5,
                  "width": 239,
                  "height": 25
                },
                "code": "",
                "visibility": "public",
                "attributeType": "str",
                "implementationType": "none",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "attr_v6ve12d44_mjikkmod": {
                "id": "attr_v6ve12d44_mjikkmod",
                "name": "pages",
                "type": "ClassAttribute",
                "owner": "class_oho5ergc3_mjikkmod",
                "bounds": {
                  "x": -264.5,
                  "y": -189.5,
                  "width": 239,
                  "height": 25
                },
                "code": "",
                "visibility": "public",
                "attributeType": "int",
                "implementationType": "none",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "attr_edi3c3l8k_mjikkmod": {
                "id": "attr_edi3c3l8k_mjikkmod",
                "name": "stock",
                "type": "ClassAttribute",
                "owner": "class_oho5ergc3_mjikkmod",
                "bounds": {
                  "x": -264.5,
                  "y": -164.5,
                  "width": 239,
                  "height": 25
                },
                "code": "",
                "visibility": "public",
                "attributeType": "int",
                "implementationType": "none",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "attr_mczftcqfb_mjikkmod": {
                "id": "attr_mczftcqfb_mjikkmod",
                "name": "price",
                "type": "ClassAttribute",
                "owner": "class_oho5ergc3_mjikkmod",
                "bounds": {
                  "x": -264.5,
                  "y": -139.5,
                  "width": 239,
                  "height": 25
                },
                "code": "",
                "visibility": "public",
                "attributeType": "float",
                "implementationType": "none",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "attr_785suq5yn_mjikkmod": {
                "id": "attr_785suq5yn_mjikkmod",
                "name": "release",
                "type": "ClassAttribute",
                "owner": "class_oho5ergc3_mjikkmod",
                "bounds": {
                  "x": -264.5,
                  "y": -114.5,
                  "width": 239,
                  "height": 25
                },
                "code": "",
                "visibility": "public",
                "attributeType": "date",
                "implementationType": "none",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "attr_urp7jb0c0_mjikkmod": {
                "id": "attr_urp7jb0c0_mjikkmod",
                "name": "genre",
                "type": "ClassAttribute",
                "owner": "class_oho5ergc3_mjikkmod",
                "bounds": {
                  "x": -264.5,
                  "y": -89.5,
                  "width": 239,
                  "height": 25
                },
                "code": "",
                "visibility": "public",
                "attributeType": "Genre",
                "implementationType": "none",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "method_rb01uirsh_mjikkmod": {
                "id": "method_rb01uirsh_mjikkmod",
                "name": "+ decrease_stock(qty: int)",
                "type": "ClassMethod",
                "owner": "class_oho5ergc3_mjikkmod",
                "bounds": {
                  "x": -264.5,
                  "y": -64.5,
                  "width": 239,
                  "height": 25
                },
                "code": "def decrease_stock(self, qty: int):\n    \"\"\"\n    Decrease the available stock by the given quantity.\n\n    :param qty: Number of items to remove from stock\n    :raises ValueError: If qty is negative or exceeds available stock\n    \"\"\"\n    if qty <= 0:\n        raise ValueError(\"Quantity must be a positive integer\")\n\n    if qty > self.stock:\n        raise ValueError(\n            f\"Cannot decrease stock by {qty}. Only {self.stock} items available.\"\n        )\n\n    self.stock -= qty\n\n",
                "visibility": "public",
                "attributeType": "int): any",
                "implementationType": "code",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "class_06blhjj3h_mjikkmod": {
                "id": "class_06blhjj3h_mjikkmod",
                "name": "Library",
                "type": "Class",
                "owner": null,
                "bounds": {
                  "x": 115,
                  "y": -25,
                  "width": 350,
                  "height": 185
                },
                "attributes": [
                  "attr_eryfh37kl_mjikkmod",
                  "f9608e0e-745d-4113-85ad-cd06b1900c09",
                  "4391886d-13b5-4fa0-9894-09f1894af27f",
                  "a487fd85-dec0-47b9-bd37-71ff92026963"
                ],
                "methods": [
                  "35ef5329-889b-40f0-89ce-9836936fd8a9"
                ]
              },
              "attr_eryfh37kl_mjikkmod": {
                "id": "attr_eryfh37kl_mjikkmod",
                "name": "name",
                "type": "ClassAttribute",
                "owner": "class_06blhjj3h_mjikkmod",
                "bounds": {
                  "x": 115.5,
                  "y": 15.5,
                  "width": 349,
                  "height": 25
                },
                "code": "",
                "visibility": "public",
                "attributeType": "str",
                "implementationType": "none",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "f9608e0e-745d-4113-85ad-cd06b1900c09": {
                "id": "f9608e0e-745d-4113-85ad-cd06b1900c09",
                "name": "web_page",
                "type": "ClassAttribute",
                "owner": "class_06blhjj3h_mjikkmod",
                "bounds": {
                  "x": 115.5,
                  "y": 40.5,
                  "width": 349,
                  "height": 30
                },
                "code": "",
                "visibility": "public",
                "attributeType": "str",
                "implementationType": "none",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "4391886d-13b5-4fa0-9894-09f1894af27f": {
                "id": "4391886d-13b5-4fa0-9894-09f1894af27f",
                "name": "address",
                "type": "ClassAttribute",
                "owner": "class_06blhjj3h_mjikkmod",
                "bounds": {
                  "x": 115.5,
                  "y": 70.5,
                  "width": 349,
                  "height": 30
                },
                "code": "",
                "visibility": "public",
                "attributeType": "str",
                "implementationType": "none",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "a487fd85-dec0-47b9-bd37-71ff92026963": {
                "id": "a487fd85-dec0-47b9-bd37-71ff92026963",
                "name": "telephone",
                "type": "ClassAttribute",
                "owner": "class_06blhjj3h_mjikkmod",
                "bounds": {
                  "x": 115.5,
                  "y": 100.5,
                  "width": 349,
                  "height": 30
                },
                "code": "",
                "visibility": "public",
                "attributeType": "str",
                "implementationType": "none",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "35ef5329-889b-40f0-89ce-9836936fd8a9": {
                "id": "35ef5329-889b-40f0-89ce-9836936fd8a9",
                "name": "+ cheapest_book_by(author:Author): str",
                "type": "ClassMethod",
                "owner": "class_06blhjj3h_mjikkmod",
                "bounds": {
                  "x": 115.5,
                  "y": 130.5,
                  "width": 349,
                  "height": 30
                },
                "code": "def cheapest_book_by(author:Author) -> str {\n    cheapest:Book = null;\n\tprice = 1000000000.0;\n\tfor(book in this.books){\n        if(book.authors.contains(author)\n\t\t\t&& book.price <= price){\n            cheapest = book;\n\t\t\tprice = book.price;\n\t\t}\n    }\n\treturn cheapest.title;\n}",
                "visibility": "public",
                "attributeType": "str",
                "implementationType": "bal",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "class_d3f0di6lb_mjikkmoe": {
                "id": "class_d3f0di6lb_mjikkmoe",
                "name": "Author",
                "type": "Class",
                "owner": null,
                "bounds": {
                  "x": 185,
                  "y": -255,
                  "width": 220,
                  "height": 95
                },
                "attributes": [
                  "attr_p3zqpt65k_mjikkmoe",
                  "4321afe8-8ec2-48da-a0ec-b2ce9ccaf1db"
                ],
                "methods": []
              },
              "attr_p3zqpt65k_mjikkmoe": {
                "id": "attr_p3zqpt65k_mjikkmoe",
                "name": "name",
                "type": "ClassAttribute",
                "owner": "class_d3f0di6lb_mjikkmoe",
                "bounds": {
                  "x": 185.5,
                  "y": -214.5,
                  "width": 219,
                  "height": 25
                },
                "code": "",
                "visibility": "public",
                "attributeType": "str",
                "implementationType": "none",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "4321afe8-8ec2-48da-a0ec-b2ce9ccaf1db": {
                "id": "4321afe8-8ec2-48da-a0ec-b2ce9ccaf1db",
                "name": "birth",
                "type": "ClassAttribute",
                "owner": "class_d3f0di6lb_mjikkmoe",
                "bounds": {
                  "x": 185.5,
                  "y": -189.5,
                  "width": 219,
                  "height": 30
                },
                "code": "",
                "visibility": "public",
                "attributeType": "date",
                "implementationType": "none",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "50ffa27f-f8a9-438b-b81b-174266f39952": {
                "id": "50ffa27f-f8a9-438b-b81b-174266f39952",
                "name": "Genre",
                "type": "Enumeration",
                "owner": null,
                "bounds": {
                  "x": -535,
                  "y": -95,
                  "width": 160,
                  "height": 350
                },
                "attributes": [
                  "bfadf7ef-e6a4-43e3-b267-672be745c9c7",
                  "15d10eca-11e8-4894-8b27-d815dbc62596",
                  "55346119-1f08-48c5-9629-b5223ea766e0",
                  "67e73142-470c-4795-8864-96f08365ce49",
                  "4ba07b68-1fd2-40fc-ad63-05766965aaad",
                  "52114e47-c8c1-404a-847c-0b877de007e0",
                  "65937dfa-011b-425e-a292-7d66dff5cd36",
                  "994869fb-9b98-450f-add4-a2ee88a15c7f",
                  "45fa6842-da64-4878-b875-c536f06f1d50",
                  "6d81aaec-327a-42b9-89db-a17e54bb7b5a"
                ],
                "methods": []
              },
              "bfadf7ef-e6a4-43e3-b267-672be745c9c7": {
                "id": "bfadf7ef-e6a4-43e3-b267-672be745c9c7",
                "name": "Poetry",
                "type": "ClassAttribute",
                "owner": "50ffa27f-f8a9-438b-b81b-174266f39952",
                "bounds": {
                  "x": -534.5,
                  "y": -44.5,
                  "width": 159,
                  "height": 30
                },
                "code": "",
                "visibility": "public",
                "attributeType": "str",
                "implementationType": "none",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "15d10eca-11e8-4894-8b27-d815dbc62596": {
                "id": "15d10eca-11e8-4894-8b27-d815dbc62596",
                "name": "Thriller",
                "type": "ClassAttribute",
                "owner": "50ffa27f-f8a9-438b-b81b-174266f39952",
                "bounds": {
                  "x": -534.5,
                  "y": -14.5,
                  "width": 159,
                  "height": 30
                },
                "code": "",
                "visibility": "public",
                "attributeType": "str",
                "implementationType": "none",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "55346119-1f08-48c5-9629-b5223ea766e0": {
                "id": "55346119-1f08-48c5-9629-b5223ea766e0",
                "name": "History",
                "type": "ClassAttribute",
                "owner": "50ffa27f-f8a9-438b-b81b-174266f39952",
                "bounds": {
                  "x": -534.5,
                  "y": 15.5,
                  "width": 159,
                  "height": 30
                },
                "code": "",
                "visibility": "public",
                "attributeType": "str",
                "implementationType": "none",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "67e73142-470c-4795-8864-96f08365ce49": {
                "id": "67e73142-470c-4795-8864-96f08365ce49",
                "name": "Technology",
                "type": "ClassAttribute",
                "owner": "50ffa27f-f8a9-438b-b81b-174266f39952",
                "bounds": {
                  "x": -534.5,
                  "y": 45.5,
                  "width": 159,
                  "height": 30
                },
                "code": "",
                "visibility": "public",
                "attributeType": "str",
                "implementationType": "none",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "4ba07b68-1fd2-40fc-ad63-05766965aaad": {
                "id": "4ba07b68-1fd2-40fc-ad63-05766965aaad",
                "name": "Romance",
                "type": "ClassAttribute",
                "owner": "50ffa27f-f8a9-438b-b81b-174266f39952",
                "bounds": {
                  "x": -534.5,
                  "y": 75.5,
                  "width": 159,
                  "height": 30
                },
                "code": "",
                "visibility": "public",
                "attributeType": "str",
                "implementationType": "none",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "52114e47-c8c1-404a-847c-0b877de007e0": {
                "id": "52114e47-c8c1-404a-847c-0b877de007e0",
                "name": "Horror",
                "type": "ClassAttribute",
                "owner": "50ffa27f-f8a9-438b-b81b-174266f39952",
                "bounds": {
                  "x": -534.5,
                  "y": 105.5,
                  "width": 159,
                  "height": 30
                },
                "code": "",
                "visibility": "public",
                "attributeType": "str",
                "implementationType": "none",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "65937dfa-011b-425e-a292-7d66dff5cd36": {
                "id": "65937dfa-011b-425e-a292-7d66dff5cd36",
                "name": "Adventure",
                "type": "ClassAttribute",
                "owner": "50ffa27f-f8a9-438b-b81b-174266f39952",
                "bounds": {
                  "x": -534.5,
                  "y": 135.5,
                  "width": 159,
                  "height": 30
                },
                "code": "",
                "visibility": "public",
                "attributeType": "str",
                "implementationType": "none",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "994869fb-9b98-450f-add4-a2ee88a15c7f": {
                "id": "994869fb-9b98-450f-add4-a2ee88a15c7f",
                "name": "Philosophy",
                "type": "ClassAttribute",
                "owner": "50ffa27f-f8a9-438b-b81b-174266f39952",
                "bounds": {
                  "x": -534.5,
                  "y": 165.5,
                  "width": 159,
                  "height": 30
                },
                "code": "",
                "visibility": "public",
                "attributeType": "str",
                "implementationType": "none",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "45fa6842-da64-4878-b875-c536f06f1d50": {
                "id": "45fa6842-da64-4878-b875-c536f06f1d50",
                "name": "Cookbooks",
                "type": "ClassAttribute",
                "owner": "50ffa27f-f8a9-438b-b81b-174266f39952",
                "bounds": {
                  "x": -534.5,
                  "y": 195.5,
                  "width": 159,
                  "height": 30
                },
                "code": "",
                "visibility": "public",
                "attributeType": "str",
                "implementationType": "none",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "6d81aaec-327a-42b9-89db-a17e54bb7b5a": {
                "id": "6d81aaec-327a-42b9-89db-a17e54bb7b5a",
                "name": "Fantasy",
                "type": "ClassAttribute",
                "owner": "50ffa27f-f8a9-438b-b81b-174266f39952",
                "bounds": {
                  "x": -534.5,
                  "y": 225.5,
                  "width": 159,
                  "height": 30
                },
                "code": "",
                "visibility": "public",
                "attributeType": "str",
                "implementationType": "none",
                "stateMachineId": "",
                "quantumCircuitId": "",
                "neuralNetworkId": "",
                "isOptional": false,
                "isDerived": false,
                "isId": false,
                "isExternalId": false
              },
              "de57bf9a-a91f-4c69-9ad0-4879e2222edd": {
                "id": "de57bf9a-a91f-4c69-9ad0-4879e2222edd",
                "name": "",
                "type": "ClassOCLConstraint",
                "owner": null,
                "bounds": {
                  "x": -535,
                  "y": -255,
                  "width": 210,
                  "height": 90
                },
                "description": "",
                "constraint": "context Book inv inv1: self.pages> 10"
              }
            },
            "relationships": {
              "rel_z26fdxrdq_mjikkmoe": {
                "id": "rel_z26fdxrdq_mjikkmoe",
                "name": "books",
                "type": "ClassBidirectional",
                "owner": null,
                "bounds": {
                  "x": -25,
                  "y": -157.5,
                  "width": 140,
                  "height": 263
                },
                "path": [
                  {
                    "x": 140,
                    "y": 225
                  },
                  {
                    "x": 70,
                    "y": 225
                  },
                  {
                    "x": 70,
                    "y": 10
                  },
                  {
                    "x": 0,
                    "y": 10
                  }
                ],
                "source": {
                  "direction": "Left",
                  "element": "class_06blhjj3h_mjikkmod",
                  "multiplicity": "1..*",
                  "role": "library",
                  "navigable": true,
                  "bounds": {
                    "x": 0,
                    "y": 0,
                    "width": 0,
                    "height": 0
                  }
                },
                "target": {
                  "direction": "Right",
                  "element": "class_oho5ergc3_mjikkmod",
                  "multiplicity": "*",
                  "role": "books",
                  "navigable": true,
                  "bounds": {
                    "x": 0,
                    "y": 0,
                    "width": 0,
                    "height": 0
                  }
                },
                "isManuallyLayouted": false
              },
              "rel_0ys2qxzq1_mjikkmoe": {
                "id": "rel_0ys2qxzq1_mjikkmoe",
                "name": "books",
                "type": "ClassBidirectional",
                "owner": null,
                "bounds": {
                  "x": -25,
                  "y": -217.5,
                  "width": 210,
                  "height": 48
                },
                "path": [
                  {
                    "x": 210,
                    "y": 10
                  },
                  {
                    "x": 0,
                    "y": 10
                  }
                ],
                "source": {
                  "direction": "Left",
                  "element": "class_d3f0di6lb_mjikkmoe",
                  "multiplicity": "1..*",
                  "role": "authors",
                  "navigable": true,
                  "bounds": {
                    "x": 0,
                    "y": 0,
                    "width": 0,
                    "height": 0
                  }
                },
                "target": {
                  "direction": "Right",
                  "element": "class_oho5ergc3_mjikkmod",
                  "multiplicity": "*",
                  "role": "books",
                  "navigable": true,
                  "bounds": {
                    "x": 0,
                    "y": 0,
                    "width": 0,
                    "height": 0
                  }
                },
                "isManuallyLayouted": false
              }
            },
            "assessments": {}
          },
          "lastUpdate": "2026-10-02T09:21:00.642Z"
        }
      ]
    },
    "settings": {
      "defaultDiagramType": "ClassDiagram",
      "autoSave": true,
      "collaborationEnabled": false,
      "perspectives": {
        "ClassDiagram": true,
        "ObjectDiagram": false,
        "StateMachineDiagram": false,
        "AgentDiagram": true,
        "UserDiagram": false,
        "GUINoCodeDiagram": true,
        "QuantumCircuitDiagram": false,
        "NNDiagram": false,
        "BPMN": false
      },
      "preferredInterface": "model"
    }
  },
  "exportedAt": "2026-10-02T09:21:33.189Z",
  "version": "2.0.0",
  "besserVersion": "8.0.0",
  "editorVersion": "1.0.0"
}