The purpose of the University of Saskatchewan MADMUC Lab is to explore and develop:

  • middleware infrastructures for decentralized software systems: mobile, ubiquitous, cloud-based or fog-based, that have better performance, consistency and security.
  • social software infrastructures that enable and encourage sustainable partcicipation and collaboration between users.
  • decentralized trust-based approaches for storing and accessing user data, preserving privacy and user ownership of data.
  • personalized persuasive technologies for user behaviour change to improve: healthy living, physical activity, productive work, social support and more engaging learning experiences.

Here is our vision from when we founded the lab in 2000.

The "future" described in it is our "present" now.Our focus has shifted somewhat from multi-agent systems and intelligent educational systems towards more general decentralized approaches and applications.

"Our purpose is carrying out research into creating the next generation of mobile, distributed, autonomous computer applications. The computing environments of the future will be spread everywhere: not only in desk-top computers and lap-tops, but also on palm-tops, cell phones, and other personal computing/communication devices. They will be worn (data glasses, watches, etc.) and they will be embedded in everyday devices (home appliances, automobiles, etc.) in the environment. People will interact with these mobile and ubiquitous computing devices in all imaginable contexts: in vehicles, in meetings, on public transport, while shopping, relaxing, eating, cooking etc.

With the availability of stable and reliable protocols for supporting interconnection of wireless devices, the key question becomes how to design software to best support the nomadic user of the future. Classical software approaches to many different end devices are possible, but building different versions of applications for all conceivable configurations leads to practically un-maintainable code, rendering this approach useless.

We see one solution in granting autonomy to the software components. To explain the main idea, we will use a simple metaphor. Imagine that cars of the future will not need to follow roads. If a river has to be crossed, where should the bridges be located? The traditional solution of placing bridges where roads are crossing the river is inappropriate, since there are no roads and travelers can roam freely. The bridge of the future should be able to assemble itself automatically when a passenger arrives at a point where he or she wants to cross the river. By using autonomous components that can decide if and how they can interact with each other, we can encapsulate the ever-increasing complexity of computer applications in a distributed and highly heterogeneous software world.

But granting autonomy to components is not enough. The nomadic users of the future will expect that the software not only runs (by autonomously configuring itself to the hardware needs) but also serves them in the best way. This means that the autonomous components must be able to find an optimal configuration according to the user’s preferences and the hardware and software constraints.

Thus, the research that will be carried out in the MADMUC lab will address two main problems:

  • Meeting User Needs: ensuring that the software supports the wide variety of user needs in a mobile and ubiquitous computer environment.
  • Organization: ensuring that the behaviour of the distributed software is predictable, robust, reliable, and dependable.

We see many possible applications of the results of this research for designing software to serve the needs of people working in communication- intensive distributed environments, like for example, mining companies, transportation companies, and many others.

A prime area of interest for mobile and ubiquitous adaptive systems is the support of human learning. The future learning environments will be wired and wireless, accessible from anywhere at anytime. Learning in these environments will be distributed in space and time. Standard classroom models for knowledge building will be complemented with virtual classroom models involving people of different ages, cultural and knowledge backgrounds. Knowledge building will be a lifelong, social, evolutionary process of building consensus through sharing and discussing (knowledge negotiation). How should environments supporting this type of learning be built? Several types of techniques and technologies hold a promise: multi-agent architectures, user and learner modelling, mobile and ubiquitous technologies.

Research into adaptive learning applications in mobile and ubiquitous computing environments will be carried out in collaboration with researchers from the ARIES Lab at the Department of Computer Science. For a number of years, the researchers at ARIES Lab have been exploring how to integrate learning technology more naturally into a learner's own environment, for example, in workplace training situation.