Curriculum Vitae for David Garlan

February 2021

 

Address

School of Computer Science                                           

Carnegie Mellon University

Pittsburgh, PA 15213-2890

412-268-5056

garlan@cs.cmu.edu

www.cs.cmu.edu/~garlan

 

Education

            Ph.D., Computer Science                                                                                   1987

Carnegie Mellon University, Pittsburgh PA.

Dissertation: Views for Tools in Integrated Environments

Advisor, A. N. Habermann

 

B.A., M.A. (Oxon) Honours in Mathematics                                                       1973

University of Oxford, Oxford, England.

 

B.A. Mathematics magna cum laude, phi beta kappa                                           1971

Amherst College, Amherst MA.

 

Employment

Associate Dean for Master’s Programs in the School of Computer Science 2018-present

Carnegie Mellon University, School of Computer Science                                   2004-present

Professor

Director of Software Engineering Professional Programs                                     2002-2016

Carnegie Mellon University, School of Computer Science                                   1996-2004

Associate Professor

Carnegie Mellon University, School of Computer Science                                   1990-96

Assistant Professor

Tektronix, Inc., Computer Research Labs

Senior Computer Scientist                                                                                 1987-90

Carnegie Mellon University, Department of Computer Science                            1987

Post-Doctoral Research Fellow                                                                                                   

Carnegie Mellon University, Department of Computer Science                            1980-86

Research Assistant                                                                                             

 

Awards and Honors

Nancy Mead Award for Excellence in Software Engineering Education                        2017

IEEE TCSE Distinguished Software Education Award                                                    2017

Allen Newell Award for Research Excellence                                                     2016

Master of Software Engineering “Coach” Award                                                2016

Fellow of the ACM                                                                                           2013

Fellow of the IEEE                                                                                            2012

ACM SIGSOFT Outstanding Research Award (joint with Mary Shaw)                        2011

IBM Faculty Research Award                                                                            2011

Research Fellow of Korean Software Engineering Center, Seoul Korea                        2010-2013

NASA Jet Propulsion Lab Distinguished Visiting Scientist                                  2007-present

Stevens Award Citation for “fundamental contributions to the development and understanding of software architecture as a discipline in software engineering.” 2005

ACM Recognition of Service Awards, October 1996, May 1999, June 2001, November 2002

National Science Foundation National Young Investigator                                   1993-98

Keasbey Scholar, Scholarship to study mathematics at Oxford University                        1971-73

Phi Beta Kappa, Sigma Xi                                                                                 1971

Edgewood Borough Citizen of the Year                                                              1993

 

Book and Paper Recognition

 

Best Demo Award. Carlos Aderaldo, Nabor C. Mendonça, Bradley Schmerl and David Garlan. Kubow: An Architecture-Based Self-Adaptation Service for Cloud Native Applications. In Proceedings of the 2019 European Conference on Software Architecture: Tools Track, Paris, France, 9-13 September 2019.

 

Best Artifact Paper Award.  Gabriel A. Moreno, Cody Kinneer, Ashutosh Pandey and David Garlan. DARTSim: An Exemplar for Evaluation and Comparison of Self-Adaptation Approaches for Smart Cyber-Physical Systems. In Proceedings of the 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, Montreal, Canada, 25-26 May 2019.

 

SEAMS 2006 Most Influential Paper (Test-of-time) Award. Shang-Wen Cheng, David Garlan, and Bradley Schmerl. Architecture-based self-adaptation in the presence of multiple objectives. Proceedings of the ICSE 2006 Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), Shanghai, China, May 21-22, 2006.  Awarded 2019.

 

2019 APEX Award of Excellence article: Nancy R. Mead, David Garlan, and Mary Shaw. Half a century of software engineering education: The CMU exemplar. IEEE Software, Sept/Oct 2018.

 

Best Artifact Paper Award.  Gabriel A. Moreno, Bradley Schmerl and David Garlan. SWIM: An Exemplar for Evaluation and Comparison of Self-Adaptation Approaches for Web Applications. In Proceedings of the 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS2018), Gothenburg, Sweden, 28-29 May 2018.

 

Best Paper Award. Javier Cámara, David Garlan and Bradley Schmerl. Synthesis and Quantitative Verification of Tradeoff Spaces for Families of Software Systems. In Proceedings of the 11th European Conference on Software Architecture, Canterbury, UK, 11-15 September 2017.

 

Best Paper Award. Ivan Ruchkin, Selva Samuel, Bradley Schmerl, Amanda Rico and David Garlan. Challenges in Physical Modeling for Adaptation of Cyber-Physical Systems. In Proc. of the Workshop on MARTCPS Models at Runtime and Networked Control for Cyber Physical Systems. IEEE World Forum on the Internet of Things, Reston, Virginia, 12-14 December 2016.

 

Best Paper Award. Gabriel A. Moreno, Javier Cámara, David Garlan and Bradley Schmerl. Efficient Decision-Making under Uncertainty for Proactive Self-Adaptation. In Proceedings of the 13th IEEE International Conference on Autonomic Computing (ICAC 2016), Würzburg, Germany, 19-22 July 2016.

 

Best Paper Award. Javier Cámara, Gabriel A. Moreno, David Garlan and Bradley Schmerl. Analyzing Latency-Aware Self-Adaptation Using Stochastic Games and Simulations. In ACM Tran. on Autonomous and Adaptive Systems (TAAS) - Special Section on Best Papers from SEAMS 2014 Vol. 10(4):23:1--23:28, ACM, New York, NY, USA, February 2016. ISSN 1556-4665.

 

Best Paper Award. Ivan Ruchkin, Bradley Schmerl and David Garlan. Architectural Abstractions for Hybrid Programs. In Proceedings of the 18th International ACM SIGSOFT Symposium on Component-Based Software Engineering (CBSE 2015), Montréal, QC, Canada, 4-8 May 2015.

 

Best Paper Award. Paulo Casanova, David Garlan, Bradley Schmerl and Rui Abreu. Diagnosing architectural run-time failures. In Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2013), 20-21 May 2013.

 

ACM SIGSOFT Retrospective Impact Paper Award, September 2011. Architectural mismatch or why it's hard to build systems out of existing parts.” Proceedings of the 17th International Conference on Software Engineering, May 1995.  

 

CASCON First-Decade High Impact Paper Award, November 2010. “Acme: An Architecture Description Interchange Language.” David Garlan, Robert Monroe, David Wile. Proceedings of CASCON'97, November, 1997.

 

Most Influential Paper of ICSE’94. “Formalizing Architectural Connection.” Robert Allen and David Garlan.16th International Conf. on Software Engineering, May 1994. Selected as by the program committee of ICSE 2004 to honor a paper from the hindsight of a decade.

 

2002 Jolt Productivity Award. .Documenting Software Architectures: Views and Beyond, Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Robert Nord, Judith Stafford. Addison-Wesley, 2003.

 

Best Paper Award..“Architectural Mismatch: Why Reuse is So Hard.” David Garlan, Robert Allen, and John Ockerbloom.  IEEE Software, November 1995. Selected as one of the top 35 papers published in the first 25 years of IEEE Software

 

Best Paper Award. “Using Style to Understand Descriptions of Software Architecture.” Gregory Abowd, Robert Allen, and David Garlan. SIGSOFT'93: Symposium on the Foundations of Software Engineering, December 1993.

 

Publications:

 

Books

 

Rogério de Lemos, David Garlan, Carlo Ghezzi and Holger Giese editors, Software Engineering for Self-Adaptive Systems (SEfSAS) 3, Nr. (9640), Lecture Notes in Computer Science, Springer, 2017.

 

Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Robert Nord, Judith Stafford. Documenting Software Architectures: Views and Beyond, Second Edition. Addison Wesley, 2011.

 

Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Paulo Merson, Robert Nord, Judith Stafford. Documenting Software Architectures: Views and Beyond. Addison Wesley, 2003. Received a 2002 Jolt Productivity Award in the General Books category.

 

Mary Shaw and David Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, 1996.

 

 

Book Chapters and Collections

 

Javier Cámara, David Garlan, Gabriel A. Moreno and Bradley Schmerl. Analyzing Self-Adaptation via Model Checking of Stochastic Games. In Rogério de Lemos, David Garlan, Carlo Ghezzi and Holger Giese editors, Software Engineering for Self-Adaptive Systems 3, Nr. (9640), Lecture Notes in Computer Science, Springer, 2017.

 

Javier Cámara, David Garlan, Gabriel A. Moreno and Bradley Schmerl. Evaluating Trade-Offs of Human Involvement in Self-Adaptive Systems. In Ivan Mistrik, Nour Ali, John Grundy, Rick Kazman and Bradley Schmerl editors, Managing Trade-Offs in Self-Adaptive Systems, Elsevier, September 2016.

 

David Garlan, Bradley Schmerl and Shang-Wen Cheng. Software Architecture-Based Self-Adaptation

Autonomic Computing and Networking, Springer Verlag LNCS 5525, 2009.

 

Shang-Wen Cheng, David Garlan, Bradley Schmerl and Vahe Poladian.  Improving Architecture-Based Self-Adaption Through Resource Prediction. In Software Engineering for Self-Adaptive Systems, Chapter 15, LNCS, 2008.

 

Joao Pedro Sousa, Bradley Schmerl, Peter Steenkiste and David Garlan. Activity Oriented Computing. In Soraya Kouadri Mostefaoui, Zakaria Maamar and George Giaglis editors, Advances in Ubiquitous Computing: Future Paradigms and Directions, IGI Publishing, Hershey, PA, 2008.

 

Shang-Wen Cheng, David Garlan, and Bradley Schmerl. Making Self-Adaptation an Engineering Reality. Self-Star Properties in Complex Information Systems, Ozlap Babaoglu, Mark Jelasity I (Eds), LNCS Vol 3460, Springer-Verlag, 2005.

 

David Garlan. Formal Modeling and Analysis of Software Architecture: Components, Connectors, and Events. In Formal Methods for Software Architectures. Marco Bernardo and Paola Inverardi (Eds), pp. 1-25. Springer LNCS 2804. 2003.

 

David Garlan, Shang-Wen Cheng, and Bradley Schmerl. Increasing System Dependability through Architecture-based Self-repair. In Architecting Dependable Systems, R. de Lemos, C. Gacek, A. Romanovsky (Eds), Springer-Verlag, 2003.

 

David Garlan. Software Architecture. Wiley Encyclopedia of Software Engineering, J. Marciniak (Ed.), John Wiley & Sons, 2001.

 

David Garlan. Software Architecture: a Roadmap. The Future of Software Engineering, A. Finkekstein (Ed), ACM Press, 2000. Also reprinted in Service Oriented Architecture: Concepts and Application.

 

David Garlan, Robert T. Monroe, and David Wile. Acme: Architectural Description of Component-Based Systems. Foundations of Component-Based Systems, Gary T. Leavens and Murali Sitaraman (eds), Cambridge University Press, 2000, pp. 47-68.

 

Mary Shaw and David Garlan. Formulations and Formalisms in Software Architecture. Computer Science Today: Recent Trends and Developments, Lecture Notes in Computer Science, Volume 1000, Springer-Verlag (1995).

David Garlan. Formal Methods Education for Professional Software Engineers Educational Issues of Formal Methods, edited by Dean and Hinchey, Academic Press. A revised version of "Making Formal Methods Education Effective for Professional Software Engineers'' Information and Software Technology (May-June 1995).

 

David Garlan. Formal Approaches to Software Architecture. In Studies of Software Design, edited by David Lamb, Springer-Verlag, 1993. Appeared earlier in Proceedings of the Workshop on Studies of Software Design (May 1993). Published as Queen's University Department of Computing and Information Science Technical Report, ISSN-0836-0227-93-352.

 

David Garlan and Mary Shaw. An Introduction to Software Architecture. In Advances in Software Engineering and Knowledge Engineering, Volume I, V. Ambriola and G. Tortora eds, World Scientific Publishing Company, New Jersey (1993).

 

David Garlan and Norman Delisle. Formal Specification of an Architecture for a Family of Instrumentation Systems. Applications of Formal Methods, Hinchey and Bowen eds., Prentice

Hall, International Series in Computer Science (1995). An expanded version of "Applying Formal Specification to Industrial Problems: A Specification of an Oscilloscope", which appeared in IEEE Software (September 1990).

 

Gail E. Kaiser and David Garlan. "Synthesizing Programming Environments from Reusable Features" in Software Reusability, Volume II, edited by Ted J. Biggerstaff and Alan J. Perlis. ACM Press (1989). Republished from Gail E. Kaiser and Davidh Garlan. Melding Software Systems from Reusable Building Blocks. IEEE Software (July 1987).

 

Journals

 

Nabor C. Mendonça, Pooyan Jamshidi, David Garlan and Claus Pahl. Developing Self-Adaptive Microservice Systems: Challenges and Directions. In IEEE Software, 2020.

 

Javier Cámara, David Garlan and Bradley Schmerl. Synthesizing Tradeoff Spaces of Quantitative Guarantees for Families of Software Systems. In Journal of Systems and Software, Vol. 152:33-49, June 2019.

 

Nancy R. Mead, David Garlan, and Mary Shaw. Half a century of software engineering education: The CMU exemplar. IEEE Software, Sept/Oct 2018. 2019 APEX Award of Excellence article.

 

Jonathan Aldrich, David Garlan, Christian Kästner, Claire Le Goues, Anahita Mohseni-Kabir, Ivan Ruchkin, Selva Samuel, Bradley Schmerl, Chrisopher Steven Timperley, Manuela Veloso, Ian Voysey, Joydeep Biswas, Arjun Guha, Jarrett Holtz, Javier Cámara and Pooyan Jamshidi. Model-Based Adaptation for Robotics Software. In IEEE Software, March 2019.

 

Darko Bozhinoski, David Garlan, Ivano Malavolta and Patrizio Pelliccione. Managing safety and mission completion via collective run-time adaptation. In Journal of Systems Architecture, Vol. 95:19--35, 2019.

 

