About
I have over 30 years specializing in software engineering and programming languages. For the past 10 years I have been involved in investigating mobile app development for native Android, native iOS and for platform-independent frameworks. I have served as an expert consultant or expert witness in over 30 cases involving intellectual property of software, including patent infringement, copyright infringement and breach of contract. For my day job I am a faculty member in Computer Science at the University of Illinois Chicago. I have published 50 papers in peer-reviewed conferences and journals and I have taught courses on software engineering, programming languages, and mobile app development. My communication and explanation skills have earned me multiple prestigious teaching awards at UIC. During my career I have also held various administrative positions, including Director of Graduate Studies for Computer Science, Director of Undergraduate Studies, and Associate Department Head.
My research interests are in the general area of software engineering with emphasis on modeling and analysis of concurrent and real-time systems. In the past, I have investigated various methods for automatic verification of these systems using such models as finite automata and Petri nets. In recent years, I have shifted my main research focus to the automatic generation of control supervisors for discrete manufacturing systems. For instance, I codirected a NIST-sponsored project seeking to generate automatically supervisory controllers for discrete manufacturing plants. More generally, I am now interested in techniques for supervisory control and dynamic reconfiguration of discrete event systems. An additional application is the automatic correction of multi-threaded Java programs required to be free of deadlock and to comply with user-specified safety properties. Additional interests include software development for multicore hardware, mobile app development, and sensor networks.