My research activities are in the general area of programming languages and systems, with specific interests in:
  • functional and object-oriented programming languages
  • software architecture, components, design patterns, frameworks, and toolkits
  • distributed, embedded, mobile, and pervasive computing
I co-direct Loyola's Emerging Technologies Laboratory (ETL), an environment for experimental research in the above-mentioned areas. I am also interested in interdisciplinary applications of my work to problems in bioinformatics, environmental science, and digital humanities.

I am involved in several open-source software and documentation projects:
A complete list of my publications can be found on CiteULikeGoogle Scholar, and SelectedWorks. My entry in the Mathematics Genealogy Project is here.