Gabriel A. Moreno, Javier Cámara, David Garlan and Bradley Schmerl. Flexible and Efficient Decision-Making for Proactive Latency-Aware Self-Adaptation. In ACM Transactions on Autonomous and Adaptive Systems, Vol. 13(1), May 2018. https://doi.org/10.1145/3149180.

 

Javier Cámara, Wenxin Peng, David Garlan and Bradley Schmerl. Reasoning about Sensing Uncertainty and its Reduction in Decision-Making for Self-Adaptation. In Science of Computer Programming, Vol. 167:51-69, 1 December 2018.

 

Javier Cámara, Bradley Schmerl, Gabriel A. Moreno and David Garlan. MOSAICO: Offline Synthesis of Adaptation Strategy Repertoires with Flexible Trade-Offs. In Automated Software Engineering, May 2018. Springer.

 

Javier Cámara, David Garlan, Gabriel A. Moreno and Bradley Schmerl. Analyzing Self-Adaptation via Model Checking of Stochastic Games. In Rogério de Lemos, David Garlan, Carlo Ghezzi and Holger Giese editors, Software Engineering for Self-Adaptive Systems, Volume 3, Springer, 2017.

 

João M. Franco, Francisco Correia, Raul Barbosa, Mário Zenha-Rela, Bradley Schmerl and David Garlan. Improving Self-Adaptation Planning through Software Architecture-based Stochastic Modeling. In Journal of Systems and Software, May 2016.

 

Javier Cámara, Gabriel A. Moreno, David Garlan and Bradley Schmerl. Analyzing Latency-Aware Self-Adaptation Using Stochastic Games and Simulations. In ACM Transactions on Autonomous and Adaptive Systems (TAAS) - Special Section on Best Papers from SEAMS 2014 Vol. 10(4):23:1--23:28, ACM, New York, NY, USA, February 2016. ISSN 1556-4665.

 

Javier Cámara, Antónia Lopes, David Garlan and Bradley Schmerl. Adaptation impact and environment models for architecture-based self-adaptive systems. In Science of Computer Programming, Special issue of the 11th International Symposium on Formal Aspects of Component Software , Vol. 127:50-75, 2016. doi:10.1016/j.scico.2015.12.006.

 

Javier Cámara, Pedro Correia, Rogério de Lemos, David Garlan, Pedro Gomes, Bradley Schmerl and Rafael Ventura. Incorporating Architecture-Based Self-Adaptation into an Adaptive Industrial Software System. In Journal of Systems and Software, Volume 122, December 2016, Pages 507–523 http://dx.doi.org/10.1016/j.jss.2015.09.021 2015.

 

Jeffrey M. Barnes, David Garlan and Bradley Schmerl. Evolution styles: foundations and models for software architecture evolution. In Journal of Software and Systems Modeling, Vol. 13(2):649-678, May 2014.

 

Sungwon Kang and David Garlan. Architecture-based planning of software evolution. In International Journal of Software Engineering and Knowledge Engineering, Vol. 24, No 2, March 2014.

 

Akshay Rajhans, Ajinkya Y. Bhave, Ivan Ruchkin, Bruce Krogh, David Garlan, Andre Platzer and Bradley Schmerl. Supporting Heterogeneity in Cyber-Physical Systems Architectures. In IEEE Transactions on Automatic Control, Special Issue on Control of Cyber-Physical Systems, Vol. 59(12):3178--3193, Dec. 2014.

 

Shang-Wen Cheng and David Garlan. Stitch: A Language for Architecture-Based Self-Adaptation.

In Danny Weyns, Jesper Andersson, Sam Malek and Bradley Schmerl editors, Journal of Systems and Software, Special Issue on State of the Art in Self-Adaptive Systems, Vol. 85(12), December 2012,

 

Jung Soo Kim and David Garlan. Analyzing Architectural Styles. Journal of Software and Systems. 83.7, pp 1216-1235, July 2010.

 

Akshay Rajhans, Shang-Wen Cheng, Bradley Schmerl, David Garlan, Bruce Krogh, Clarence Agbi and Ajikya Bhave. An Architectural Approach to the Design and Analysis of Cyber-Physical Systems. In Electronic Communications of the EASST, Vol. 21: Multi-Paradigm Modeling, 2009. 

  

David Garlan, Robert Allen and John Ockerbloom. Architectural Mismatch: Why Reuse is Still So Hard. IEEE Software, Pages 66-69, July 2009. 

 

Sungwon Kang and David Garlan. Valuation of Architecture-based Deterministic Plan for Software Evolution. The KIPS Transactions. Vol 16-D(5):755-766, October 2009.

 

Marwan Abi-Antoun, Jonathan Aldrich, Nagi Nahas, Bradley Schmerl and David Garlan. Differencing and Merging of Architectural Views. Automated Software Engineering Journal, Vol. 15(1), March 2008.

 

David Garlan and Bradley Schmerl. The RADAR Architecture for Personal Cognitive Assistance. In International Journal of Software Engineering and Knowledge Engineering, Vol. 17(2), April 2007. A shorter version of this paper appeared in the 2006 Conference on Software Engineering and Knowledge Engineering (SEKE 2006).

 

Tiberiu Seceleanu and David Garlan. Developing adaptive systems with synchronized architectures. In The Journal of Systems and Software, Vol. 79(11):1514-1526, November 2006.

 

Bradley Schmerl, Jonathan Aldrich, David Garlan, Rick Kazman and Hong Yan. Discovering Architectures from Running Systems. In IEEE Transactions on Software Engineering, Vol. 32(7), July 2006. Also available from IEEE.

 

David Garlan and Bradley Schmerl. The RADAR Architecture for Personal Cognitive Assistance. International Journal of Software Engineering and Knowledge Engineering, Vol. 17(2), April 2007.

A shorter version of this paper appeared in the 2006 Conference on Software Engineering and Knowledge Engineering (SEKE 2006).


Tiberiu Seceleanu and David Garlan. Developing adaptive systems with synchronized architectures. Journal of Systems and Software, Volume 79, Issue 11, November 2006, Pages 1514-1526.

 

Bradley Schmerl, Jonathan Aldrich, David Garlan, Rick Kazman and Hong Yan. Discovering Architectures from Running Systems. IEEE Transactions on Software Engineering, Vol. 32(7), July 2006.

 

Vahe Poladian, Joao Pedro Sousa, David Garlan, Bradley Schmerl, and Mary Shaw. Task-based Adaptation for Ubiquitous Computing. IEEE Transactions on Systems, Man and Cybernetics - Section C, Special Issue on Engineering Autonomic Systems. Vol. 36, No. 3, May 2006.

 

Joelle Coutaz, James L. Crowley, Simon Dobson, and David Garlan. Context is Key. Communications of the ACM, Special Issue on “The Disappearing Computer.” March 2005, Vol. 48, No. 3, pps. 49-53.

 

Shang-Wen Cheng, An-Cheng Huang, David Garlan, Bradley Schmerl, and Peter Steenkiste. Rainbow: Architecture-Based Self Adaptation with Reusable Infrastructure., IEEE Computer, Vol. 37 Num. 10, October 2004.

 

David Garlan, Andrew J. Kompanek, and Shang-Wen Cheng. Reconciling the Needs of Architectural Description with Object-Modeling Notations. Science of Computer Programming 44. Elsevier Press, 2002, pp. 23-49.

 

David Garlan, Dan Siewiorek, Asim Smailagic, and Peter Steenkiste. Project Aura: Towards Distraction-Free Pervasive Computing. IEEE Pervasive Computing, special issue on "Integrated Pervasive Computing Environments", Volume 21, Number 2, April-June, 2002. pp. 22-31.

 

João Pedro Sousa, and David Garlan. Formal Modeling of the Enterprise JavaBeans Component Integration Framework. Information and Software Technology, Special Issue on Component Based Development, 43:3, March 2001.

 

Jurgen Dingel, David Garlan, Somesh Jha, and David Notkin. Towards a Formal Treatment of Implicit Invocation. Formal Aspects of Computing, (Vol. 10, 1998).

 

David Garlan, James E. Tomayko, and David Gluch. Agents of Change: Educating Future Leaders in Software Engineering. IEEE Computer (November 1997).

 

Robert Allen and David Garlan.  A  Formal Basis  for Architectural  Connection. Transactions

on Software Engineering and Methodology (July 1997). Also CMU-CS-94-115. Expanded version of "Formal Connectors", which appeared in ICSE-16, and of "Beyond Definition/Use: Architectural Interconnection", which appeared in the 1994 Workshop on Interface Definition Languages.

 

Robert T. Monroe, Andrew Kompanek, Ralph Melton, and David Garlan. Architectural Styles, Design Patterns, and Objects. IEEE Software (January 1997).

 

David Garlan, Robert Allen, and John Ockerbloom. Architectural Mismatch: Why Reuse is So Hard. IEEE Software (November 1995). Selected as best paper of 1995 by Editorial Board of IEEE Software. Expanded version of "Architectural Mismatch, or, Why it's hard to build systems out of existing parts", which appeared in Proceedings of the 17th International Conference on Software Engineering (May 1995).

 

Gregory Abowd, Robert Allen, and David Garlan. Formalizing Architectural Style. Transactions on Software Engineering and Methodology (October 1995). Expanded version of "Using Style to Understand Descriptions of Software Architecture", which appeared at SIGSOFT'93. Also CMU-CS-95-111.

 

David Garlan. Making Formal Methods Education Effective for Professional Software Engineers. Information and Software Technology (May-June 1995). To be reprinted in Educational Issues of Formal Methods, edited by Dean and Hinchey, Academic Press, 1996. Expanded version of "Integrating Formal Methods into a Professional Master of Software Engineering Program'', which appeared in 8th Z User Meeting, 1994.

 

David Garlan, Charles W. Krueger, and Barbara Staudt Lerner. TransformGen: Automating the Maintenance of Structure-Oriented Environments. ACM Transactions on Programming Languages and Systems (May 1994). Expanded version of "A Structural Approach to the Evolution of Structure-Oriented Environments'', which appeared at 2nd Symposium on Practical Software Development Environments.

 

David Garlan, David Notkin, and Gail E. Kaiser. Composing Systems Using Tool Abstraction. IEEE Computer (June 1992).

 

Norman Delisle and David Garlan. Applying Formal Specification to Industrial Problems: A Specification of an Oscilloscope. IEEE Software (September 1990).

 

Gail E. Kaiser and David Garlan. Melding Software Systems from Reusable Building  Blocks. IEEE  Software (July  1987).  Reprinted  as "Synthesizing  Programming  Environments from Reusable Features" in Software Reusability,  Volume II, edited  by Ted J. Biggerstaff and Alan J. Perlis. ACMPress (1989).

 

Fully Refereed Conferences and Workshops

 

Nianyu Li, Mingyue Zhang, Eunsuk Kang and David Garlan. Engineering Secure Self-adaptive Systems with Bayesian Games. In Proceedings of the 24th International Conference on Fundamental Approaches to Software Engineering, March 2021.

 

Maria Casimiro, Diego Didona, Paolo Romano, Luis Rodrigues, Willy Zwaenepoel and David Garlan. Lynceus: Cost-efficient Tuning and Provisioning of Data Analytic Jobs. In The 40th International Conference on Distributed Computing Systems, Singapore, 8-10 July 2020. Accepted for publication.

 

Ivano Malavolta, Grace A. Lewis, Bradley Schmerl, Patricia Lago and David Garlan. How do you Architect your Robots? State of the Practice and Guidelines for ROS-based System. In Proceedings of the 42nd International Conference on Software Engineering: Software Engineering in Practice, pps. 23-29 May 2020.

 

Roykrong Sukkerd, Reid Simmons and David Garlan. Tradeoff-Focused Contrastive Explanation for MDP Planning. In Proceedings of the 29th IEEE International Conference on Robot & Human Interactive Communication, Virtual, August 2020.

 

Ivano Malavolta, Grace A. Lewis, Bradley Schmerl, Patricia Lago and David Garlan. How do you Architect your Robots? State of the Practice and Guidelines for ROS-based System. In Proceedings of the 42nd International Conference on Software Engineering: Software Engineering in Practice, 23-29 May 2020.

 

Nabor C. Mendonça, Carlos Aderaldo, Javier Cámara and David Garlan. Model-Based Analysis of Microservice Resiliency Patterns. In Proceedings of the 2020 IEEE International Conference on Software Architecture, 16-20 March 2020.

 

Javier Cámara, Bradley Schmerl and David Garlan. Software Architecture and Task Plan Co-Adaptation for Mobile Service Robots. In Proceedings of the 15th International Symposium on Software Engineering for Adaptive and Self-managing Systems, June 2020.

 

Nianyu Li, Sridhar Adepu, Eunsuk Kang and David Garlan. Explanations for Human-on-the-loop: A Probabilistic Model Checking Approach. In Proceedings of the 15th International Symposium on Software Engineering for Adaptive and Self-managing Systems, June 2020.

 

Javier Cámara, Alessandro V. Papadopoulos, Thomas Vogel, Danny Weyns, David Garlan, Shihong Huang and Kenji Tei. Towards Bridging the Gap between Control and Self-Adaptive System Properties. In Proceedings of the 15th International Symposium on Software Engineering for Adaptive and Self-managing Systems, June 2020.

 

Roykrong Sukkerd, Reid Simmons and David Garlan. Tradeoff-Focused Contrastive Explanation for MDP Planning. In Proceedings of the 29th IEEE International Conference on Robot & Human Interactive Communication, August 2020.

 

Ashutosh Pandey, Ivan Ruchkin, Bradley Schmerl and David Garlan. Hybrid Planning Using Learning and Model Checking for Autonomous Systems. In Proceedings of the 2020 IEEE Conference on Autonomic Computing and Self-organizing Systems, Washington, D.C., 19-23 August 2020.

 

Nianyu Li, Javier Cámara, David Garlan and Bradley Schmerl. Reasoning about When to Provide Explanation for Human-in-the-loop Self-Adaptive Systems. In Proceedings of the 2020 IEEE Conference on Autonomic Computing and Self-organizing Systems, Washington, D.C., 19-23 August 2020.

 

Thomas J. Glazier, David Garlan and Bradley Schmerl. Case Study of an Automated Approach to Managing Collections of Autonomic Systems. In Proceedings of the 2020 IEEE Conference on Autonomic Computing and Self-organizing Systems, Washington, D.C., 19-23 August 2020.

 

Cody Kinneer, Rijnard Van Tonder, David Garlan and Claire Le Goues. Building Reusable Repertoires for Stochastic Self-* Planners. In Proceedings of the 2020 IEEE Conference on Autonomic Computing and Self-organizing Systems, Washington, D.C., USA, 17-21 August 2020.

 

Pooyan Jamshidi, Javier Cámara, Bradley Schmerl, Christian Kästner and David Garlan. Machine Learning Meets Quantitative Planning: Enabling Self-adaptation in Autonomous Robots. In Proceedings of the 14th Symposium on Software Engineering for Adaptive and Self-Managing Systems, Montreal, Canada, 25-26 May 2019

 

Cody Kinneer, Ryan Wagner, Fei Fang, Claire Le Goues and David Garlan. Modeling Observability in Adaptive Systems to Defend Against Advanced Persistent Threats. In Proceedings of the 17th ACM-IEEE International Conference on Formal Methods and Models for Systems Design (MEMCODE'19), San Diego, USA, 9-11 October 2019.

 

Carlos Aderaldo, Nabor C. Mendonça, Bradley Schmerl and David Garlan. Kubow: An Architecture-Based Self-Adaptation Service for Cloud Native Applications. In Proceedings of the 2019 European Conference on Software Architecture: Tools Track, Paris, France, 9-13 September 2019. Best Demo Award.

 

Thomas J. Glazier and David Garlan. An Automated Approach to Management of a Collection of Autonomic Systems. In Proceedings of the 4th eCAS Workshop on Engineering Collective Adaptive Systems, Umea, Sweden, 16 June 2019.

 

Pooyan Jamshidi, Javier Cámara, Bradley Schmerl, Christian Kästner and David Garlan. Machine Learning Meets Quantitative Planning: Enabling Self-adaptation in Autonomous Robots. In Proceedings of the 14th Symposium on Software Engineering for Adaptive and Self-Managing Systems, Montreal, Canada, 25-26 May 2019.

 

Gabriel A. Moreno, Cody Kinneer, Ashutosh Pandey and David Garlan. DARTSim: An Exemplar for Evaluation and Comparison of Self-Adaptation Approaches for Smart Cyber-Physical Systems. In Proceedings of the 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, Montreal, Canada, 25-26 May 2019. Best Artifact Award.

 

Tobias Dürschmid, Eunsuk Kang and David Garlan. Trade-off-oriented Development: Making Quality Attribute Trade-offs First-class. In Proceedings of the 41st International Conference on Software Engineering: New Ideas and Emerging Results, Montreal, CA, May 2019.

 

Nabor C. Mendonça, David Garlan, Bradley Schmerl and Javier Cámara. Generality vs. Reusability in Architecture-Based Self-Adaptation: The Case for Self-Adaptive Microservices. In The 12th European Conference on Software Architecture: Companion Proceedings, (ECSA2018) Madrid, Spain, 24-28 September 2018.

 

Ivan Ruchkin, Joshua Sunshine, Grant Iraci, Bradley Schmerl and David Garlan. IPL: An Integration Property Language for Multi-Model Cyber-Physical Systems. In Proc. of the 22nd International Symposium on Formal Methods (FM2018), Oxford, UK, 15-17 July 2018.

 

Gabriel A. Moreno, Javier Cámara, David Garlan and Mark Klein. Uncertainty Reduction in Self-Adaptive Systems. In Proc. of the 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’18), Gothenburg, Sweden, 28-29 May 2018.

 

Roykrong Sukkerd, Reid Simmons and David Garlan. Towards Explainable Multi-Objective Probabilistic Planning. In Proceedings of the 4th International Workshop on Software Engineering for Smart Cyber-Physical Systems (SEsCPS'18), Gothenburg, Sweden, 27 May 2018.

 

Gabriel A. Moreno, Bradley Schmerl and David Garlan. SWIM: An Exemplar for Evaluation and Comparison of Self-Adaptation Approaches for Web Applications. In Proceedings of the 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’18), Gothenburg, Sweden, 28-29 May 2018. Best Artifact Paper Award.

 

Cody Kinneer, Zack Coker, Jiacheng Wang, David Garlan and Claire Le Goues. Managing Uncertainty in Self-Adaptive Systems with Plan Reuse and Stochastic Search. In Proceedings of the 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’18), 28-29 May 2018. Selected as a Distinguished Paper.

 

Ryan Wagner, David Garlan and Matthew Fredrikson. Poster: Quantitative Underpinnings of Secure, Graceful Degradation. In Proceedings of the 2018 Symposium of Hot Topics in the Science of Security, Raleigh, North Carolina, 10-11 April 2018.

 

Javier Cámara, David Garlan and Bradley Schmerl. Synthesis and Quantitative Verification of Tradeoff Spaces for Families of Software Systems. In Proceedings of the 11th European Conference on Software Architecture, Canterbury, UK, 11-15 September 2017. Best Paper Award.

 

Ashutosh Pandey, Bradley Schmerl and David Garlan. Instance-based Learning for Hybrid Planning. In Proceedings of the 3rd International Workshop on Data-driven Self-regulating Systems (DSS 2017), Tucson, AZ, USA, 18-22 September 2017. Recommended for journal publication.

 

Javier Cámara, Wenxin Peng, David Garlan and Bradley Schmerl. Reasoning about Sensing Uncertainty in Decision-Making for Self-Adaptation. In Proceedings of the 15th International Workshop on Foundations of Coordination Languages and Self-Adaptive Systems (FOCLASA 2017), 5 September 2017.

 

Vishal Dwivedi, James Herbsleb and David Garlan. What Ails End-User Composition: A Cross-Domain Qualitative Study. In End-User Development. IS-EUD 2017, Vol. 10303 of Lecture Notes in Computer Science, Springer, 2017.

 

Hemank Lamba, Thomas J. Glazier, Javier Cámara, Bradley Schmerl, David Garlan and Jürgen Pfeffer. Model-based cluster analysis for identifying suspicious activity sequences in software. In Proceedings of the 3rd International Workshop on Security and Privacy Analytics (IWSPA 2017), Scottsdale, AZ, 24 March 2017.

 

Ivan Ruchkin, Selva Samuel, Bradley Schmerl, Amanda Rico and David Garlan. Challenges in Physical Modeling for Adaptation of Cyber-Physical Systems. In Workshop on MARTCPS Models at Runtime and Networked Control for Cyber Physical Systems at IEEE World Forum on the Internet of Things, Reston, Virginia, 12-14 December 2016. Best Paper Award.

 

Bradley Schmerl, Jeffrey Gennari, Alireza Sadeghi, Hamid Bagheri, Sam Malek, Javier Cámara and David Garlan. Architecture Modeling and Analysis of Security in Android Systems. In Proceedings of the 10th European Conference on Software Architecture (ECSA 2016), Vol. 9839 of Lecture Notes in Computer Science, Springer, Copenhagen, Denmark, 30 November - 2 December 2016.

 

Ashutosh Pandey, Gabriel A. Moreno, Javier Cámara and David Garlan. Hybrid Planning for Decision Making in Self-Adaptive Systems. In Proceedings of the 10th IEEE International Conference on Self-Adaptive and Self-Organizing Systems (SASO 2016), Augsburg, Germany, 12-16 September 2016.

 

Gabriel A. Moreno, Javier Cámara, David Garlan and Bradley Schmerl. Efficient Decision-Making under Uncertainty for Proactive Self-Adaptation. In Proceedings of the 13th IEEE International Conference on Autonomic Computing (ICAC 2016), Würzburg, Germany, 19-22 July 2016. Best Paper Award.

 

Roykrong Sukkerd, Javier Cámara, David Garlan and Reid Simmons.  Multiscale Time Abstractions for Long-Range Planning under Uncertainty. In Proceedings of the 2nd ICSE Workshop on Software Engineering for Smart Cyberphysical Systems, Austin, Texas, 16 May 2016.

 

Roykrong Sukkerd, David Garlan and Reid Simmons. Task Planning of Cyber-Human Systems. In Proceedings of the 13th International Conference on Software Engineering and Formal Methods, Vol. 9276 of LNCS , Springer, York, UK, 7-11 September 2015.

 

Ivan Ruchkin, Bradley Schmerl and David Garlan. Analytic Dependency Loops in Architectural Models of Cyber-Physical Systems. In Proceedings of the 8th International Workshop on Model-based Architecting of Cyber-Physical and Embedded Systems, Ottawa, Canada, 28 September 2015.

 

Thomas J. Glazier, Javier Cámara, Bradley Schmerl and David Garlan. Analyzing Resilience Properties of Different Topologies of Collective Adaptive Systems. In Proceedings of the 3rd FoCAS Workshop on the Fundamentals of Collective Adaptive Systems, Boston, MA, USA, 21 September 2015.

 

Ivan Ruchkin, Ashwini Rao, Dio De Niz, Sagar Chaki and David Garlan. Eliminating Inter-Domain Vulnerabilities in Cyber-Physical Systems: An Analysis Contracts Approach. In Proceedings of the First ACM Workshop on Cyber-Physical Systems Security and Privacy, Denver, Colorado, 16 October 2015.

 

Gabriel A. Moreno, Javier Cámara, David Garlan and Bradley Schmerl. Proactive Self-Adaptation under Uncertainty: a Probabilistic Model Checking Approach. In Proceedings of the 10th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, Bergamo, Italy, 30 August - 4 September 2015.

 

Javier Cámara, Gabriel A. Moreno and David Garlan. Reasoning about Human Participation in Self-Adaptive Systems. In Proceedings of the 10th International Symposium on Software Engineering for Adaptive and Self-Managed Systems (SEAMS 2015), Florence, Italy, 18-19 May 2015.

 

Zack Coker, David Garlan, and Claire Le Goues. SASS: Self-adaptation using stochastic search. In Proceedings of the 10th International Symposium on Software Engineering for Adaptive and Self-Managed Systems (SEAMS 2015), Florence, Italy, 18-19 May 2015. Short paper.

 

Ivan Ruchkin, Bradley Schmerl and David Garlan. Architectural Abstractions for Hybrid Programs. Proceedings of the 18th International ACM SIGSOFT Symposium on Component-Based Software Engineering (CBSE 2015), May 2015.

 

Javier Cámara, David Garlan, Bradley Schmerl and Ashutosh Pandey. Optimal Planning for Architecture-Based Self-Adaptation via Model Checking of Stochastic Games. In Proceedings of the 10th DADS Track of the 30th ACM Symposium on Applied Computing, Salamanca, Spain, 13-17 April 2015.

 

Ivan Ruchkin, Dio De Niz, Sagar Chaki and David Garlan. Contract-Based Integration of Cyber-Physical Analyses. In Embedded Systems Week, 12-17 October 2014.

 

Javier Cámara, Antonia Lopes, David Garlan and Bradley Schmerl. Impact Models for Architecture-Based Self-Adaptive Systems. In Proceedings of the 11th International Symposium on Formal Aspects of Component Software (FACS2014), Bertinoro, Italy, 10-12 September 2014.

 

Paulo Casanova, David Garlan, Bradley Schmerl and Rui Abreu. Diagnosing Unobserved Components in Self-Adaptive Systems. In 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, Hyderabad, India, 2-3 June 2014.

 

Javier Cámara, Gabriel A. Moreno and David Garlan. Stochastic Game Analysis and Latency Awareness for Proactive Self-Adaptation. In 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, Hyderabad, India, 2-3 June 2014.

 

Vishal Dwivedi, David Garlan, Jürgen Pfeffer and Bradley Schmerl. Model-based Assistance for Making Time/Fidelity Trade-offs in Component Compositions. In 11th International Conference on Information Technology : New Generations (ITNG 2014), Special track on: MDCBSE: Model-Driven, Component-Based Software Engineering, Las Vegas, NV, 7-9 April 2014.

 

Bradley Schmerl, Javier Cámara, Jeffrey Gennari, David Garlan, Paulo Casanova, Gabriel A. Moreno, Thomas J. Glazier and Jeffrey M. Barnes. Architecture-Based Self-Protection: Composing and Reasoning about Denial-of-Service Mitigations. In HotSoS 2014: 2014 Symposium and Bootcamp on the Science of Security, Raleigh, NC, 8-9 April 2014.

 

Perla Velasco Elizondo, Vishal Dwivedi, David Garlan, Bradley Schmerl and Jose Maria Fernandes. Resolving Data Mismatches in End-User Compositions. In Proceedings of the 4th International Symposium on End-User Development, IT University of Copenhagen, Denmark, 10-13 June 2013.

 

Javier Cámara, Pedro Correia, Rogério De Lemos, David Garlan, Pedro Gomes, Bradley Schmerl and Rafael Ventura. Evolving an Adaptive Industrial Software System to Use Architecture-based Self-Adaptation. In Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, 20-21 May 2013. 

 

Paulo Casanova, David Garlan, Bradley Schmerl and Rui Abreu. Diagnosing architectural run-time failures. In Proceedings of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, 20-21 May 2013. 

 

Jeffrey M. Barnes and David Garlan. Challenges in Developing a Software Architecture Evolution Tool as a Plug-In. In Proceedings of the 3rd Workshop on Developing Tools as Plugin-Ins, San Francisco, CA, USA, 21 May 2013.

 

Paulo Casanova, Bradley Schmerl, David Garlan and Rui Abreu. Architecture-based Run-time Fault Diagnosis. In Proceedings of the 5th European Conference on Software Architecture, September 2011.

 

David Garlan, Vishal Dwivedi, Ivan Ruchkin and Bradley Schmerl. Foundations and Tools for End-User Architecting. In Large-Scale Complex IT Systems. Development, Operation and Management, 17th Monterey Workshop 2012, Oxford, UK, March 19-21, 2012, Vol. 7539:157-182 of Lecture Notes in Computer Science, Springer, 2012.

 

Vishal Dwivedi, Perla Velasco Elizondo, Jose Maria Fernandes, David Garlan and Bradley Schmerl.

An Architectural Approach to End User Orchestrations .In Proceedings of the 5th European Conference on Software Architecture, September 2011.

 

Bradley Schmerl, David Garlan, Vishal Dwivedi, Michael Bigrigg and Kathleen M. Carley. SORASCS: A Case Study in SOA-based Platform Design for Socio-Cultural Analysis. In Proceedings of the 33rd International Conference on Software Engineering, May, 2011.

 

Ajikya Bhave, Bruce Krogh, David Garlan and Bradley Schmerl. View Consistency in Architectures for Cyber-Physical Systems. In Proceedings of the 2nd ACM/IEEE International Conference on Cyber-Physical Systems, April 2011.

 

Ajikya Bhave, David Garlan, Bruce Krogh, Akshay Rajhans and Bradley Schmerl. Augmenting Software Architectures with Physical Components. In Proceedings of the Embedded Real Time Software and Systems Conference (ERTS2 2010), 19-21 May 2010. 

 

Ajikya Bhave, Bruce Krogh, David Garlan and Bradley Schmerl. Multi-domain Modeling of Cyber-Physical Systems using Architectural Views. In Proceedings of the 1st Analytic Virtual Integration of Cyber-Physical Systems Workshop, 30 November 2010.

 

David Garlan. Software Engineering in an Uncertain World. In Workshop on the Future of Software Engineering Research (FoSER), November 2010.

 

David Garlan and Bradley Schmerl. Ævol: A tool for defining and planning architecture evolution. In Proceedings of the 2009 International Conference on Software Engineering, 20-22 May 2009.

 

Sagar Chaki, Andres Diaz-Pace, David Garlan, Arie Garfunkel and Ipek Ozkaya. Towards Engineered Architecture Evolution. In Workshop on Modeling in Software Engineering 2009, May 2009.

 

David Garlan and Bradley Schmerl. Ævol: A tool for defining and planning architecture evolution
In Proceedings of the 2009 International Conference on Software Engineering, May 2009.

 

Joao Pedro Sousa, Rajesh Balan, Vahe Poladian, David Garlan and Mahadev Satyanarayanan.  User Guidance of Resource-Adaptive Systems. In ICSOFT'08 International Conference on Software and Data Technologies, Porto, Portugal, July 2008.

 

Joao Pedro Sousa, Bradley Schmerl, Vahe Poladian and Alex Brodsky. UDesign: End-User Design Applied to Monitoring and Control Applications for Smart Spaces. In Proceedings of the 2008 Working IFIP/IEEE Conference on Software Architecture, Vancouver, BC, Canada, 18-22 February 2008.

 

Orieta Celiku, David Garlan and Bradley Schmerl. Augmenting Architectural Modeling to Cope with Uncertainty. In Proceedings of the International Workshop on Living with Uncertainties (IWLU’07), co-located with the 22nd International Conference on Automated Software Engineering (ASE’07), Atlanta, GA, USA, 5 November 2007.  http://godzilla.cs.toronto.edu/IWLU/program.html.

 

Shang-Wen Cheng and David Garlan. Handling Uncertainty in Autonomic Systems. In Proceedings of the International Workshop on Living with Uncertainties (IWLU’07), co-located with the 22nd International Conference on Automated Software Engineering (ASE’07), Atlanta, GA, USA, 5 November 2007.   http://godzilla.cs.toronto.edu/IWLU/program.html.

 

Vahe Poladian, Mary Shaw and David Garlan. Modeling Uncertainty of Predictive Inputs in Anticipatory Dynamic Configuration. In Proceedings of the International Workshop on Living with Uncertainties (IWLU’07), co-located with the 22nd International Conference on Automated Software Engineering (ASE’07), Atlanta, GA, USA, 5 November 2007.

 

Vahe Poladian, David Garlan, Mary Shaw, Bradley Schmerl, Joao Pedro Sousa and Mahadev Satyanarayanan. Leveraging Resource Prediction for Anticipatory Dynamic Configuration. In Proceedings of the First IEEE International Conference on Self-Adaptive and Self-Organizing Systems, SASO-2007, Pages 214-223, 8-11 July 2007.

 

Thomas LaToza, David Garlan, James Herbsleb and Brad Myers. Program Comprehension as Fact Finding. In Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2007), Pages 361-370, Dubrovnik, Croatia, 3-7 September 2007. Available from the ACM Digital Library:  doi.acm.org/10.1145/1287624.1287675.

 

George Fairbanks, William Scherlis, and David Garlan. Design Fragments Make Using Frameworks Easier. Proceedings of ACM SIGPLAN Conference on Object Oriented Programs, Systems, Languages, and Applications (OOPSLA) 2006, Portland, OR, USA, 22-27 October 2006.

 

Jung Soo Kim and David Garlan. Analyzing Architectural Styles with Alloy. Workshop on the Role of Software Architecture for Testing and Analysis 2006 (ROSATEA 2006), Portland, ME, USA, 17 July 2006.

 

David Garlan and Bradley Schmerl. An Architecture for Personal Cognitive Assistance. In Proceedings of the 18th International Conference on Software Engineering and Knowledge Engineering, San Francisco Bay, USA, 5-7 July 2006.

 

Shang-Wen Cheng, David Garlan, and Bradley Schmerl. Architecture-based Self-adaptation in the Presence of Mutliple Objectives.  Proceedings of the ICSE 2006 Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), Shanghai, China, May 21-22, 2006.

 

João Pedro Sousa, Vahe Poladian, David Garlan, and Bradley Schmerl. Capitalizing on Awareness of User Tasks for Guiding Self Adaptation,. In Proceedings of the First International Workshop on Adaptive and Self-managing Enterprise Applications, at CAISE'05, Portugal, 2005.

 

Bradley Schmerl, Hong Yan, and David Garlan. DiscoTect: A System for Discovering Architectures from Running Systems (Demonstration). The 2005 Joint European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, Lisbon, Portugal, September 2005.

 

Marwan Abi-Antoun, Jonathan Aldrich, David Garlan, Bradley Schmerl, Nagi Nahas, and Tony Tseng. Modeling and Implementing Software Architecture with Acme and ArchJava (Research Demonstration). Proceedings of the 27th International Conference on Software Engineering, St. Louis, MS, May 2005.

 

David Garlan, William K. Reinholtz, Bradley Schmerl, Nicholas Sherman, and Tony Tseng. Bridging the Gap between Systems Design and Space Systems Software. Proceedings of the 29th Annual NASA/IEEE Software Engineering Workshop (SEW-29). IEEE Computer Society Press. April 2005.

 

