I am a Lecturer at the Department of Computer Science, University of York (UK). I graduated from the University of Granada and worked for two years as a software engineer before starting graduate school. After receiving my Ph.D. in Computer Science from the University of Málaga (2009), I worked as a postdoctoral researcher at INRIA Rhône-Alpes, the University of Coimbra, and Carnegie Mellon University, where I became part of the core faculty of the School of Computer Science in 2015 and was a Senior Systems Scientist before moving to York.
Complex software-intensive systems are increasingly relied upon in our society to support tasks in multiple areas (e.g., manufacturing, entertainment, communications, healthcare, transportation). At the same time, these systems are also progressively affected by higher degrees of variability and uncertainties that can be introduced by run-time changes related to the lack of control over third-party system components (e.g., residing in the cloud), humans in the loop, as well as complex interactions between software and physical elements in cyber-physical systems, to name a few examples.
My research lies in the intersection of formal methods and software engineering, with a particular interest in the areas of software engineering for self-adaptive systems and software architecture. In recent years, I have devised techniques that combine lightweight formal methods and quantitative verification (probabilistic model checking) to analyze complex software-intensive systems subject to different forms of uncertainty, with applications to areas that include complex IT systems, security, and robotics.
One of the main areas in which I explore the application of these techniques is the provision of assurances for self-adaptive systems.
I also have research interests in related areas that include control theory, cyber-physical and real-time systems, as well as self-aware computing systems.
I am a member of the Enterprise Systems Group and the Trustworthy Adaptive and Autonomous Systems & Processes team at the University of York, and an affiliated researcher in the Architecture-Based Languages and Environments (ABLE) group at Carnegie Mellon University.
During the academic years 2018-2019 and 2019-2020, I am co-instructing with Richard Paige, Dimitris Kolovos and Nicholas Matragkas the Software Engineering Project module (SEPR) at the Department of Computer Science, University of York. This module introduces key software engineering topics, and encourages teams of students to incorporate them into the collaborative development of a software project that runs during the Autumn and Spring terms.
During the academic years 2013-2017, I have co-instructed with David Garlan Models of Software Systems (17-651) at Carnegie Mellon University's Master of Software Engineering (MSE). This course exposes students to abstract models and logics that over time have proven important in the study of software systems and includes topics like state machines, process algebras, concurrency, and temporal logics, among others.
Javier Cámara: HaiQ: Synthesis of Software Design Spaces with Structural and Probabilistic Guarantees. In Proceedings of the 8th International Conference on Formal Methods in Software Engineering (FormaliSE 2020). [Author Copy] [Presentation video]
Javier Cámara, Henry Muccini, Karthik Vaidhyanathan: Quantitative Verification-Aided Machine Learning: A Tandem Approach for Architecting Self-Adaptive IoT Systems. In Proceedings of the IEEE International Conference on Software Architecture (ICSA 2020). [Author Copy] P[Presentation video]
Javier Cámara, Bradley Schmerl, Gabriel A. Moreno and David Garlan. MOSAICO: Offline Synthesis of Adaptation Strategy Repertoires with Flexible Trade-Offs. In Journal of Automated Software Engineering. Springer, 2018.
Javier Cámara, David Garlan, Bradley Schmerl. Synthesis and Quantitative Verification of Tradeoff Spaces for Families of Software Systems. In 11th European Conference on Software Architecture (ECSA 2017). Pages 3-21, 2017. Best Paper Award.
Gautham Nayak Seetanandi, Javier Cámara, Luis Almeida, Karl-Erik Årzén and Martina Maggio. Event-Driven Bandwidth Allocation with Formal Guarantees for Camera Networks. In IEEE Real-Time Systems Symposium (RTSS 2017).
Javier Cámara, Rogério de Lemos, Nuno Laranjeiro, Rafael Ventura and Marco Vieira. Robustness-Driven Resilience Evaluation of Self-Adaptive Software Systems. In IEEE Transactions on Dependable and Secure Computing, 2017.
[Electronic Edition] [Author Copy]
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, 122: 507-523, 2016. [Electronic Edition] [Author Copy]
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, 10(4):23. 2016.
[Electronic Edition] [Author Copy]
Gabriel A. Moreno, Javier Cámara, David Garlan and Bradley Schmerl. Proactive Self-Adaptation under Uncertainty: a Probabilistic Model Checking Approach. 2015. 10th Joint meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2015). Pages 1-12, 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-Managing Systems (SEAMS 2015).
Javier Cámara, Pedro Correia, Rogério de Lemos, Marco Vieira: Empirical Resilience Evaluation of an Architecture-based Self-Adaptive Software System. Proceedings of the 10th International ACM SIGSOFT Conference on the Quality of Software Architectures (QoSA 2014). Pages 63-72. ACM, 2014. ACM SIGSOFT Distinguished Paper Award.
Recent and upcoming scientific events I am involved in:
- SEAMS 2021 (PC member). 16th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.
- ECSA 2020 (PC member and Gender Diversity in SE/SA track co-chair). 14th European Conference on Software Architecture.
- FAACS 2020 (PC member). 4th International Workshop on Formal Approaches for Advanced Computing Systems.
- SEAMS 2020 (PC member). 15th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.
- SeAC 2020 (PC member). 2020 Workshop on Self-Aware Computing.
- SEFM 2019 (Workshops Co-Chair). 17th International Conference on Software Engineering and Formal Methods.
- ECSA 2019 (Industrial Co-Chair). 13th European Conference on Software Architecture.
- Coordination 2019 (PC member). 21st International Conference on Coordination Models and Languages.
- SEAMS 2019 (PC member and Publicity Co-Chair). 14th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.
- RoSE 2019 2nd International Workshop on Robotics Software Engineering.
- ECSA 2018 (PC member). 12th European Conference on Software Architecture.
- SEAMS 2018 (PC member and Doctoral Projects PC member). 13th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.
- DSN 2018 (PC member). 48th IEEE/IFIP International Conference on Dependable Systems and Networks.
- EDCC 2018 (PC member). 14th European Dependable Computing Conference.
- RoSE 2018 First International Workshop on Robotics Software Engineering.
- FOCLASA 2018 (PC member). 16th International Workshop on Foundations of Coordination Languages and Self-Adaptive Systems.
- STaR 2018 Workshop on Designing Resilient Intelligent Systems for Testability and Reliability.