• Home
  • Resources
    • Find Resources by Topic Tags
    • Cybersecurity Policy Chart
    • CSIAC Reports
    • Webinars
    • Podcasts
    • Cybersecurity Digest
    • Standards & Reference Docs
    • Journals
    • Certifications
    • Acronym DB
    • Cybersecurity Related Websites
  • Services
    • Free Technical Inquiry
    • Core Analysis Task (CAT) Program
    • Subject Matter Expert (SME) Network
    • Training
    • Contact Us
  • Community
    • Upcoming Events
    • Cybersecurity
    • Modeling & Simulation
    • Knowledge Management
    • Software Engineering
  • About
    • About the CSIAC
    • The CSIAC Team
    • Subject Matter Expert (SME) Support
    • DTIC’s IAC Program
    • DTIC’s R&E Gateway
    • DTIC STI Program
    • FAQs
  • Skip to primary navigation
  • Skip to main content
  • Skip to footer
Login / Register

CSIAC

Cyber Security and Information Systems Information Analysis Center

  • Resources
    • Find Resources by Topic Tags
    • Cybersecurity Policy Chart
    • CSIAC Reports
    • Webinars
    • Podcasts
    • Cybersecurity Digest
    • Standards & Reference Docs
    • Journals
    • Certifications
    • Acronym DB
    • Cybersecurity Websites
  • Services
    • Free Technical Inquiry
    • Core Analysis Task (CAT) Program
    • Subject Matter Expert (SME) Network
    • Training
    • Contact
  • Community
    • Upcoming Events
    • Cybersecurity
    • Modeling & Simulation
    • Knowledge Management
    • Software Engineering
  • About
    • About the CSIAC
    • The CSIAC Team
    • Subject Matter Expert (SME) Support
    • DTIC’s IAC Program
    • DTIC’s R&E Gateway
    • DTIC STI Program
    • FAQs
  • Cybersecurity
  • Modeling & Simulation
  • Knowledge Management
  • Software Engineering
/ All Podcast Series / The CSIAC Podcast / Rust Models

Rust Models

Rust is a fairly new programming language with the goal of being a safe systems programming language. “Safe” means code generated by Rust is free of memory access and data race vulnerabilities. System programming language means that Rust programs are fast and able to use platform resources.

This 5-part video series entitled Rust Models by Dr. James Fawcett, describes different conceptual models that underlie the Rust programming language. Discussion with exemplars is used to illustrate how the models describe aspects of the language for effective use.

Rust Programming Language: Addressing Software Development and Program Security Shortfalls

Posted: 08/13/2020 | Presenter: Dr. Jim Fawcett | Leave a Comment

This podcast features a roundtable discussion centered around challenges and benefits of using a new programming language called “Rust,” which can fundamentally improve resilience and survivability of software intensive systems.

Learn More

Code Structure – Rust Models Part 5

Posted: 07/13/2020 | Presenter: Dr. Jim Fawcett | Leave a Comment

This video discusses structure and organization of Rust projects. Crates and packages (modules) are the building blocks for Rust programs. Programs are composed of sources organized into packages that consist of a directory built with the Cargo build tool.

Learn More

Generic Types – Rust Models Part 4

Posted: 07/07/2020 | Presenter: Dr. Jim Fawcett | Leave a Comment

This video discusses Rust “Generic Types”, a language facility for defining types that depend on a parameter specified at compile time. Rust Generics are similar to generic types used in Java and C#, but unlike C++ templates which support specialization.

Learn More

Object Model – Rust Models Part 3

Posted: 06/23/2020 | Presenter: Dr. Jim Fawcett | Leave a Comment

This video discusses the Rust Object model and language facilities for representing user-defined types. Rust does not have support for classes, but does provide structs, which are similar to classes used in other object-oriented languages like C++. “Traits” are similar to interfaces or abstract classes and support polymorphic operations. Rust provides encapsulation of data members and access control through the use of the “pub” keyword which specifies whether members of a struct are accessible to clients.

Learn More

Ownership Model – Rust Models Part 2

Posted: 06/09/2020 | Presenter: Dr. Jim Fawcett | Leave a Comment

Discusses the Rust Language Ownership model which uses a type safety policy for avoiding undefined program behavior. The Rust type system ensures memory safety and prevents data races in multi-thread programs. The language rules for program variable (data) mutation, and the differences between value copies and moves is discussed in detail. Variable data is, by default, immutable. Variables must be annotated with the “mut” keyword in order to be modified.

Learn More

Introduction to the Rust Programming Language – Rust Models Part 1

Posted: 06/02/2020 | Presenter: Dr. Jim Fawcett | Leave a Comment

This video provides an introduction and a brief overview of the Rust Programming Language. It covers the prerequisites required for getting started. This includes: the setup of a development environment using Visual Studio Code, and the Rust package manager and build tool known as “Cargo.”

Learn More

Footer

CSIAC Products & Services

  • Free Technical Inquiry
  • Core Analysis Tasks (CATs)
  • Resources
  • Events Calendar
  • Frequently Asked Questions
  • Product Feedback Form

About CSIAC

The CSIAC is a DoD-sponsored Center of Excellence in the fields of Cybersecurity, Software Engineering, Modeling & Simulation, and Knowledge Management & Information Sharing.Learn More

Contact Us

Phone:800-214-7921
Email:info@csiac.org
Address:   266 Genesee St.
Utica, NY 13502
Send us a Message
US Department of Defense Logo USD(R&E) Logo DTIC Logo DoD IACs Logo

Copyright 2012-2021, Quanterion Solutions Incorporated

Sitemap | Privacy Policy | Terms of Use | Accessibility Information
Accessibility / Section 508 | FOIA | Link Disclaimer | No Fear Act | Policy Memoranda | Privacy, Security & Copyright | Recovery Act | USA.Gov

This website uses cookies to provide our services and to improve your experience. By using this site, you consent to the use of our cookies. To read more about the use of our site, please click "Read More". Otherwise, click "Dismiss" to hide this notice. Dismiss Read More
Privacy & Cookies Policy

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled

Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.

Non-necessary

Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.