Skip to content

AMPL model for Weak Agreement in contract automata, implementation of weak liability checking, published at FORTE2016

Notifications You must be signed in to change notification settings

davidebasile/FORTE2016

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is the legacy code (published in [1]) of the first prototypical version of the Contract Automata Library (CATLib), part of the Contract Automata Toolkit (CAT) (https://github.com/ContractAutomataProject).
Initially, CAT only contained CATLib, thus CATLib was referred as CAT in [1]. This repository contains a nucleus of the old version of CATLib, prior to its extension to variability [2], abstract synthesis [3], and its complete refactoring and improvement [4]. This repository contains other original functionalities that are not in the intersection with CATLib (e.g., AMPL models of weak agreement, weak liability, mixed choice checking). This repository also contains the initial front-end, which was an interactive command line. Later, a GUI front-end has been developed in a separated repository, called CAT_App, also available at (https://github.com/ContractAutomataProject).

References:

[1] Basile, D., Degano, P., Ferrari, G.L. and Tuosto, E., 2016, June. Playing with our CAT and communication-centric applications. In International Conference on Formal Techniques for Distributed Objects, Components, and Systems (pp. 62-73). Springer, Cham. https://link.springer.com/content/pdf/10.1007%2F978-3-319-39570-8_5.pdf

@inproceedings{DBLP:conf/forte/BasileDFT16,
  author    = {Davide Basile and
               Pierpaolo Degano and
               Gian Luigi Ferrari and
               Emilio Tuosto},
  editor    = {Elvira Albert and
               Ivan Lanese},
  title     = {Playing with Our {CAT} and Communication-Centric Applications},
  booktitle = {Formal Techniques for Distributed Objects, Components, and Systems
               - 36th {IFIP} {WG} 6.1 International Conference, {FORTE} 2016, Held
               as Part of the 11th International Federated Conference on Distributed
               Computing Techniques, DisCoTec 2016, Heraklion, Crete, Greece, June
               6-9, 2016, Proceedings},
  series    = {Lecture Notes in Computer Science},
  volume    = {9688},
  pages     = {62--73},
  publisher = {Springer},
  year      = {2016},
  url       = {https://doi.org/10.1007/978-3-319-39570-8\_5},
  doi       = {10.1007/978-3-319-39570-8\_5},
  timestamp = {Tue, 14 May 2019 10:00:50 +0200},
  biburl    = {https://dblp.org/rec/conf/forte/BasileDFT16.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

[2] Basile, D., ter Beek, M.H., Degano, P., Legay, A., Ferrari, G.L., Gnesi, S. and Di Giandomenico, F., 2020. Controller synthesis of service contracts with variability. Science of Computer Programming, 187, p.102344. https://www.sciencedirect.com/science/article/pii/S0167642318302260

[3] Pugliese, R., Ter Beek, M.H. and Basile, D., 2020. Synthesis of orchestrations and choreographies: bridging the gap between supervisory control and coordination of services. Logical Methods in Computer Science, 16. https://lmcs.episciences.org/6527

[4] Basile, D. and Beek, M.H.T., 2021, June. A clean and efficient implementation of choreography synthesis for behavioural contracts. In International Conference on Coordination Languages and Models (pp. 225-238). Springer, Cham. https://link.springer.com/chapter/10.1007/978-3-030-78142-2_14


The directory JaMaTa contains the java tool, see JaMaTa/README.

The folder ampl contains a tool implemented in AMPL for deciding if a CA is weakly safe and admits weak agreement, see README inside ampl.

Developed with JDK 7 and Eclipse. A file Readme is located in the workspace with some useful comments.

About

AMPL model for Weak Agreement in contract automata, implementation of weak liability checking, published at FORTE2016

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages