Software Modeling with Alloy Workshop

Event Information

Share this event

Date and Time

Refund Policy

Refund Policy

Refunds up to 7 days before event

Eventbrite's fee is nonrefundable.

Event description



Most software flaws come from one of two places. When the code doesn’t match our expectations, it could be that the code is wrong. Most software correctness techniques - types, tests, etc - are used to check the code. But it could instead be that the code is correct and our expectations are wrong: there’s a fundamental error in our model of the system. These bugs are the most difficult to find and the most expensive to fix. Our standard techniques cannot handle them.

The answer to this is software modeling, or "formal methods". By writing out the design in a software modeling tool, we can directly test the design for bugs without having to write any code first. Modeling software leads to simpler, safer systems built more quickly and cheaply.

One such modeling tool is Alloy. Alloy can not only find complex design bugs, it can provide visualizations of problems and edge cases. This makes it well suited for collaborating with project managers and clients. Alloy has been successfully used for everything from modeling security policies to data schemas and business processes.

In this class you will learn the basics of Alloy from one of the foremost experts on teaching formal methods. An additional pairing session is also available as an optional purchase.


Class will be one day of online instruction. We will cover

  • Why model software
  • Using Alloy
  • Alloy Syntax
  • Expressing Properties
  • Writing good models

Instruction is a mix of lecture, group labs, and individual and group exercises. Attendees should expect a high degree of student participation. I teach workshops so that students learn.

Note that the class is not comprehensive. Some aspects of Alloy will not be taught. This is a conscious choice to give students the strongest foundation possible.


Attendees should have some experience programming and some experience testing. While Alloy is powerful and accessible, it is aimed at experienced programmers. Some knowledge of predicate logic, such as ∀ and ∃, is helpful but not necessary.

About the Instructor

Hillel Wayne is a formal methods educator and consultant. He is on the Alloy board and in charge of writing the new online reference documentation. He is a certified EMT in Illinois.

Share with friends

Date and Time


Online Event

Refund Policy

Refunds up to 7 days before event

Eventbrite's fee is nonrefundable.

Save This Event

Event Saved