Marco Autili, Paola Inverardi, Massimo Tivoli and David Garlan. Synthesis of "correct" adaptors for protocol enhancement in component based systems. Proceedings of the Specification and Verification of Component-Based Systems (SAVCBS'04). November 2004. Newport Beach , CA.

 

James Ivers, Paul Clements, David Garlan, Robert Nord, Bradley Schmerl, and Jaime Rodrigo Oviedo Silva. Documenting Architectural Connectors with UML 2. Proceedings of UML 2004.  October 2004.

 

Roshanak Roshandel, Bradley Schmerl, Nenad Medvidovic, David Garlan, and Dehua Zhang. Understanding Tradeoffs among Different Architectural Modelling Approaches, Proceedings of the 4th Working IEEE/IFIP Conference on Software Architectures, Oslo, Norway, June 11-14, 2004.

 

Barry Boehm, Jesal Bhuta, David Garlan, Eric Gradman, LiGuo Huang, Alexander Lam, Ray Madachy, Nenad Medvidovic, Kenneth Meyer, Steven Meyers, Gustavo Perez, Kirk Reinholtz, Roshanak Roshandel and Nicolas Rouquette. Using Empirical Testbeds to Accelerate Technology Maturity and Transition: The SCRover Experience. In International Symposium on Empirical Software Engineering (SESE), pages 117-126, IEEE Computer Society, Los Alamitos, CA, USA, 2004. ISBN 0-7695-2165-7.

 

Shang-Wen Cheng, An-Cheng Huang, David Garlan, Bradley Schmerl, and Peter Steenkiste. An Architecture for Coordinating Multiple Self-Management Systems. Proceedings of the 4th Working IEEE/IFIP Conference on Software Architectures, Oslo, Norway, June 11-14, 2004.

 

Vahe Poladian, David Garlan, Mary Shaw, and João Pedro Sousa. Dynamic Configuration of Resource-Aware Services. In Proceedings of the 26th International Conference on Software Engineering (ICSE26), Edinburgh, Scotland, May 23-28, 2004.

 

Hong Yan, David Garlan, and Bradley Schmerl. DiscoTect: A System for Discovering Architectures from Running Systems," In Proceedings of the 26th International Conference on Software Engineering (ICSE26), Edinburgh, Scotland, May 23-28, 2004.

 

Bradley Schmerl, and David Garlan. AcmeStudio: Supporting Style-Centered Architecture Devel­opment,". The 26th International Conference on Software Engineering (ICSE26), Edinburgh, Scotland, May 23-28, 2004.

 

Bridget Spitznagel and David Garlan. A Compositional Formalization of Connector Wrappers. The 2003 International Conference on Software Engineering (ICSE'03), Portland, Oregon, May 2003.

 

David Garlan, Serge Khersonsky, and Jung Soo Kim. Model Checking Publish-Subscribe Systems. The 10th International SPIN Workshop on Model Checking of Software (SPIN 03), Portland, Oregon, May 2003.

 

David Garlan, and Bradley Schmerl. Model-based Adaptation for Self-Healing Systems. ACM SIGSOFT Workshop on Self-Healing Systems (WOSS'02), November 2002.

 

Juergen Dingel, David Garlan, and Craig Damon. Bridging the HLA: Problems and Solutions. Sixth IEEE International Workshop on Distributed Simulation and Real Time Applications (DS-RT '02) Fort Worth, Texas, USA, October 11-13, 2002. pp. 33-42.

 

Shang-Wen Cheng, David Garlan, Bradley Schmerl, Peter Steenkiste, and Ningning Hu. Software Architecture-based Adaptation for Grid Computing. The 11th IEEE Conference on High Performance Distributed Computing (HPDC’02), Edinburgh, Scotland, July 2002.

 

Bradley Schmerl, and David Garlan. Exploiting Architectural Design Knowledge to Support Self-repairing Systems. The 14th International Conference on Software Engineering and Knowledge Engineering, Ischia, Italy, July 15-19, 2002.

 

Shang-Wen Cheng, David Garlan, Bradley Schmerl, João Pedro Sousa, Bridget Spitznagel, and Peter Steenkiste. Using Architectural Style as a Basis for Self-repair. Software Architecture: System Design, Development, and Maintenance (Proceedings of the 3rd Working IEEE/IFIP Conference on Software Architecture) Jan Bosch, Morven Gentleman, Christine Hofmeister, Juha Kuusela (Eds), Kluwer Academic Publishers, August 25-31, 2002. pp. 45-59.

 

João Pedro Sousa, and David Garlan. Aura: an Architectural Framework for User Mobility in Ubiquitous Computing Environments. Software Architecture: System Design, Development, and Maintenance (Proceedings of the 3rd Working IEEE/IFIP Conference on Software Architecture) Jan Bosch, Morven Gentleman, Christine Hofmeister, Juha Kuusela (Eds), Kluwer Academic Publishers, August 25-31, 2002. pp. 29-43.

 

Shang-Wen Cheng, David Garlan, Bradley Schmerl, João Pedro Sousa, Bridget Spitznagel, Peter Steenkiste, and Ningning Hu. Software Architecture-based Adaptation for Pervasive Systems. International Conference on Architecture of Computing Systems (ARCS'02): Trends in Network and Pervasive Computing, April 8-11, 2002. Published in Lecture Notes in Computer Science, Volume 2299, Schmeck, H., Ungerer, T., Wolf, L. (Eds).

 

David Garlan, Bradley Schmerl, and Jichuan Chang. Using Gauges for Architecture-Based Monitoring and Adaptation. In the Working Conference on Complex and Dynamic Systems Architecture, Brisbane, Australia, 12-14 December, 2001.

 

Bridget Spitznagel, and David Garlan. A Compositional Approach for Constructing Connectors. The Working IEEE/IFIP Conference on Software Architecture (WICSA'01), Royal Netherlands Academy of Arts and Sciences Amsterdam , The Netherlands, August 28-31, 2001.

 

Shang-Wen Cheng, and David Garlan. Mapping Architectural Concepts to UML-RT. Proceedings of the 2001 International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA'2001), Monte Carlo Resort, Las Vegas, Nevada, USA, June 2001.

 

Robert J. Allen, David Garlan, and James Ivers. Formal Modeling and Analysis of Component Integration Frameworks. Proceedings of the Sixth International Symposium on the Foundations of Software Engineering (FSE 6) (November 1998).

 

David Garlan. Software Architecture and Object-Oriented Systems. Proceedings of the IPSJ Object-Oriented Symposium 2000, August 2000.

 

David Garlan and Andrew Kompanek. Reconciling the Needs of Architecture Description with Object-Modeling Notations.. Proceedings of the Third International Conference on the Unified Modeling Language - <<UML>> 2000, York, UK, October 2000

 

David Garlan and Zhenyu Wang. A Case Study in Software Architecture Interchange. Proceedings of Coordination'99, Springer Verlag, 1999.

 

Juergen Dingel, David Garlan, Somesh Jha and David Notkin. Reasoning about Implicit Invocation. Proceedings of the Sixth International Symposium on the Foundation of Software Engineering (FSE 6) (November 1998).

 

Bridget Spitznagel and David Garlan. Architecture-Based Performance Analysis. Proceedings of the Tenth International Conference on Software Engineering and Knowledge Engineering (SEKE'98) (June 1998).

 

David Garlan, Robert T. Monroe, and David Wile. ACME: An Architecture Description Interchange Language. Proceedings of CASCON'97 (November, 1997). CASCON First-Decade High Impact Paper Award. November 2010.

 

Ralph Melton and David Garlan. Architectural Unification. Proceedings of CASCON'97 (November, 1997).

 

Robert Allen, Remi Douence, and David Garlan. Specifying Dynamism in Software Architectures. Proceedings of the Workshop on Foundations of Component-Based Software Engineering (September, 1997).

 

Robert Allen and David Garlan. Formal Modeling and Analysis of the HLA RTI. Proceedings of the 1997 Spring Simulation Interoperability Workshop (March 1997).

 

David Garlan. Style-Based Refinement. Proceedings of the Second International Software Architecture Workshop (ISAW2) (October 1997).

 

Robert T. Monroe and David Garlan. Style-based Reuse for Software Architectures. Proceedings of the Fourth International Conference on Software Reuse (April 1996).

 

Robert Allen and David Garlan. A Case Study in Architectural Modelling: The AEGIS System. Proceedings of the Eighth International Workshop on Software Specification and Design (IWSSD-8) (March 1996).

 

David Garlan, Robert Allen, and John Ockerbloom. Architectural Mismatch, or, Why it's hard to build systems out of existing parts. Proceedings of the 17th International Conference on Software Engineering (May 1995). Selected as one of the best papers of the conference.

 

David Garlan, Alan Brown, Daniel Jackson, Jim Tomayko, and Jeannette Wing. The CMU Master of Software Engineering Core Curriculum. Proceedings of the 8th Conference on Software Engineering Education}, Lecture Notes in Computer Science 895, Springer-Verlag, pp. 65-86 (April 1995). Also CMU-CS-93-180.

 

David Garlan, Robert Allen and John Ockerbloom. Exploiting Style in Architectural Design Environments. Proceedings of SIGSOFT'94: Foundations of Software Engineering (December 1994).

 

Robert Allen and David Garlan. Formalizing Architectural Connection. Proceedings of the Sixteenth International Conference on Software Engineering (ICSE-16) (May 1994). Best paper recognition.

 

Robert Allen and David Garlan. Beyond Definition/Use: Architectural of the Proceedings of the ACM Workshop on Interface Definition Interconnection Languages (January 1994). Published as SIGPLAN Notices, Vol 29, No 8.

 

Gregory Abowd, Robert Allen, and David Garlan. Using Style to Give Meaning to Software Architecture. Proceedings of SIGSOFT`93: Symposium on the Foundations of Software Engineering (December 1993). Selected as one of the best papers of the conference. Also

CMU-CS-95-111. 18 accepted out of 93

 

David Garlan and Curtis Scott. Adding Implicit Invocation to Traditional Programming Languages. Proceedings of the 15th International Conference on Software Engineering (May 1993). Also CMU-CS-92-217.

 

David Garlan, Linxi Cai, and Robert L. Nord. A Transformational Approach to Environment Specialization. Proceedings of the 5th ACM SIGSOFT Symposium on Software Development Environments (December 1992).

 

David Garlan. Formal Methods for Software Engineers: Tradeoffs in Curriculum Design. Proceedings of the 6th SEI Conference on Software Engineering Education (October 1992).

 

David Garlan, Mary Shaw, Chris Okasaki, Curtis Scott, and Roy Swonger. Experience with a Course on Architectures for Software Systems. Proceedings of the 6th SEI Conference on Software Engineering Education (October 1992).

 

Robert Allen and David Garlan. A Formal Approach to Software Architectures. Proceedings of IFIP'92, Elsevier Science Publishers B.V. (September 1992).

 

David Garlan and David Notkin. Formalizing Design Spaces: Implicit Invocation Mechanisms. VDM'91: Formal Software Development Methods. Lecture Notes in Computer Science 551, Springer-Verlag (October 1991).

 

David Garlan. Preconditions for Understanding. Proceedings of the Fourth International Workshop on Software Specification and Design. IEEE Computer Society Press (November 1991).

 

David Garlan and Ehsan Ilias. Low-cost, Adaptable Tool Integration Policies for Integrated Environments. Proceedings of SIGSOFT `90: Fourth Symposium on Software Development Environments. Irvine CA (December 1990). Also published as SIGSOFT Software Engineering Notes, Volume 15, No 6.

 

David Garlan. The Role of Formal Reusable Frameworks. Proceedings of the First ACM/SIGSOFT International Workshop on Formal Methods in Software Development, Napa CA (May 1990).

 

David Garlan and Norman Delisle. Formal Specifications as Reusable Frameworks. VDM'90: VDM and Z -- Formal Methods in Software Development. Kiel, Germany, Lecture Notes in Computer Science 428 , Springer-Verlag (April 1990).

 

Norman Delisle and David Garlan. Formally Specifying Electronic Instruments. Proceedings of the Fifth International Workshop on Software Specification and Design (May 1989).

 

Gail E. Kaiser and David Garlan. MELDing Data Flow and Object-Oriented Programming. Object-Oriented Programming Systems, Languages and Applications Conference Proceedings (OOPSLA 87) (September 1987). Earlier version of this work appeared as MELD: A Declarative Notation for Writing Methods. Proceedings of the Phoenix Conference on Computers and Communications (February 1987). Also published as Composing Software Systems from Reusable Building Blocks. Proceedings of the Twentieth Hawaii International Conference on System Sciences (January 1987).

 

David Garlan, Charles W. Krueger, and Barbara J. Staudt. A Structural Approach to the Evolution of Structure-Oriented Environments. Proceedings of the Second ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments (December 1986). Selected as one of the best three papers of the conference.

 

David Garlan and Phillip L. Miller. GNOME: An Introductory Programming Environment Based on a Family of Structure Editors. Proceedings of the First ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, Pittsburgh, PA (April 1984).

 

David Garlan. Views for Tools in Integrated Environments. Advanced Programming Environments: Proceedings of an International Workshop, Lecture Notes in Computer Science 244, Springer-Verlag, pp. 314-343 (1986).

 

 

Partially Refereed Conferences, Workshops, and Articles

 

Hemank Lamba, Thomas J. Glazier, Bradley Schmerl, Javier Cámara, David Garlan and Jürgen Pfeffer. A Model-based Approach to Anomaly Detection in Software Architectures (Poster) In Symposium on the Science of Security, Pittsburgh, PA, 19-21 April 2016.

 

Bradley Schmerl, Jeffrey Gennari, Javier Cámara and David Garlan. Raindroid - A System for Run-time Mitigation of Android Intent Vulnerabilities (Poster) In Symposium and Bootcamp on the Science of Security, Pittsburgh, PA, 19-21 April 2016.

 

Shang-Wen Cheng, David Garlan and Bradley Schmerl. RAIDE for Engineering Architecture-Based Self-Adaptive Systems. Poster in 2009 International Conference on Software Engineering, Vancouver, BC, Canada, 2009.

 

Orieta Celiku and David Garlan. Using Medical Devices to Teach Formal Modeling. In Joint Workshop on High Confidence Medical Devices, Software, and Systems (HCMDSS) and Medical Device Plug-and-Play (MD PnP) Interoperability, Boston, MA, 25-27 June 2007.

 

Marwan Abi-Antoun, Jonathan Aldrich, David Garlan, Bradley Schmerl, Nagi Nahas, and Tony Tseng. Improving System Dependability by Enforcing Architectural Intent. Proceedings of the 2005 Workshop on Architecting Dependable Systems (WADS 2005), St. Louis, MS, May 2005.

 

David Garlan, Vahe Poladian, Bradley Schmerl, and Joao Pedro Sousa. Task-based Self-adaptation. Proceedings of the ACM SIGSOFT 2004 Workshop on Self-Managing Systems (WOSS'04), Newport Beach, CA, Oct/Nov 2004.

 

David Garlan, and Bradley Schmerl. Using Architectural Models at Runtime: Research Challenges. Proceedings of the European Workshop on Software Architectures, St. Andrews, Scotland, May 2004.

 

Kevin Steppe, David Garlan, Greg Bylenok, Bradley Schmerl, Kanat Abirov, and Nataliya Shevchenko. Tool Support for Model Based Architectural Design for Automotive Control Systems. First European Workshop on Model Driven Architecture with Emphasis on Industrial Application, Enschede, The Netherlands, March 17-19, 2004.

 

Kevin Steppe, Greg Bylenok, David Garlan, Bradley Schmerl, Kanat Abirov, and Nataliya Shevchenko. Two-tiered Architectural Design for Automotive Control Systems: An Experience Report. Automotive Software Workshop on Future Generation Software Architectures in the Automotive Domain, San Diego, CA, January 10-12, 2004.

 

Vahe Poladian, Shawn Butler, Mary Shaw, and David Garlan. Time is Not Money: The case for multi-dimensional accounting in value-based software engineering. Fifth Workshop on Economics-Driven Software Engineering Research (EDSER-5), May 2003.

 

David Garlan, and Bradley Schmerl. Model-based Adaptation for Self-Healing Systems. ACM SIGSOFT Workshop on Self-Healing Systems (WOSS'02), pp 27-32, November, 2002.

 

David Garlan, Bradley Schmerl, and Jichuan Chang. Using Gauges for Architecture-Based Monitoring and Adaptation. In the Working Conference on Complex and Dynamic Systems Architecture, Brisbane, Australia, 12-14 December, 2001.

 

Vahe Poladian, David Garlan, and Mary Shaw. Selection and Configuration in Mobile Environments: A Utility-Based Approach. Fourth Workshop on Economics-Driven Software Engineering Research (EDSER-4), May 2002.

 

David Garlan and Mary Shaw. Software Development Assignments for a Software Architecture Course. Proceedings of the ICSE-16 Workshop on Software Engineering Education (May 1994).

 

David Garlan. Formal Approaches to Software Architecture. In Proceedings of the Workshop on Studies of Software Design (May 1993). Published as Queen's University Department of Computing and Information Science Technical Report, ISSN-0836-0227-93-352.

 

David Garlan. Extending IDL to Support Concurrent Views. ACM SIGPLAN Notices Special Issue on the Interface Description Language IDL, 20,11 (November 1987).

 

R. Chandhok, D. Garlan, D. Goldenson, M. Tucker, and L. Miller. Programming Environments Based on Structure Editing: The GNOME Approach. Conference Proceedings of the 1985 National Computer Conference, Chicago IL, (July 1985).

 

 

Invited Papers, Un-refereed Reports, Papers, Posters, and Position Papers

 

Ryan Wagner, David Garlan and Matthew Fredrikson. Poster: Quantitative Underpinnings of Secure, Graceful Degradation. In Proceedings of the 2018 Symposium of Hot Topics in the Science of Security, Raleigh, North Carolina, 10-11 April 2018.

 

Thomas J. Glazier, Bradley Schmerl, Javier Cámara and David Garlan. Utility Theory for Self-Adaptive Systems. Technical report, CMU-ISR-17-119, Carnegie Mellon University Institute for Software Research, December 2017. http://reports-archive.adm.cs.cmu.edu/anon/isr2017/abstracts/17-119.html.

 

Ryan Wagner, Matthew Fredrikson and David Garlan. An Advanced Persistent Threat Exemplar. Technical report, CMU-ISR-17-100, Institute of Software Research, Carnegie Mellon University, July 2017. http://reports-archive.adm.cs.cmu.edu/anon/isr2017/abstracts/17-100.html.

 

Javier Cámara, David Garlan, Won Gu Kang, Wenxin Peng and Bradley Schmerl. Uncertainty in Self-Adaptive Systems. Technical report, CMU-ISR-17-110, Institute for Software Research, Carnegie Mellon University, July 2017. http://reports-archive.adm.cs.cmu.edu/anon/isr2017/abstracts/17-110.html.

 

David Garlan, Nicolas D’Ippolito and Kenji Tei. The 2nd Controlled Adaptation of Self-Adaptive Systems Workshop (CASaS2017) Technical report, NII-2017-10, National Institute of Informatics, 24-28 July 2017.David Garlan. Foreword to the book Managing Trade-offs in Adaptable Software Architectures, Elsevier, 2016.

 

David Garlan. Software Architecture: A Travelogue. In Proceedings of the on Future of Software Engineering, International Conference on Software Engineering, Hyderabad, India. Pages 29--39, ACM, New York, NY, May 2014.

 

Joao Pedro Sousa, Vahe Poladian, David Garlan, Bradley Schmerl and Peter Steenkiste. Steps toward Activity-Oriented Computing. In Proceedings of the 2008 NSF Next Generation Software Program Workshop, Miami, FL, 14 April 2008.

 

David Garlan and Bradley Schmerl. Architecture-driven Modelling and Analysis. In Tony Cant editor, Proceedings of the 11th Australian Workshop on Safety Related Programmable Systems (SCS'06), Vol. 69 of Conferences in Research and Practice in Information Technology, Melbourne, Australia, 2006.

 

David Garlan and Bradley Schmerl. Using Architectural Models at Runtime: Research Challenges. Proceedings of the European Workshop on Software Architectures, St. Andrews, Scotland, May 2004.

 

Nicolas Rouquette, Nenad Medvidovic, and David Garlan. "Dependable Autonomous Systems = knowing well what to do + knowing how to do it well." In Proceedings of the NASA High Dependability Computing Consortium Workshop, NASA AMES, Moffett Field, CA, January 10-12, 2001. Refereed position paper.

 

David Garlan and Bradley Schmerl. Component-Based Software Engineering in a Pervasive Computing Environment. The 4th ICSE Workshop on Component-Based Software Engineering: Component Certification and System Prediction, Toronto, Canada, May 14-15, 2001. Refereed position paper.

 

Vahe Poladian, Shawn Butler, Mary Shaw, and David Garlan. Time is Not Money: the case for multi-dimensional accounting in value-based software engineering. Position paper for 5th International Workshop on Economics-Driven Software Engineering Research (EDSER-5). pp. 19-24, May, 2000.

 

David Garlan. Pervasive Computing and the Future of CSCW Systems, A Position Paper for the CSCW2000 Workshop on Software Architectures for Cooperative Systems, November, 2000.

 

David Garlan. Higher Order-Connectors. Presented at the Workshop on Compositional Software Architectures, Monterey, CA, January 6-7, 1998. Refereed position paper.

 

David Garlan. Research Directions in Software Architecture. ACM Computing Surveys 27(2) (June 1995). Invited position paper.

 

David Garlan (editor). Workshop summary for the First International Workshop on Software Architecture. ACM Software Engineering Notes, pages 84-89 (July 1995).

 

David Garlan (editor). Proceedings of the First International Workshop on Architectures for Software Systems (April 1995). Also CMU-CS-95-151.

 

David Garlan, Frances Paulisch, and Walter Tichy. Software Architectures, Report of the Dagstuhl Seminar 9508. Dagstuhl-Seminar-Report No 105, Internationales Begegnungs- und Forschungszen­trum (IBFI), Schloss Dagstuhl, Germany, 1995. http://www.dagstuhl.de/9508/

 

David Garlan. What is Style? Proceedings of the First International Workshop on Architectures for Software Systems. (April 1995). Position paper. Also appeared in Proceedings of the Dagstuhl Workshop on Software Architecture", Saarbruecken, Germany (February 1995). Also CMU-CS-95-151.

 

David Garlan. Integrating Formal Methods into a Professional Master of Software Engineering Program. Proceedings of the Z Users Meeting (June 1994). Invited paper.

 

David Garlan and Dewayne Perry. Introduction to the Special Issue on Software Architecture. IEEE Transactions on Software Engineering 21(4) (April 1995).

 

David Garlan and Dewayne Perry. Software Architecture: Practice, Potential, and Pitfalls. Proceedings of the Sixteenth International Conference on Software Engineering} (May 1994). Panel introduction.

 

David Garlan. The Role of Software Architecture in Requirements Engineering. Proceedings of the Second International Conference on Requirements Engineering} (April 1994). Invited position paper.

 

David Garlan. Integrating Formal Methods into a Professional Master of Software Engineering Program. Proceedings of the 8th Z Users Meeting, Springer-Verlag, Workshops in Computing Series (June 1994). Invited paper.

 

David Garlan. Using Refinement to Understand Architectural Connection. Invited paper. Proceedings of the Sixth Refinement Workshop, Springer-Verlag, Workshops in Computing Series (January 1994). Invited paper.

 

David Notkin, David Garlan, William G. Griswold, and Kevin Sullivan. Adding Implicit Invocation to Languages: Three Approaches. Proceedings of the JSSST International Symposium on Object Technologies for Advanced Software} (November 1993). Invited paper.

 

David Garlan. Domain Specifications Require First Class Connectors. Proceedings of the IEEE International Symposium on Requirements Engineering San Diego, CA (January 1993).

Position paper.

 

David Garlan. Development Environments for Software Architecture. In Information Processing 92: Algorithms, Software, Architecture (Proceedings of IFIP 12th World Computer Congress)

(September 1992). Position paper.

 

Bob Balzer, Jim Purtilo, Rick Snodgrass, Paul Hudak, David Garlan, Dewayne Perry, Rich Gerber. Module Interconnection Formalisms. Report by the DARPA MIF Working Group to the DARPA Prototech and Domain-Specific Sofware Architectures Programs (August 1992).

 

David Garlan. Research Challenges in Software Engineering: Software Architecture. In Proceedings of the Dagstuhl International Workshop on the Future of Software Engineering, Saarbruecken, Germany (February 1992). Reprinted in ACM Software Engineering Notes (January 1993). Position Paper.

 

A. Nico Habermann, David Garlan, and David S. Notkin. Generation of Integrated Task-Specific Programming Environments. In CMU Computer Science: A 25th AnniversaryCommemorative}. ACM Anthology Series. Addison-Wesley (1991). Invited paper.

 

David Garlan. Formal Models of Software Architectures. In Proceedings of the Workshop on Domain-Specific Software Architectures. DARPA and the Software Engineering Institute Special Report (July, 1990). Position paper.

 

David Garlan. The Role of Formalized Domain-Specific Frameworks. In Proceedings of the Fifth International Software Process Workshop (October 1989). Position paper.

 

Technical Reports and Misc. (not otherwise published)

 

Ivan Ruchkin, Joshua Sunshine, Grant Iraci, Bradley Schmerl and David Garlan. Appendix for IPL: An Integration Property Language for Multi-Model Cyber-Physical Systems. 2018. Paper Reference.

 

Ivan Ruchkin, Vishal Dwivedi, David Garlan and Bradley Schmerl. Architectural Modeling of Ozone Widget Framework End-User Compositions. Technical report, Technical Report CMU-ISR-14-108, Institute for Software Research, Carnegie Mellon University, Pittsburgh, PA, June 2014.

 

Computer Science for Practicing Engineers: Computer Science for Everyone Else. David Garlan and Anthony Lattanze.  Technical report, CMU-ISR-11-115, Institute for Software Research, School of Computer Science, Carnegie Mellon University, 2011.

 

David Garlan. Evolution Styles: Formal foundations and tool support for software architecture evolution. Technical report, CMU-CS-08-142, School of Computer Science, Carnegie Mellon University, June 2008.

 

Chris Pride. Extending Aura with an Augmented Reality Interface. Undergraduate Thesis, 2007.

 

Marwan Abi-Antoun, Jonathan Aldrich, Nagi Nahas, Bradley Schmerl, David Garlan. Differencing and Merging of Architectural Views. CMU Technical Report CMU-ISRI-05-128, August 2005.

 

Bradley Schmerl, Jonathan Aldrich, David Garlan, Rick Kazman, and Hong Yan. DiscoTect: A System for Discovering the Architectures of Running Systems Programs Using Colored Petri Nets, Carnegie Mellon University School of Computer Science Technical Report CMU-CS-06-109, 2006.

 

Hong Yan, Jonathan Aldrich, David Garlan, Rick Kazman, and Bradley Schmerl. Discovering Architectures from Running Systems: Lessons Learned. Software Engineering Institute Technical Report CMU-SEI-2004-TR-016, 2004.

 

James Ivers, Paul Clements, David Garlan, Richard Nord, Bradley Schmerl, and Jaime Oviedo Documenting Component and Connector Views with UML 2.0, Software Engineering Institute Technical Report CMU-SEI-2004-TR-008, April, 2004.

 

George Fairbanks, David Garlan, Balaji Sarpeshkar, Reid Simmons, Gil Tolle, and Jeannette M. Wing. Reasoning About Exceptions Using Model Checking. Carnegie Mellon University School of Computer Science Technical Report, CMU-CS-02-165, August 2002.

 

Juergen Dingel, David Garlan, and Craig A. Damon. A feasibility study of the HLA bridge. Carnegie Mellon University School of Computer Science Technical Report CMU-CS-01-103, March, 2001.

 

Felix Bachmann, Len Bass, Jeromy Carriere, Paul Clements, David Garlan, James Ivers, Robert Nord, and Reed Little. Software Architecture Documentation in Practice: Documenting Architectural Layers. Carnegie Mellon University, Software Engineering Institute Special Report CMU/SEI-2000-SR-004, March 2000.

 

David Garlan and João Pedro Sousa. Documenting Software Architectures: Recommendations for Industrial Practice. Carnegie Mellon University School of Computer Science Technical Report CMU-CS-00-169, October 2000.

 

Craig Damon, Raplph Melton, Elizabeth Bigelow, Jams Ivers and David Garlan. Formalizing a Specification for Analysis: The HLA Ownership Properties. CMU School of Computer Science Technical Report CMU-CS-99-126, 1999.

 

Mary Shaw, David Garlan, Robert Allen, Dan Klein, John Ockerbloom, Curtis Scott, and Marco Schumacher. Candidate Model Problems in Software Architecture. Discussion draft 1.2 in circulation for development of community consensus (November 1994).

 

David Garlan and Mary Shaw. Characteristics of Higher Level Languages for Software Architecture. CMU School of Computer Science Technical Report CMU-CS-94-210 (December 1994).

 

David Garlan, Mary Shaw and Jose Galmes. Experience With a Course on Architectures for Software Systems---Part II: Educational Materials. CMU School of Computer Science Technical Report CMU-CS-94-178 (August 1994).

 

David Garlan, Mary Shaw, Chris Okasaki, Curtis M. Scott, and Roy F. Swonger. Experience With a Course on Architectures for Software Systems---Part I: Course Description. (August 1992). CMU School of Computer Science Technical Report CMU/SEI-92-TR-17 (also ESC-TR-92-017).

 

David Garlan. Views for Tools in Integrated Environments. Technical Report CMU-CS-86-147, Ph.D. Thesis, Department of Computer Science, Carnegie Mellon University (May 1987).

 

David Garlan. Flexible Unparsing in a Structure Editing Environment. Technical Report CMU-CS-85-129, Department of Computer Science, Carnegie Mellon University (April 1985).

 

David Garlan. DemoGen: A Development System for Demonstration Programs. In The Second Compendium of Gandalf Documentation. Department of Computer Science, Carnegie Mellon University (May 1982).


 

Software Artifacts

 

SORASCS: An architectural framework and integration platform, based on service-oriented architectures, for socio-cognitive systems modeling and analysis.

                                                                                                               

RADAR: A system supporting cognitive assistance for complex tasks.

 

Aura: A system supporting mobile users in pervasive computing environments.

 

DiscoTect: A tool for “discovering” software architectures by dynamically monitoring a running system.

 

Rainbow: Infrastructure to support self-healing systems, including run-time support for monitoring a system at the architectural level, detecting problem and opportunities for adaptation, and effecting system repairs.

 

AcmeStudio: An architect’s workbench, supporting the development and analysis of software architectures. Allows one to define architectural styles by specializing a common generic infrastructure.

 

Acme: An architectural interchange language. Supports efficient interchange of architectural descriptions between different tools. Allows researchers in software architecture community to

exchange designs, exploit others' tools, develop new architectural description languages. Developed with David Wile at ISI (CMU, 1995-present). Also developed Acme-to-UML-RT translators.

 

Wright: A specification language for software architecture. The language supports description of connectors as explicit semantic entities, provides formal rules for checking of completeness and consistency, and a tool suite (based on commercial model checking technology) that automates these checks. (CMU, 1993-present).

 

Aesop: A generator for software architecture design environments. The system allows an environment implementor to provide an architectural style description. It then produces an open, integrated environment to support construction of systems in that architectural style. (CMU, 1992-present)

 

ASCENT: A tool for specializing programming environments to support application frameworks. Allows an environment designer to transform the grammar of a programming language  into one specialized  for  a  particular  application domain.  The output of  the tool is

a programming environment for the specialized language, together with a semi-automatically generated transformer for converting programs in that environment into those of the original environment. (CMU, 1992)

 

Broadcast-Ada: An augmented version of Ada that supports selective broadcast. The user of this language can declare events, register procedures with events, and announce events. Uses a preprocessor translate programs to Ada for execution. (CMU, 1992)

 

The Forest Software Development Environment: A tool integration framework that supports implicit tool invocation through selective broadcast, controlled by dynamically configurable policies of tool interaction (Tektronix/CMU, 1989-90).

 

The Z Engineering Environment (ZEE): An environment for constructing formal specifications in the Z specification language. With Norman Delisle and Mayer Schwartz (Tektronix, 1988).

 

TransformGen: An environment for transforming formal descriptions of programming environments. Now a major component of the Gandalf System of tools for environment generation, distributed widely to universities and industry. With Barbara Staudme t Lerner, Charles Krueger, and Robert Stockton (CMU, 1987).

 

Gnome: A programming environment generator which has been used to build novice programming environments for the Karel, Pascal, Fortran programming languages. These environments are now being marketed commercially. All three have been used for 9 years in the introductory programming classes at Carnegie Mellon University and other major universities. With R. Chandhok, M. Tucker, D. Goldenson, and P. Miller (CMU, 1987).

 

The CMU Calendar Board System: An interactive distributed calendar management system, used at CMU by over 500 people to coordinate the department's activities (CMU, 1986).

 

DemoGen: A system to generate CAI-like demonstrations of research prototypes (CMU, 1983).

 

 

Short Courses and Tutorials

 

Software Architecture: Principles and Practices (2005-2021)

      Delivered to Samsung Electronics, NASA JPL and Langley Centers, Raytheon Corp, Boeing Corp.

 

Documenting Software Architectures

25th International Conference on Software Engineering (ICSE-25), May 2003. Full-day tutorial.

 

Modeling and Analysis of Software Architecture

Lugano Summer School on Dependable Software Systems, July 17-22, 2006.

3rd School on Formal Methods, Bertinoro, Italy, September 2003.

6th European Software Engineering Conference, and 5th ACM SIGSOFT Symposium on the Foundations of Software Engineering.Half-day Tutorial, September 1997.

 

Architectures for Software Systems

Lipari Summer School, Lipari, Italy. 5-day course on Software Architecture (July 2002).

Turku Summer School, Turko, Finland. 5-day course on Software Architecture (July 2001).

 

SIGSOFT'94: Symposium on the Foundations of Software Engineering

Half-day Tutorial (December 1994). 5-day course on Software Architecture (July 2001).

 

15th International Conference on Software Engineering (ICSE-15), SIGSOFT'93: Symposium on the Foundations of Software Engineering. Half-day Tutorial (December 1993). 12 selected out of 56 proposals.

 

International Conference on Computer Aided Design (ICCAD'92) Half-day Tutorial (November 1992).

 

International Conference on Software Engineering and Knowledge Engineering (SEKE'92) Half-day Tutorial (June 1992).

 

Software Engineering

SEEK Short Course in Software Engineering, Summers of 2001,2002, 2003.

Bellcore Continuing Education Program (1992-93).

 

Formal Methods in Software Engineering

Software Engineering Institute, Continuing Education Series (1992)

Software Process Management (1991).

 

Formal Specification using Z

Software Engineering Institute, Continuing Education Series

National Video Dissemination Program -- Guest Video Lecture (1991)

Software Requirements Engineering Series.

 

Advanced Software Development Environments

     Tampere University, Finland, International Visitor Series Week course

     (November 1987).

 

 

Invited Presentations (Recent)

 

Foundations and Applications of Self* Systems (FAS*) 2017, Tucson AZ October 2017

   Keynote: Human-machine Synergy: bringing humans and autonomy into balance.

 

Portland State University, January 2017

   Invited lecture: Self-Adaptive Systems.

 

Maladalen University,Sweden, October 2016

   Invited lecture: Self-Adaptive Systems.

 

LADC 2016 (Latin-American Symposium on Dependable Computing), Cali, Colombia, October 2016

   Keynote: Self-Adaptive Systems.

 

University of Illinois Urbana-Champagne, October 2016

  Distinguished Lecture: Improving Resilience through Analysis and Generation of Adaptation Strategies.

 

First International Workshop on Bringing Architecture Design Thinking into Developers' Daily Activities (Bridge'16) at the 38th International Conference on Software Engineering, May 14 - 22, 2016.

 Keynote: Reflections on the Past, Present, and Future of Software Architecture

 

4th International Conference on Software Process Improvement, Mazatlán, Mexico, October 2015

  Keynote: Self-Adaptive systems

 

NASA Jet Propulsion Lab, July 2015

  Invited talk: Identifying and resolving consistency issues between model representations

 

2nd Latin-American School on Software Engineering (ELA-ES 2015) Porto Alegre, Brazil, June 2015

  Invited talk: Self-Adaptive Systems

 

Zhejiang University, Hangzhou, China, July 2015.

  Invited talk: Software Architecture: A Travelogue

 

The International Workshop on Software Engineering for Smart Cyber-Physical Systems (SEsCPS), Florence, Italy. May 2015

  Keynote: Modeling Challenges for Cyber-Physical Systems

 

The Future of Software Engineering, Hyderabad, India, May 2014.

   Invited talk: Software Architecture: A Travelogue

 

Central and Eastern European Software Engineering Conference in Russia - CEE-SEC(R), October 2014

   Keynote: Self-healing Systems

 

The International Conference of Software Engineering, Huelva, Spain, June 2013.

   Keynote: Software Architecture: Past, Present, and Future

 

8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2013), San Francisco, CA, May 2013.

  Keynote: A 10-year Perspective on Software Engineering Self-Adaptive Systems

 

Software People Conference, Moscow, Russia. April 2013. 

  Keynote: Software Architecture: Reflections on an Evolving Discipline

 

The University of California at Irvine Institute for Software Research Distinguished Speaker Series, Irvine CA. February, 2012.

  Distinguished Lecture: End-User Architecting.

 

The 2nd International Conference on Knowledge Intensive Service Industry. November 2012, Seoul, South Korea.

  Keynote: “Beyond Service-Oriented Architectures: End-User Architecting”

 

MIT Lincoln Laboratory, Software Engineering Symposium. October 2011, Boston, MA.

  Invited talk: “Multi-domain Modeling of Cyber-Physical Systems”

 

European Conference on Software Engineering (ESEC) co-located with ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE). Szeged, Hungary. September 2011.

  Keynote:” Software Architecture: Reflections on an Evolving Discipline”

 

2011 Fifth International Conference on Secure Software Integration and Reliability Improvement
Companion (SSIRI-C 2011) June 2011, Jeju Island, South Korea.

  Keynote: “Engineering Self-healing and Self-improving Systems”

 

Purdue University Distinguished Lecture Series (November 2010)

 Distinguished Lecture: “Engineering Self-healing and Self-improving Systems”

 

39th JAIIO (Jornadas Argentinas de Informática), Buenos Aires, Argentina (Sept. 2010)

 Invited talk: “An Architectural approach to Cyber-Physical Systems”

 

Argentine Symposium on Software Engineering (ASSE 2010), Buenos Aires, Argentina (Sept. 2010)

 Keynote: Improving Software Quality Through Software Architectures

 

KAIST, Dejeon, Korea (March 2010)

  Invited talk: “Why Study Computer Science”

 

23rd Annual IEEE-CS Conference on Software Engineering Education and Training (CSEET) Pittsburgh, PA (March 2010)

  Keynote: “The Changing Face of Software Architecture ... and what that means for educators”

 

23rd Brazilian Symposium on Software Engineering (SBES), Fortaleza, Brazil (October 2009)

  Keynote: “Rainbow:  Engineering Support for Self-Healing Systems”

 

5th International Conference on the Quality of Software Architectures (QoSA09) (June 2009)

  Keynote: “Rainbow:  Engineering Support for Self-Healing Systems”

 

University of Coimbra, Portugal. (September 2007).

   Keynote: “Software Engineering Education for Agents of Change”

 

2007 European Conference on Software Architecture (ECSA 2007), Aranjuez, Spain. (September 2007).

   Keynote: “Software Architectures for Task-Oriented Computing”

 

International Conference on Emerging Trends in High Performance Architecture, Algorithms & Computing, Chennai, India (July 2007).
   Keynote: “Architecture-driven Modelling and Analysis for Reliability and Performance”

Conference on Software Engineering and Databases (ISBD), Sitges, Spain (October 2006).

    Keynote: “Software Architecture: Past, Present, and Future”

 

Australian Workshop on Safety Related Programmable Systems, Melbourne (August 2006).

    Keynote: “Software Architectures for Highly Dependable Systems”

 

ETRI, Daijeon, South Korea (November 2006).

     Invited talk: “Software Architectures for Task-Oriented Computing”

 

SK C&C, Seoul, South Korea  (November 2006).

     Invited talk: “Software Architecture: Principles and Myths”

 

Lugano Summer School on Dependable Software Systems, University of Lugano, Switzerland (July 17–22, 2006).

    Invited lecture series: “Software Architecture for Dependable Systems”

 

Microsoft Regional Architects Forum (RAF) in Punta del Este, Uruguay (May 2006).

    Invited talk: “Software Architecture: Practice and Potential”

 

Day of Software Engineering, University of Buenos Aires (May 2006).

    Invited talk: “Research Challenges in Software Architecture”

 

Samsung Electronics, Seoul, Korea (November 2005)

     Invited talk: “Software Architecture: Problems, Perspectives, and Promise”

 

University of Texas, Dallas (October 2005)

     Distinguished lecture: “Software Architecture: Past, Present, and Future”

 

University of Buenos Aires, Argentina (March 2005).

     Invited talk: “The Masters in Software Engineering Program”.

 

NASA Jet Propulsion Lab, Pasadena, California (February 2004)

     Distinguished Lecture: “Software Architecture: Today and Tomorrow”

 

Korean Software Institute, Seoul, Korea, (November 2004)

     Keynote: “Software Architecture: Practice and Potential”

 

UML 2002, Dresden, Germany, (October 2002)

     Keynote: “Software, Heal Thyself”

 

1st International Symposium on Formal Methods for Components and Objects (FMCO’02), Leiden, The Netherlands (November 2002)

     Invited talk: “Towards Reliable Self-Healing Systems”

 

Williams College (February 2001)

     Distinguished Lecture: “Software Challenges for Ubiquitous Computing”

 

Columbia University, New York (January 2001)

Distinguished Lecture: “Next Generation Architectures: Recent Research and Future Directions”

 

 

SIGSOFT'95: The 3rd Symposium on Foundations for Software Engineering,

   Washington, DC (October 1995)

   Panel chair: "Software Architecture: Towards an Engineering Discipline for

   SW Systems Design"

 

STISS'95: ARPA/SISTO Software Technology and Intelligent Systems Symposium,

   Chantilly, VA (August 1995)

   Invited speaker: "Software Composition"

 

STC'95: Software Technology Conference, Salt Lake City, UT (May 1995)

   Invited speaker: "Software Composition at CMU"

 

University of Oregon, Eugene, OR (May 1995)

   Invited talk: "Design Environments for Software Architecture"

 

Oregon Graduate Institute, Beaverton, OR (May 1995)

   Invited talk: "Formalizing Software Architecture"

 

Ford Motor Company, Detroit, MI (April 1995)

   Invited talk: "Architectural Styles for Industrial Development"

 

Siemens Corporation, Princeton, NJ (January 1995)

   Invited talk: "The Practice of Software Architecture"

 

Symposium on the Use of COTS in Systems Integration, SEI, Pittsburgh, PA (January 1995)

   Panel Member: "Software Architecture Panel"

   Invited talk: "Software Architecture: Practice and Potential"

 

INRS-Tellecommunications/BNR, Quebec, Canada (November 1995)

 

Honeywell Corporation, Minneapolis, MN (March 1994)

 

Bell-Northern Research, Ottawa, Canada (October 1994)

 

HP Labs, Hewlett-Packard, Palo Alto, CA (October 1994

 

The 9th Intl. Symp. on Computer and Information Sciences (ISCIS IX)

   Antalya, Turkey (November 1994)

   Keynote address: "Software Architecture: Practice and Potential"

 

16th International Conference on Software Engineering (May 1994)

   Panel Chair: "Software Architecture: Practice, Potential, and Pitfalls"

 

Requirements Engineering 1994 (RE'94), Colorado Springs, CO (April 1994)

   Panel member: "The Relationship between Requirements Engineering and SW Architecture"

 

Z Users Meeting, Cambridge, England (June 1994) "

 

Refinement Workshop, London, England (January 1994)

   Keynote address: "Using Refinement to Understand Architectural Connection"

 

IEEE International Symposium on Requirements Engineering,

   San Diego, CA (January 1993)

   Panel Chair: "Should We Specify Systems or Domains?"

 

National Security Agency, Washington, DC. (December 1992)

   Invited talk: Formal Approaches to Software Architecture

 

IFIP World Congress, Madrid, Spain (September 1992)

   Panel Chair: "Advances in Formal Methods''

   Panel Member: "Future Software Development Environments"

 

DARPA Domain Specific Software Architectures Workshops Jackson Hole, WY (April 1992)

   Invited talk: A Case Study in Industrial Software Architecture

  

Portland, Maine (August 1992)

   "Architectural Design with First Class Connectors"

 

Professional Activities

 

·       Program Committee and General Chair

Program Co-chair: ECSA2018; The 12th European Conference on Software Architecture, Madrid, Spain. September 2018.

General Chair: SEAMS 2017: The 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems. May 2017

Workshop Co-chair, 17th Monterey Workshop: Development, Operation and Management of Large-Scale Complex IT Systems, Oxford England, March 2012.

Workshop Co-chair, Architectures for Cyber-Physical Systems (part of CPS Week), April 2011.

Program Co-chair, 2008 IEEE/IFIP Working International Conference on Software Architecture (WICSA’08).

Program Co-chair, ICSE 2006 Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’06).

Program Co-chair, 2nd ACM SIGSOFT Workshop on Self-Managed Systems
(WOSS’04), Newport Beach, CA, October 2004.

Program Co-chair, 1st  ACM SIGSOFT Workshop on Self-Healing Systems
(WOSS’02), Charleston, SC, November 2002.

Program Co-chair, 1999 International Conference on Software Engineering
(ICSE'99) Los Angeles, CA, May 1999.

Program Co-chair, Coordination'97: Second Intl. Conf. on Coordination Models and
Languages Geneva, September 1997.

Program Chair, ACM SIGSOFT'96: International Symposium on the Foundations of Software Engineering (FSE-4), San Francisco, CA, December 1996.

Program Chair, First International Workshop on Software Architecture,
Seattle WA, April 1995.

Co-organizer, 1995 Dagstuhl Workshop on Software Architecture, Saarbruecken,
Germany, February 1995.

 

·       Steering Committee Member

European Conference on Software Architecture (ECSA), 2018-present.

Software Engineering for Adaptive and Self-Managing System (SEAMS), 2006-present.

Working International Conference on Software Architecture (WICSA), 2008-2012.

Selection committee for the Linda Northrop Software Architecture Award, 2016.

 

·       Program Committee Member (Selected)

IEEE/IFIP Working International Conference on Software Architecture (WICSA) 2002-2017.

Self-Organizing and Self-Adaptive Systems (SASO): 2007, 2008, 2009.

ACM/IEEE International Conference on Software Engineering (ICSE): 1992, 1994, 1995, 1997, 1999, 2002-2006, 2008, 2010, 2011, 2013, 2015.

Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS’06-‘21)

Engineering of Autonomic Systems at 11th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ECBS 2004). Brno, Czech Republic, May 2004.

International Conference on Autonomic Computing (ICAC-04). In conjunction with the 13th International World Wide Web Conference, New York, NY, May 17-18, 2004.

Fundamental Approaches to Software Engineering (FASE'04). Barcelona, Spain, March 29-31, 2004.

ACM SIGSOFT Symposium on the Foundations of SW Engineering (FSE): 1993, 1996, 2002, 2003, 2009.

ISCIS XII: The 12th Intl Symposium on Computer and Information Sciences, October, 1997.

The 5th Symposium on the Foundations of SW Engineering/European SW Engineering

Conf, Sept 1997.

Coordination'96: First Intl. Conf. on Coordination Models and Languages

     Cesena, Italy, April 1996.

The 8th International Workshop on Software Specification and Design (IWSSD-8),

     March 1996. 

 

·       Referee or reviewer:

 

National Science Foundation, Communications of the ACM, ACM Transactions on Programming Languages and Systems, ACM Computing Surveys, ACM Transactions on Software Engineering and Methodology, ACM Transactions on Autonomous and Adaptive Systems, IEEE Transactions on Software Engineering, Journal of Software and Systems, IEEE Software, IEEE Computer, Software Practice & Experience, Science of Computer Programming, National Science Foundation, Australian Research Council, Army Research Office.

 

·       Elected Positions: Member at Large for ACM SIGSOFT, 1997-1999.

 

·       Recognition of Service:

                ACM Recognition of Service Awards, October 1996, May 1999, June 2001, November 2002.

           Marquis Who’s Who Lifetime of Achievement Award 2017

 

·       Consulting

NASA, 2006-present

Winston & Strawn, 2014-2015

Hughes, Hubbard & Reed, 2010-2011

Internal Revenue Service, 2008-2009

Samsung Electronics, 2005-2015

Raytheon Corporation, 2006

Boeing Corporation, 2004.

Soaring Eagle Corporation, 2002.

           Augmentix Corporation, 2000-2001.

           Veridian Systems, 2000-2001.

           Market Data Corporation, May 1998.

           Sandia National Laboratories, 1997-2000.

           Federal Express, August, 1997.

           MCC, April-August 1997.

           Texas Instruments, December 1997.

           OASYS, Machine Tool Consortium, March 1996-1997.

           Software Productivity Solutions, September-December 1996.

           Institute for Defense Analyses, Alexandria VA, 1994-1997

           Motorola University, Schaumburg IL, February 1996.

           Bell Northern Research, Ottawa, Canada, September 1994.

           Finmeccanica, Rome Italy, 1991-1992.

           Ford Motor Company, Detroit MI, May 1995.

           Honeywell Corporation, Minneapolis MN, March 1994.

           NSA Scientific Advisory Board, Ft. George Meade, MD, 1993-95.

           Siemens Corporate Research, Princeton NJ, 1992-94.

           TRW Corporation, Gaithersburg MD, 1992-93.

 

·     Professional Societies: Fellow of the ACM, Fellow of the IEEE

 

·    Advisory Boards and Committees

SACSys - Safe and Secure Adaptive Collaborative Systems Advisory board, Mälardalen University, Sweden, 2020-22.

 

Lero (Ireland) External Review Committee, May 2017 and 2019.

 

Research Fellow for the Software Engineering Center of South Korea’s National IT Industry Promotion Agency (NIPA), 2009-2014. www.nipa.kr.

 

Steering Committee of the IEEE/IFIP Working International Conference on Software Architecture (WICSA) 2007-present.

 

Steering Committee of the Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS) 2006-present.

 

Steering Committee of the ACM/IEEE International Conference on Software Engineering, 1999-2002.

 

The Performance Analysis Information Technology Review Board for Sandia National Laboratories, 1998.

 

           ACM/SIGSOFT Member-at-large (elected by the SIGSOFT membership).

 

Architecture Review Board for the Advanced Information Technology Services (AITS) Reference Architecture (sponsored by DARPA/DISA).

 

Blue Ribbon Panel on Simulation and Modeling for Software Acquisition for the US Air Force, 1995.

 

           NSA Scientific Advisory Board, 1993-1995.

 

Architecture Management Group---architectural review board for Advanced Distributed Simulation Reference Architecture. 1995-2000

 

Program Evaluation Team (PET)---architectural review board for Advanced Distributed Simulation Initial Proposals. 1995

 

           Software Engineering Institute, Education Advisory Board, 1994-2002.

 

           FAA External Evaluation Committee for AAS, 1993-1994.

 

·    Journal Editorships

Associate editor, Software Tools for Technology Transfer (STTT), Springer, 2012.

 

Editorial Board Member, Journal on Software and System Modeling (SoSym), 2001-2005.

 

Editorial Board Member, ACM Transactions on Software Engineering and Methodology, 1997-2003.

 

Guest editor for special issue of IEEE Transactions on Best Papers of 1997 Foundations of Software Engineering Symposium, September 1997.

 

Guest editor for special issue of IEEE Transactions on Software Engineering on the topic of Software Architecture, April 1995.

 

Graduate Students

 

·       PhD Student Advising:

o   Simon Chu (2020-present) joint with Eunsuk Kang

o   Changjian Zhang (2019-present) joint with Eunsuk Kang

o   Maria Casinova (2019-present)

o   Tobias Durschmid (2018-present) joint with Eunsuk Kang

o   Cody Kinneer (2016-present) joint with Claire Le Goues

o   Ryan Wagner (2015-present) joint with Matt Fredrickson

o   Roykrong Sukkerd (2013-present) joint with Reid Simmons

o   Thomas Glazier (2013-present)

o   Paulo Casanova (2010-present)

o   Vishal Dwivedi (2008-present)

o   Ashutosh Pandey. PhD 2020. “Hybrid Planning in Self-adaptive System.” Currently at Microsoft Corp.

o   Ivan Ruchkin. PhD 2018. “Integration of Modeling Methods for Cyber-Physical Systems.” Currently at University of Pennsylvania.

o   Gabriel Moreno, PhD 2017. “Adaptation Timing in Self-Adaptive Systems.” Currently at the Software Engineering Institute.

o   Jeffrey Barnes, PhD 2013. “Software Architecture Evolution.” Currently at Google.

o   Owen Cheng, PhD 2008. “Rainbow: Cost-Effective Software Architecture-Based Self-Adaptation.” Currently at Uber Advanced Technologies.

o   Vahe Poladian. PhD 2008. “Tailoring Configuration to User's Tasks under Uncertainty.” Joint with Mary Shaw. Currently at Citadel.

o   George Fairbanks. PhD 2007. “Design Fragments.”  Joint with Bill Scherlis. Currently at Google.

o   Joao Pedro Sousa. PhD 2005. “Scaling Task Management in Space and Time: Reducing User Overhead in Ubiquitous-Computing Environments.” Currently at Microsoft Corp.

o   Bridget Spitznagel. PhD 2002. “Compositional Transformation of Software Connectors.” PhD, August 2004. Currently at Google.

o   Robert Miller. PhD 2002, “Lightweight Structure in Text.” Thesis won a CMU School of Computer Science Doctoral Dissertation Award and an ACM Doctoral Dissertation Award Honorable Mention. Joint advisor with Brad Myers. Currently faculty at MIT.

o   John Pane. PhD 2002. “A Programming System for Children that is Designed for Usability.” Joint advisor with Brad Myers. Rand Corp.

o   Robert Monroe. PhD 1999. “Capturing Software Architecture Design Expertise with Armani.”  Assistant Dean at Carnegie Mellon University Qatar Campus

o   Richard McDaniel, PhD 1999, “Building Whole Applications Using Only Programming-by-Demonstration.” Joint with Brad Myers.  Currently at Siemens Corp.

o   John Ockerbloom. PhD 1998. “Object-based Distributed Information Systems." Currently at University of Pennsylvania.

o   Robert Allen. PhD 1997. “A Formal Approach to Software Architecture.”  Currently at IBM Corp.

o   Charles Krueger. PhD 1997. "Modeling and Simulating a Software Architecture Design Space." Currently at Big Lever Systems.

 

·       Masters independent study supervision:

       Jeff Gennari Measuring Attack Surface in Software Architecture, Summer 2011

       Shawn Hurley and Brian Cavalier, A Type-Safe, Object-oriented Implicit Invocation System. Summer 1997.

       David Rothenberger, An Aesop Environment for the Structural Modelling Style,

       Spring 1996.

       Jose Rivera, Formalizing the Simplex Fault-tolerant Software Architecture. Fall 1996.

       Karen Fabrizius, Architectures for Distributed Systems, Summer 1995.

       Anthony Lattanze, Using Z to Estimate Function Points, Summer 1995.

       Jose Galmes, A Style Developer's Tool, Spring 1994.

       Francois Truchon, Case Study of Telecommunications Architecture, Summer 1994.

       Kent Sarff, Software Architectures within Digital Equipment, Summer 1994.

       Marco Schumacher, Model Problems in Software Architecture, Summer 1993.

       Michael Baumann, Event Broadcast Mechanisms for Architectural Tools, Fall 1993.

       Curtis Scott, Extending Ada with Event Broadcast, Fall 1992.

 

·       Undergraduate advising:

       Christopher Pride, Senior Thesis “Extending Aura with an Augmented Reality Interface,” 2007.

       Nick Lynn, Senior Thesis “Autonomic Computing: Learning to Repair Systems Effectively,” 2006.

       Pongsin Poonsankam, Senior Thesis “Enhancing Access Control for Pervasive Computing Information,” 2005.

       Yili Wang, Senior Thesis “A Task Manager Interface for Cognitive Computing,” 2004.

       Chanakya C. Damarla, independent study, “Architectural Reuse Tools,” Spring 1995.

       Andrew Weller, Senior Thesis, “Architectural Formalisms,” 1993.

      Jinmo Ahn, independent study, “Software Architecture for Medical Systems,” Fall 1992.

 

·       Ph.D. Thesis committees:

 

CMU, School of Computer Science

       Zack Coker, CS, completed 5/20 (advisor Claire Le Goues)

       Ligia Nistor, CS, completed 11/17 (advisor Jonathan Aldrich)

       Kevin Bierhoff, ISR completed 5/09 (advisor Jonathan Aldrich)

       Jeffrey Stylos, HCII, completed 5/09 (advisor Brad Meyers)

       Alex Groce, CS, completed 3/04 (advisor Ed Clarke)

       Sagar Chaki, CS completed 1/04 (advisor Ed Clarke)

       Rajesh Balan, CS, completed 5/06 (advisor M. Satyanarayanan).

       An-Cheng Huang, CS, completed 12/04 (advisor Peter Steenkiste).

       Robert Deline, CS, completed 8/02 (advisor Mary Shaw).

       Qi Lu, CS, completed 5/98.

       Penny Anderson, CS, completed 5/93 (advisor Frank Pfenning).

       Amy Moorman-Zaremski, CMU, completed 5/92 (advisor Jeannette Wing).

 

            CMU, Other Departments

       Akshay Rahjans, PhD ECE “Multi-Model Heterogeneous Verification of Cyber-Physical Systems” 2013 (advisor Bruce Krogh).

       Ajinkya Bhave, PhD ECE “Multi-View Consistency in Architectures for Cyber-Physical Systems,” 2011 (advisor Bruce Krogh).

       Michael Cumming, PhD Architecture, 2004 (advisor Omer Akin).

       Charles Shelton, PhD ECE, “Scalable Graceful Degradation for Distributed Embedded Systems,” 2003 (advisor Phil Koopman).

 

            External PhD Committees

       Raluca Marinescu, Mälardalen University, Sweden, completed 19/16 (advisor Cristina Seceleanu)

       Javier Gonzalez-Sanchez, Arizona State University, completed 7/16 (advisor Winslow Burleson)

       Munawar Hafiz, University of Illinois, completed 7/10 (advisor Ralph Johnson) .

       Mark Grechanik, U Texas, Austin, completed 5/08 (advisors Dewayne Perry and Don Batory).

       Cristina Gacek, University of Southern California, completed 5/98 (advisor Barry Boehm).

       Anthony MacDonald, University of Queensland, Australia, completed 5/98 (advisor Ian Page).

       Steve Popovitch, Columbia University, completed 10/96 (advisor Gail Kaiser).

 

·       Masters Thesis committees:

-        Rahul Raheja, INI Masters Thesis, “Improving Architecture-Based Self-Adaptation Using Preemption” 2009.

-        Srikant Varadin, INI Masters Thesis, “Adapting Aura to the Smart Home” 2007.

 

Courses taught

·       17-614  and 17-624 Formal Methods, (mini 1 and 2) Fall semesters.

·       17-635 Software Architecture (Advanced), Spring semesters.

·       17-808 Software Engineering Research: Fall semesters.

·       17-671 Models of Software Systems: 1995-2019.

·       17-675 Architectures for Software Systems: 1995-2019.

·       17-707 Self-Adaptive Systems: Spring 2015.

·       17-711 Socio-Technical Ecosystems: Spring 2011, 2012.

·       17-811  Self-Healing Systems: Spring 2003.

·       17-499 Research Topics in Software Architecture: Fall & Spring 1991.

·       17-712 Formal Methods in Software Engineering: Fall 1991, Fall 1992.

·       Formal Design: Spring 1991.

 

Carnegie Mellon and School of Computer Science Service

·       2019-2020 Perlis and Newell Awards Committee, member.

·       2018-2019 CyLab Director Search Committee, member.

·       2017-present Associate Dean for Master’s Programs in SCS.

·       2015-2016 CMU International Strategy Working Group, member.

·       2014-2015 CMU Research Review Committee, member.

·       2007-2011, CMU International Committee, member.

·       2007-2012, SCS Undergraduate Review Committee (URC), member.

·       2004-2006, College Council, member.

·       2001-2014, Software Engineering Professional Programs, Director.

·       2002-2003, MSE Curriculum Redesign Committee, Chair.

·       1999-2001, Phi Beta Kappa Selection Committee, member.

·       2001, 2002, 2003 Chair, Software Engineering Faculty Search Committee.

·       2000-2001, SCS Council, member.

·       1993-2014, MSE graduate admissions committee, chair

·       1995, Faculty Hiring Committee, member.

·       1994-2002, Software Engineering Institute, Education Advisory Board, member.

·       1994, Special Faculty Promotions Committee, member.

·       1993-2017, Master of Software Engineering Executive Committee, member.

·       1993-94, MSE Curriculum Committee, chair.