Skip to content
/ CorC Public
forked from KIT-TVA/CorC

Tool Support for Correctness-by-Construction

Notifications You must be signed in to change notification settings

Kodde2011/CorC

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tool Support for Correctness-by-Construction

Tool Support for Confidentiality- and Correctness-by-Construction

CorC Project Setup Guide & Case Study Introduction (2022-09-27)

Installation guide for plugins and properties for development with CorC with introduction of case studies.

Setup

Properties & Initialisation

  1. Checkout master from https://github.com/TUBS-ISF/CorC.git
  2. Open the following packages in Eclipse Modelling Tools:
  • de.tu_bs.cs.isf.cbc.cbcclass.model
  • de.tu_bs.cs.isf.cbc.statistics
  • de.tu_bs.cs.isf.cbc.statistics.ui
  • de.tu_bs.cs.isf.commands.toolbar
  • de.tu-bs.cs.isf.cbc.model
  • de.tu-bs.cs.isf.cbc.tool
  • de.tu-bs.cs.isf.cbc.util
  • de.tu-bs.cs.isf.cbcclass.tool
  • de.tu-bs.cs.isf.wizards
  1. Disable warnings for circular dependencies: Window -> Preferences -> Java -> Compiler -> Building -> Build path problems -> Circular dependencies -> Warning
  2. Generate model/edit/editor: Open model/.genmodel of cbcmodel, cbcclassmodel, and statistics and rightclick on Generate ... If multiple referencing errors occur, uninstall Jamopp Plugins via Window -> Preferences -> Install/Update -> Uninstall or update. After uninstalling, reinstall via Marketplace.
  3. Select any package and run project as Eclipse Application.

Examples and Case Studies

We provide different examples and case studies to explore VarCorC!

Examples

Create CorC-examples via File -> New -> Other... -> CorC -> CorC Examples -> Select examples you want to create.

Case studies

The repository you checked out contains various software product line case studies. They can be loaded via File -> Open project from file system.

BankAccount

The BankAccount implements basic functions of a bank account such as withdrawals, limits, money transfers and checking the account balance.

  • BankAccount Object-oriented implementation with class structure and CbC-Classes.
  • BankAccountOO Object-oriented implementation with class structure and CbC-Classes. Non-SPL implementation.

Elevator

The Elevator implements basic functions of an elevator such as the movement and entering and leaving of persons.

  • Elevator Object-oriented implementation with class structure and CbC-Classes.

Email

The product line Email implements basic functions of an email system including server- and client-side interactions.

  • EmailOO Object-oriented implementation with class structure and CbC-Classes. Non-SPL implementation.
  • EmailFeatureInteraction Java-Implementation without implementation with CbC.

IntegerList

The IntegerList implements a list of integers with add and sort operations.

  • IntegerList Object-oriented implementation with class structure and CbC-Classes.
  • IntegerListOO Object-oriented implementation with class structure and CbC-Classes. Non-SPL implementation.

About

Tool Support for Correctness-by-Construction

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 91.5%
  • GAP 7.6%
  • Xtend 0.9%