Skip to content

lf-lang/rust-rti

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Rust RTI: Lingua Franca Runtime Infrastructure (RTI) in Rust Language

This repository contains the Rust code for Lingua Franca's (LF) Runtime Infrastructure (RTI) for federated execution of LF.

Disclaimer

This RTI is still a work in progress with unimplemented functionalities; thus, it may not work for certain federated LF programs. Please let @chanijjani or @hokeun know if you find any issues when running federated LF programs with this Rust RTI.

Requirements

Quick Start

Setup Environment (Ubuntu)

  1. Update system to the latest.
sudo apt update
  1. Install packages for Rust dependents.
sudo apt install -y curl gcc make build-essential
  1. Install Rust.
curl https://sh.rustup.rs -sSf | sh
  1. Check Rust installation.
source ~/.profile
source ~/.cargo/env
rustc -V

You can see rustc 1.xx.0 (...).

Run

  1. Download sources from Github
https://github.com/hokeun/lf-rust-rti.git
  1. Change the directory into lf-rust-rti/rust/rti, then run the cargo run command with options for running the RTI, as shown below.
cd lf-rust-rti/rust/rti
cargo run -- -n 2

Run Rust RTI with Lingua Franca (LF) Test Programs

  1. Download and generate the LF test programs
  2. Execute Rust RTI first
cargo run -- -n 2
  1. Execute a LF test program
    • ex) For HelloDistributed program, execute following commands in each shell.
      lingua-franca/test/C/fed-gen/HelloDistributed/bin$ ./federate_s
      lingua-franca/test/C/fed-gen/HelloDistributed/bin$ ./federate_d
      

Currently passing federated tests (lingua-franca/test/C/src/federated/) with Rust RTI: (to be updated)

  • DistributedCount.lf, DistributedStop.lf, HelloDistributed.lf, PingPongDistibuted.lf, SimpleFederated.lf, StopAtShutdown.lf

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •