{"id":20608573,"url":"https://github.com/logicalhacking/ocl-examples","last_synced_at":"2026-01-30T12:34:28.774Z","repository":{"id":95337647,"uuid":"69790905","full_name":"logicalhacking/ocl-examples","owner":"logicalhacking","description":"A collection of (toy) examples using OCL.","archived":false,"fork":false,"pushed_at":"2018-07-23T17:05:14.000Z","size":487,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-12T03:51:24.814Z","etag":null,"topics":["benchmark","hol-ocl","ocl","uml"],"latest_commit_sha":null,"homepage":"https://git.logicalhacking.com/HOL-OCL/ocl-examples","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/logicalhacking.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-10-02T10:16:11.000Z","updated_at":"2025-04-28T17:53:11.000Z","dependencies_parsed_at":"2023-04-06T22:04:09.272Z","dependency_job_id":null,"html_url":"https://github.com/logicalhacking/ocl-examples","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/logicalhacking/ocl-examples","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logicalhacking%2Focl-examples","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logicalhacking%2Focl-examples/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logicalhacking%2Focl-examples/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logicalhacking%2Focl-examples/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/logicalhacking","download_url":"https://codeload.github.com/logicalhacking/ocl-examples/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logicalhacking%2Focl-examples/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28912911,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T12:13:43.263Z","status":"ssl_error","status_checked_at":"2026-01-30T12:13:22.389Z","response_time":66,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["benchmark","hol-ocl","ocl","uml"],"created_at":"2024-11-16T10:11:03.737Z","updated_at":"2026-01-30T12:34:28.752Z","avatar_url":"https://github.com/logicalhacking.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# ocl-examples\nA collection of (toy) examples that demonstrate the use of OCL in \nthe context of UML as well as SecureUML models. Most of the models \nwere developed in the context of the HOL-OCL and SecureUML projects.\n\n## Models\n* **[Controller Calendar:](./controller_calendar)** A simple calendar/meeting model using ControllerUML.\n* **[Calendar:](./calendar)** A simple calendar/meeting model.\n* **[Company:](./company)** A simple company model, inspired by the OCL standard.\n* **[Digraph:](./digraph)** A simple tree like (recursive) data structure.\n* **[E-Bank:](./ebank)** A simple eBank/Accounting model.\n* **[Health System:](./health_system)** A simple health system.\n* **[Invoicing Orders:](./invoicing_orders)** A simple invoicing model.\n* **[ISP:](./isp)** A simple example of an ISP.\n* **[Mini Company:](./mini_company)** A tiny company example modeling a management hierarchy.\n* **[Priority Queue:](./priority_queue)** A simple priority queue model.\n* **[Red-Black Tree:](./rbt)** A UML/OCL model of red-black trees.\n* **[Royals and Loyals:](./royals_and_loyals)** The famous royals-and-loyals example.\n* **[Simple:](./simple)** A very simple toy example showing a few OCL syntax variations.\n* **[Simple Chair:](./simple_chair)** A simple conference management system.\n* **[Simple Filesystem:](./simple_filesystem)** A simple POSIX-like file system model.\n* **[Stack:](./stack)** A simple stack.\n* **[Vehicles:](./vehicles)** A simple model of vehicles and driver's licenses.\n\n## Team\n* [Achim D. Brucker](http://www.brucker.ch/)\n\n## License\nThis project is licensed under a 2-clause BSD license. \n\nSPDX-License-Identifier: BSD-2-Clause\n\n## Master Repository\n\nThe master git repository for this project is hosted by the [Software\nAssurance \u0026 Security Research Team](https://logicalhacking.com):\n\u003chttps://git.logicalhacking.com/HOL-OCL/ocl-examples\u003e.\n\n## Publications\n* Achim D. Brucker and Burkhart Wolff. [Semantics, Calculi, and Analysis\n  for Object-oriented Specifications.](https://www.brucker.ch/bibliography/download/2009/brucker.ea-semantics-2009.pdf)\n  In Acta Informatica, 46 (4), pages 255-284, 2009.\n  https://www.brucker.ch/bibliography/abstract/brucker.ea-semantics-2009\n  doi:\n  [10.1007/s00236-009-0093-8](http://dx.doi.org/10.1007/s00236-009-0093-8)\n\n* Achim D. Brucker and Burkhart Wolff. [An Extensible Encoding of Object-oriented\n  Data Models in HOL.](https://www.brucker.ch/bibliography/download/2008/brucker.ea-extensible-2008-b.pdf) In Journal of Automated\n  Reasoning, 41, pages 219-249, 2008.\n  https://www.brucker.ch/bibliography/abstract/brucker.ea-extensible-2008-b\n  doi: [10.1007/s10817-008-9108-3](https://dx.doi.org/10.1007/s10817-008-9108-3) \n\n* Achim D. Brucker. [An Interactive Proof Environment for\n  Object-oriented Specifications.](https://www.brucker.ch/bibliography/download/2007/brucker-interactive-2007.pdf)\n  ETH Zurich,2007. ETH Dissertation\n  No. 17097.\n  https://www.brucker.ch/bibliography/abstract/brucker-interactive-2007\n\n* Achim D. Brucker, Jürgen Doser, and Burkhart Wolff. [A Model\n  Transformation Semantics and Analysis Methodology for SecureUML.](https://www.brucker.ch/bibliography/download/2006/brucker.ea-transformation-2006.pdf) In\n  MoDELS 2006: Model Driven Engineering Languages and Systems. Lecture\n  Notes in Computer Science (4199), pages 306-320,\n  Springer-Verlag, 2006.\n  https://www.brucker.ch/bibliography/abstract/brucker.ea-transformation-2006\n  doi: [10.1007/11880240_22](http://dx.doi.org/10.1007/11880240_22) \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flogicalhacking%2Focl-examples","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flogicalhacking%2Focl-examples","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flogicalhacking%2Focl-examples/lists"}