# Installing BIP

A current development version of BIP can be cloned from the Verimag GitLab:

```
git clone -b  https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/bip/compiler.git
```

Once the repository is cloned, install it by issuing the following commands:

```
$ cd compiler/distribution
$ sed -i~ -e 's/1.6/1.8/' common.xml
$ ./wrap.sh
$ source setenv.sh
$ env | grep BIP2
```

This will configure your current terminal window to use the BIP Reference Engine (there is also an optimised and a multi-threaded version of the engine). To configure all future terminal windows, either add the third command above (`source <path_to_your_installation>/setenv.sh`) to your `.base_profile`, or copy there the definitions of the corresponding BIP2 environment variables (see the last command above).

Additional information is available from the Verimag [BIP Compiler page](http://www-verimag.imag.fr/New-BIP-tools.html).

# References for the presented material

## Rigorous System Design

- Joseph Sifakis. Rigorous System Design. *Foundations and Trends® in Electronic Design Automation* **6(4)** (2012) 293–362 [PDF](https://www-verimag.imag.fr/~sifakis/papers_pdfs/Rigorous%20System%20Design.pdf)

- Ananda Basu, Saddek Bensalem, Marius Bozga, Jacques Combaz, Mohamad Jaber, Thanh-Hung Nguyen, Joseph Sifakis. Rigorous component-based system design using the BIP framework. *IEEE Software* **28(3)** (2011) 41–48 [PDF](https://www-verimag.imag.fr/~sifakis/RecentPublications/2011/ieee-software.pdf)

- Emmanouela Stachtiari, Anastasia Mavridou, Panagiotis Katsaros, Simon Bliudze, and Joseph Sifakis. Early validation of system requirements and design through correctness-by-construction. *Journal of Systems and Software*, **145**:52–78, November 2018. [PDF](http://www.bliudze.me/simon/articles/JSS2018-EarlyValidation.pdf)

## Nanosatellite design in BIP

- Anastasia Mavridou, Emmanouela Stachtiari, Simon Bliudze, Anton Ivanov, Panagiotis Katsaros, and Joseph Sifakis. Architecture-based design: A satellite on-board software case study. In *13th International Conference on Formal Aspects of Component Software (FACS 2016)*, volume 10231 of Lecture Notes in Computer Science, page 260–279, 2016. [PDF](http://www.bliudze.me/simon/articles/CubETHUseCase.pdf)

- Marco Pagnamenta. Rigorous software design for nano and micro satellites using BIP framework. Master's Thesis, EPFL (2014) [PDF](https://infoscience.epfl.ch/record/218902/files/report.pdf)

- Anton B. Ivanov, Simon Bliudze. Robust Software Development for University-Built Satellites. *CoRR* abs/2010.02208 (2020) [PDF](https://arxiv.org/pdf/2010.02208)

## BIP semantics (interactions, connectors, priorities, expressiveness)

- Simon Bliudze and Joseph Sifakis. The algebra of connectors -- Structuring interaction in BIP. *IEEE Transactions on Computers*, **57(10)**:1315–1330, 2008. [PDF](http://www.bliudze.me/simon/articles/acp-bliudze-sifakis-tc.pdf)

- Simon Bliudze and Joseph Sifakis. Causal semantics for the algebra of connectors. *Formal Methods in System Design*, **36(2)**:167–194, 2010. [PDF](http://www.bliudze.me/simon/articles/causal-bliudze-sifakis-fmsd.pdf)

- Eduard Baranov and Simon Bliudze. Offer semantics: Achieving compositionality, flattening and full expressiveness for the glue operators in BIP. *Science of Computer Programming*, **109(0)**:2–35, 2015. [PDF](http://www.bliudze.me/simon/articles/BarBliu15-offer-scico.pdf)

- Eduard Baranov and Simon Bliudze. Expressiveness of component-based frameworks: A study of the expressiveness of BIP. *Acta Informatica*, **57**, 761–800 (2020). [PDF](http://www.bliudze.me/simon/articles/Baranov-Bliudze2019_Article_ExpressivenessOfComponent-base.pdf)

## Architectures

- Paul Attie, Eduard Baranov, Simon Bliudze, Mohamad Jaber, and Joseph Sifakis. A general framework for architecture composability. *Formal Aspects of Computing*, **18(2)**:207–231, 2016. Open access. [PDF](https://dl.acm.org/doi/pdf/10.1007/s00165-015-0349-8)

- Simon Bliudze, Ludovic Henrio, and Eric Madelaine. Verification of concurrent design patterns with data. In *Proc. of the 21st International Conference on Coordination Models and Languages (COOORDINATION 2019)*, volume 11533 of LNCS, page 161–181. Springer, 2019. [PDF](http://www.bliudze.me/simon/articles/arch-pNets.pdf)
