The I* model and the djnn framework

I* is a theoretical model of interactive software under development in our team. djnn (previously named Istar) is an application and UI framework that relies on the principles of the I* model.

Both djnn and I* were designed to support the efficient construction of modern interactive systems: designer UIs, multimodal and ubiquitous UIs, digital interactive objects. The development processes supported by djnn include iterative design and concurrent engineering between visual designers, interaction designers and software designers. Ultimately, I* is also aimed at supporting the formal verification of interactive components.

The most striking feature of the I* model is its hierarchical event-driven component system. Underlying it is a variant of process theories that relies on interaction rather than communication; in I*, all systems are modelled as interacting processes, including physical objects and software components.

djnn is a multi-language environment. You can construct an application by assembling components that are programmed in different languages and run in different processes. Bindings for djnn are currently available in C, C++, Java and Perl.

You can consult djnn website for download, documentation and examples.

An example of adaptivity and multimodality done with djnn for EICS 2014

Try djnn!

djnn is ongoing work. We plan to make its code freely available when it is mature enough.

Related projects

Related publications

Contact: chatty at