# ocl-examples A collection of (toy) examples that demonstrate the use of OCL in the context of UML as well as SecureUML models. Most of the models were developed in the context of the HOL-OCL and SecureUML projects. ## Models * **[Controller Calendar:](./controller_calendar)** A simple calendar/meeting model using ControllerUML. * **[Calendar:](./calendar)** A simple calendar/meeting model. * **[Company:](./company)** A simple company model, inspired by the OCL standard. * **[Digraph:](./digraph)** A simple tree like (recursive) data structure. * **[E-Bank:](./ebank)** A simple eBank/Accounting model. * **[Health System:](./health_system)** A simple health system. * **[Invoicing Orders:](./invoicing_orders)** A simple invoicing model. * **[ISP:](./isp)** A simple example of an ISP. * **[Mini Company:](./mini_company)** A tiny company example modeling a management hierarchy. * **[Priority Queue:](./priority_queue)** A simple priority queue model. * **[Red-Black Tree:](./rbt)** A UML/OCL model of red-black trees. * **[Royals and Loyals:](./royals_and_loyals)** The famous royals-and-loyals example. * **[Simple:](./simple)** A very simple toy example showing a few OCL syntax variations. * **[Simple Chair:](./simple_chair)** A simple conference management system. * **[Simple Filesystem:](./simple_filesystem)** A simple POSIX-like file system model. * **[Stack:](./stack)** A simple stack. * **[Vehicles:](./vehicles)** A simple model of vehicles and driver's licenses. ## Team * [Achim D. Brucker](http://www.brucker.ch/) ## License This project is licensed under a 2-clause BSD license. SPDX-License-Identifier: BSD-2-Clause ## Master Repository The master git repository for this project is hosted by the [Software Assurance & Security Research Team](https://logicalhacking.com): . ## Publications * Achim D. Brucker and Burkhart Wolff. [Semantics, Calculi, and Analysis for Object-oriented Specifications.](https://www.brucker.ch/bibliography/download/2009/brucker.ea-semantics-2009.pdf) In Acta Informatica, 46 (4), pages 255-284, 2009. https://www.brucker.ch/bibliography/abstract/brucker.ea-semantics-2009 doi: [10.1007/s00236-009-0093-8](http://dx.doi.org/10.1007/s00236-009-0093-8) * Achim D. Brucker and Burkhart Wolff. [An Extensible Encoding of Object-oriented Data Models in HOL.](https://www.brucker.ch/bibliography/download/2008/brucker.ea-extensible-2008-b.pdf) In Journal of Automated Reasoning, 41, pages 219-249, 2008. https://www.brucker.ch/bibliography/abstract/brucker.ea-extensible-2008-b doi: [10.1007/s10817-008-9108-3](https://dx.doi.org/10.1007/s10817-008-9108-3) * Achim D. Brucker. [An Interactive Proof Environment for Object-oriented Specifications.](https://www.brucker.ch/bibliography/download/2007/brucker-interactive-2007.pdf) ETH Zurich,2007. ETH Dissertation No. 17097. https://www.brucker.ch/bibliography/abstract/brucker-interactive-2007 * Achim D. Brucker, Jürgen Doser, and Burkhart Wolff. [A Model Transformation Semantics and Analysis Methodology for SecureUML.](https://www.brucker.ch/bibliography/download/2006/brucker.ea-transformation-2006.pdf) In MoDELS 2006: Model Driven Engineering Languages and Systems. Lecture Notes in Computer Science (4199), pages 306-320, Springer-Verlag, 2006. https://www.brucker.ch/bibliography/abstract/brucker.ea-transformation-2006 doi: [10.1007/11880240_22](http://dx.doi.org/10.1007/11880240_22)