Skip to content

Boost::SML in C++: Simplifying State Machines

Photo of Daniel Eriksson
Hosted By
Daniel E. and Dave B.
Boost::SML in C++: Simplifying State Machines

Details

Welcome to our first meetup of the year 2024.

This time Carl Olsen will give a talk about the state machine library in boost. Se abstract below.

After the main presentation we have made some room for lightning talks. Short presentations, about 5-10 minutes, on any topic you like. But preferably C++ or software development related :) No need to prepare anything, just get up there and talk about something you find interesting!

We are kindly hosted and sponsored by Evidente again this time

ABSTRACT
Managing complex state transitions in a readable and maintainable
manner can often become a daunting task. The Boost State Machine
Library (boost::sml) offers a modern, header-only, and highly
efficient solution to this problem, leveraging the power of C++ to
simplify the creation and management of state machines. This
presentation aims to introduce the fundamental concepts of state
machines, clarifying their importance and applicability in modern
software design. It will then delve into the specifics of boost::sml,
demonstrating how it enables developers to define states, transitions,
guards, substates, and swimlanes with minimal boilerplate and maximal
expressiveness.
Participants will gain a basic understanding of state machines'
theoretical basis followed by a practical guide on
implementing these concepts using boost::sml. The presentation will
cover how to define states and transitions, the use of guards to
control state flow, the organization of states into substates for
complex scenarios and reusablility, and the modeling of concurrent
states through swimlanes. Each topic will be accompanied by code
examples, showcasing the simplicity and power of boost::sml in
handling stateful applications.
By the end of this presentation, attendees will be equipped with the
knowledge to effectively use boost::sml in their C++ projects,
enabling them to create more maintainable, efficient, and scalable
state-driven applications. Whether you are new to state machines or
looking to refine your existing knowledge with a modern library, this
presentation will provide valuable insights into leveraging boost::sml
for your software development needs.

ABOUT EVIDENTE
Evidente is a Swedish engineering company, committed to key aspects of developing products with embedded systems. Our customers include some of the leading Scandinavian high-tech companies, all sharing the same level of expectation - Embedded Excellence.

AGENDA
18:00 - Doors open, with fika/snacks/food and mingling
18:30 - Event starts, welcome from Evidente
18:45 - Speech starts
19:45 - Lightning talks
20:15 - Event finishes

Welcome!

Photo of GbgCpp - Gothenburg C++ Meetup group
GbgCpp - Gothenburg C++ Meetup
See more events