Software

Software Features Releases Packages License GitHub Docker Hub Jenkins

Getting Started

Demo Videos:

Installing Sireum

Sireum Distributions

There are 3 flavors of Sireum distributions: Vanilla, Strawberry, and Shortcake (most users would probably prefer Strawberry or Shortcake). Each flavor consists of stable and dev versions; the stable version is suitable for regular use and the dev version is intended for Sireum developers or for users trying out recent features/bug fixes not in stable yet.

Vanilla

Vanilla is a minimal Sireum distribution consisting of Java, Scala, and Sireum Distro, from where additional Sireum Features can be installed on an on-demand basis.

Strawberry

Strawberry (a.k.a., cli) is a Sireum distribution that includes Vanilla and all publicly released Sireum (v2) tools and their Command-Line Interface (CLI) such as Amandroid.

To install Strawberry from Vanilla (see Installation Instructions and Running Sireum below):

sireum install "Sireum Amandroid Cli"
Shortcake

Shortcake (a.k.a., ide) is a Sireum distribution that includes Strawberry and the Sireum Integrated Development Environment (IDE, see Features for Sireum Developers).

To install Shortcake from Vanilla (see Installation Instructions and Running Sireum below):

sireum install "Sireum Amandroid Cli"
sireum install SireumDev
sireum install PlatformDoc

Note

Specific distribution build dates can be found at the Sireum Releases page. The list of all packages included in the distributions (i.e., Sireum dependencies) can be found at the Sireum Packages page.

Installation Instructions

Download the distribution of choice appropriate for your platform and uncompress it in, e.g., ~/Applications (or in Windows: C:\). This will create a Sireum directory in ~/Applications/Sireum (or C:\Sireum). Let’s call this directory SIREUM_HOME. The rest of the instructions below assume the command sireum to refer to SIREUM_HOME/sireum (relative or absolute path); you can make sure that this is always the case by, for example, adding the absolute path of SIREUM_HOME to the beginning of your PATH environment variable.

Note

SIREUM_HOME should not contain whitespaces, and in Windows, it is best to put it in a root drive because of Windows’ file path limit of 260 characters.)

Sireum Strawberry Docker Containers

We also provide Docker containers for Strawberry to help ensure reproducibility of working Sireum installations:

For the above containers, SIREUM_HOME is /opt/Sireum.

Running Sireum

To run Sireum, in a terminal command prompt, type:

sireum

(If this is your first time running Sireum vanilla, Sireum Distro will automatically download the appropriate files for Sireum command-line interface (CLI) and store them in SIREUM_HOME.) Then, Sireum CLI will print out the available modes that you can use. It is recommended to not modify files under SIREUM_HOME as the changes might be lost after an update.

Note

Set the SCALA_OPTIONS environment variable to add options to Scala before running Sireum, e.g., to pass Java options:

  • In Mac and Linux:

    export SCALA_OPTIONS="-J-Xms512m -J-Xmx4g -J-XX:+UseG1GC"
    
  • In Windows:

    SET SCALA_OPTIONS=-J-Xms512m -J-Xmx4g -J-XX:+UseG1GC
    

Sireum Distro

Sireum Distro is Sireum’s package manager and launcher that aims to simplify the process of installing, updating, and running tools built on top of the Sireum platform and associated applications.

To update Sireum tools and apps, type the following in a terminal:

sireum update

Note

If you use Sireum Shortcake, after an update, make sure to launch Sireum Eclipse IDE using the -clean option as follows:

sireum launch sireumdev -j "-Xms512m,-Xmx4096m" --args -clean

To change to a specific version of Sireum, set the SIREUM_UPDATE environment variable to point to the corresponding update site version listed in the Sireum Releases page before running Sireum update. By default, the update uses the latest update site of the installed Sireum distribution type (stable: http://update.sireum.org/stable/latest; dev: http://update.sireum.org/dev/latest). All Sireum update sites are only hosted at K-State CIS servers.

To see the Sireum version that is installed:

sireum version

To list the available features that you can install:

sireum list

To see other distro modes:

sireum distro

To uninstall all features:

sireum uninstall all

Note

uninstall all will still keep Java and Scala that come with the Sireum distribution.

Proceed to take a look at the available Sireum Features.


Tip

Mode Prefix and Feature Camel Case

Sireum Distro accepts mode prefixes. For example:

sireum d

is equal to:

sireum distro

In addition, camel casing works for feature names. For example:

sireum i SD

is equal to:

sireum install SireumDev

Moreover, camel casing works with all lowercase characters, where the characters are converted to uppercase. For example:

sireum i sd

is equal to:

sireum i SD