The Control of Discrete Event Systems (CODES) Laboratory involves faculty and graduate students from the Division of Systems Engineering and the Center for Information and Systems Engineering (CISE). Members of CODES conduct research on modeling, design, analysis, performance evaluation, control, and optimization of a variety of discrete event and hybrid systems – Communication and Sensor Networks, Manufacturing and Supply Chain, Transportation, and a variety of Multi-agent systems. Detailed descriptions of research projects in the CODES Lab, interactive demos, simulations, and movies may be found at the CODES home page
“Though this be madness, yet there is method in’t”,
The rapid evolution of computer technology has brought about the proliferation of new dynamic systems, mostly “man-made” and highly complex. Examples abound: computer networks, sensor networks and cyber-physical systems, automated manufacturing systems, traffic control systems, integrated command-control-information systems, etc. Their complexity can be overwhelming. One can only hope that there truly is some method to the technological madness around us…
A bit of history
Historically, scientists and engineers have concentrated on studying and harnessing natural phenomena which are well modeled by the laws of gravity, classical and nonclassical mechanics, electromagnetics, physical chemistry, etc. In so doing, we typically deal with quantities such as the displacement, velocity, and acceleration of particles and rigid bodies, or the pressure, temperature, and flow rates of fluids and gases. These are continuous variables in the sense that they can take on any real value as time itself continuously evolves. Based on this fact, a vast body of mathematical tools and techniques has been developed to model, analyze, and control the systems around us. It is fair to say that the study of ordinary and partial differential equations currently provides the main infrastructure for system analysis and control.
From TIME-DRIVEN to EVENT-DRIVEN systems
In the day-to-day life of our “man-made” and increasingly computer-dependent world, we notice:
First, that many of the quantities we deal with are discrete, typically involving counting integers (how many parts in an inventory, how many planes in a runway, how many telephone calls are active).
Second, that what drives many of the processes we use and depend on are instantaneous events such as the pushing of a button, hitting a keyboard key, or a traffic light turning green.
In fact, much of the technology we have invented and rely on (especially where digital computers are involved) is event-driven: communication networks, manufacturing systems, or the execution of a computer program are common examples. Not only must these systems act as “event coordinators”, but they are also expected to swiftly react to unpredictable events, rapidly adapt to changing conditions, and guarantee their users satisfactory – if not optimal – performance.
In short, all activity in these systems is due to asynchronous occurrences of discrete events, some controlled (like hitting a keyboard key) and some not (like a spontaneous equipment failure). This feature lends itself to the term Discrete Event System (DES). When systems combine both time-driven and event-driven behavior, we then deal with Hybrid Systems.
The time-driven paradigm for the modeling and analysis of dynamic systems is founded on the centuries-old theoretical framework provided by differential (or difference) equations. In this paradigm, time is an independent variable and, as it evolves, so does the state of the system. Conceptually, there is an underlying "clock" and with every "clock tick" a state update is performed, including the case where no change in the state occurs. Methodologies for sampling, estimation, communication, control, and optimization are also founded on the same time-driven principle. The digital technological advances of the 1970s and beyond have facilitated the implementation of this paradigm with digital clocks embedded in hardware and used to drive the collection of data or the actuation of devices employed to control various processes.
In a world increasingly networked, wireless, and involving large-scale distributed systems, the universal value of this point of view has understandably come to question. The event-driven paradigm offers an alternative, complementary look at control, communication, and optimization. The key idea is that a clock should not be assumed to dictate actions simply because a time step is taken; rather, an action should be triggered by an "event" specified as a well-defined condition on the system state or as a random state transition. Naturally, defining the proper "events" requires more sophisticated techniques compared to simply reacting to time steps.
Research in Discrete Event and Hybrid systems
The main challenges we face in designing and controlling discrete event and hybrid systems come from:
CODES Lab activities cover a wide spectrum, from basic research to the development of software tools. These activities include:
For more information, visit Research Projects, Selected Publications, and various interactive demos and video clips of CODES lab experiments involving wireless sensor networks, multi-agent robotic systems, and Smart Cities projects under WWW Resources
If you are interested in applying for admission to our graduate program and joining the CODES Lab, Center for Information and Systems Engineering (CISE), or the Division of Systems Engineering, please visit Graduate Admission Information.