Activities and systems


Gecode  is an open, free, portable, accessible, and efficient environment for developing constraint-based systems and applications in research, industry, and education.

Particularly important for its design is simplicity and accessibility. Simplicity is the key reason why Gecode is efficient and successfully exploits today's commodity parallel hardware. Accessibility is due to its complete reference documentation, complete tutorial documentation, and academic publications in conferences and journals presenting key design decisions and techniques.

Gecode is widely used (several thousand users): as a research vehicle; for teaching constraint programming at several universities around the world; as an application platform by companies; it is included in distributions such as Debian, Ubuntu, OpenSUSE, Gentoo, and FreeBSD (and possibly others).

Gecode has been the Gold medal winner at the MiniZinc Challenge (all categories) 2012, 2011, 2010, 2009, 2008.

Gecode has been partially funded by the Swedish Research Council (VR), 621-2004-4953.

Contact person: Christian Schulte


Modelyze  (MODEl and anaLYZE) is a host language designed for modeling and analysis of cyber-physical systems (CPS). Modelyze is not a modeling language itself, but a host language where domain-specific languages (DSLs) can be embedded. It has been tested and evaluated on equation-based object-oriented DSLs, used for modeling of physical systems.

The main benefit with the language is extensibility; it is possible to define new DSLs by extending existing DSLs with new syntax and semantics. The language and its implementation are available as open source and can be accessed from

Contact person: David Broman


Unison  proposes a radical departure in that the various tasks for code generation in a compiler backend are translated into models of combinatorial problems and the resulting models are solved in Unison by constraint programming as a modern method for combinatorial optimization.

The models are generated with respect to the program to be translated and a high-level description of the target architecture. More information, including recorded media and Unison's source code, is available on .

Unison is funded by the Swedish Research Council (VR), 621-2011-6229, and Ericsson AB.

Contact person: Christian Schulte


Automating System SpEcific Model-Based Learning - ASSEMBLE isa 5-year research project that started in July 2016 and is financially supported by the Swedish Foundation for Strategic Research (SSF) . The objective of the project is to develop new probabilistic modeling language abstractions together with new machine learning inference algorithms to enable fast and complex development of smart systems.

The project team consists of four researchers: From KTH:  David Broman  and Joakim Jaldén . From Uppsala University: Thomas Schön  (main PI) and David Black-Schaffer .

Contact person: David Broman


MIST (Miniature Student satellite)  is a 3U CubeSat satellite that is developed primarily by undergraduate and Master’s students at KTH. The satellite is planned to be launched into space in a couple of years. The project is lead by Sven Grahn at the KTH Space Center. The MCS group is involved in the supervision of the students who are developing the onboard computer (OBC), which is controlling all experiments and is communicating with the ground station. If you are a KTH student and would like to participate in this project, please do not hesitate to contact us.

Contact person: David Broman


Mozart  is an implementation of Oz, a concurrent constraint programming language. Its key features are

  • concurrency is based on lightweight threads and automatic synchronization as provided by concurrent constraints.
  • transparent distribution across networked computers.
  • advanced combinatorial optimization services.

While Mozart is not any longer actively developed, it has served as an inspiration and starting point for other systems in both distributed computing ( Kompics ) and combinatorial optimization ( Gecode ). Christian Schulte has been a main designer, the main developer, and has been leading the distributed development of Mozart, from 1997 to 2001. His contributions to Mozart in particular include the design and implementation of constraint services, which is documented in the book Programming Constraint Services .

Contact person: Christian Schulte


SICStus  is a state-of-the-art, ISO standard compliant, Prolog development system. With distributions for Windows, Linux, Mac OS X and Solaris, SICStus is built around a high-performance virtual machine with just-in-time compilation that can use the full virtual memory space for 32 and 64 bit architectures, which makes SICStus efficient and robust for large amounts of data and large applications. SICStus contains a major constraint programming library with more than 60 built-in constraints and a MiniZinc interface. This technology has been successfully used in multiple commercial applications and research projects around the world and has won medals in the 2009 and 2014 MiniZinc Challenges.

Contact person: Mats Carlsson