Intro

I know the art of building software and I can bring together and empower teams of engineers to deliver novel solutions that generate genuine business value.

I am an engineer at heart. I learned programming at the age of 11 on a Commodore 64, and I have been fascinated by the art of software development since then. I had my first commissioned work six years later, building a simple contract management system on Borland Pascal. After receiving my B.Sc. in Computer Engineering, I moved to Canada to study Software Engineering. There, I learned about the power of formal modeling techniques and development tools in design of complex, distributed software systems.

Today, I have more than two decades of experience in delivering software intensive solutions that push the boundaries of convention. I designed and managed the delivery of the software stack of our connected smart glasses at tooz (patent pending), led the creation of a new cloud-based software development platform at Huawei, invented an intelligent test data generation tool for SAP HANA (patent pending), and won a Dean of Graduate Studies medal for my PhD work on inception and delivery of tools for decision support systems at Defence R&D Canada.

I am a proponent of servant leadership and strive to be an empowering leader. I believe empowerment is not a nice thing to have, rather an essential ingredient of high performing and engaged teams. I have been passionately mentoring, helping, and empowering software engineers for the past years. I mentored and supervised BSc, MSc, and PhD theses for more than 10 years, grew to become a team lead at Hauwei, established and led the software department at tooz technologies, and over the course of almost two years, led a 3X growth of the engineering department at Userlane.

In my spare time, I read, make music, build DIY home automation sensors and components, stay fascinated by the possibilities of the Internet of Things, and contemplate on the future of our minds beyond our bodies.

Services

1. Enabling People and Organizations

Coaching and Mentorship

I enjoy helping software organizations and team leads in their early stages of growth to better prepare for and deal with the technical and leadership challenges they face along the way.
 

2. The Art of Building Software

Technical Advisory

I am passionate about enabling creation of innovative software solutions that are scalable, as the business grows, and maintainable as time passes. One needs to bring together and find the right balance of a clear understanding of what is needed, an implementation plan, a solid design that can stand the test of time and changes in demand, and code that is elegant and yet easy to understand and maintain.

Past Experience

Leadership

  • Interim CTO / Head of Engineering, various startups (May 2022–present)
    • IoT, smart factories, and industry 4.0
    • Environmental impact measurement solutions for the fashion industry
  • VP Engineering, Userlane (2020–2022)
  • Head of the Software, tooz technologies (2018–2020)
  • Head of the R&D Tools team, Huawei Technologies (2017–2018)
  • Technical lead, R&D Tools Team, Huawei Technologies (2015–2018)
  • Technical lead, Lean Performance Engineering Team, SAP Research (2013–2015)
  • Technical lead, The CoreASM Project (2004–2013)
  • Executive Vice President, CS Graduate Students’ Association, Simon Fraser University (2006–2008)

Coaching and Mentorship

  • Supporting CTOs and Engineering Leads, various SaaS startups (May 2022–present)
  • CTO Mentor, WHU Accelerator (2021–present)
  • Mentor, B/S/H Future Home Accelerator Powered By Techstars (2020–2021)

Patents

  1. System, method, computer program, mobile device and kit for operating a device with low computing power (pending)
  2. Data generation for performance evaluation, 2014

Technical Experience

  • Design and specification of tooz software platform (patent pending)
  • Firmware specifications and the design of a Blueotooth communication protocol
  • Set up of CI, automation scripts, server configurations and the testing environment
  • Co-architect and development lead of a novel microservices platform providing a cloud-based software development environment to R&D developers
  • Inception and implementation of a novel tools-as-a-service platform with a marketplace of tools and real-time developer dashboards
  • Automated test data generation for performance evaluation of data-centric applications (patent pending)
  • Performance analysis and prediction models for SAP HANA
  • Scalability analysis of cloud applications
  • Development of a framework for design and validation of Situation Analysis Decision Support Systems
  • Design and development of a tool for experimental validation of distributed data management protocols (SAP)
  • Architect and former lead developer of the The CoreASM Project
  • Formal semantics and experimental validation of the Business Process Execution Language for Web Services (BPEL4WS)

Education

Volunteer Experience

  • Principal advisor on a number of BSc, MSc, and PhD theses
  • Organizing committee member of HotTopiCS 2014 and KSCO 2010
  • Program committee member of FOSINT-SI (2012 to 2017), IEEE ISI (2010 to 2017, 2019), ABZ (2012, 2014, 2016), TBFM (2010 and 2014)
  • Organizer of a special session on ASM Tools: Execution, Analysis, Validation, and Verification at the14th International ASM Workshop in Norway (2007)
  • Reviewer for journals, such as Automated Software Engineering, Logical Methods in Computer Science, Software Practice and Experience, and Science of Computer Programming

Selected Talks & Tutorials

  1. Building Microservices with Microservices. How can we offer development tools as-a-service and bring the development closer to the operation? Challenge Your Peers session at Delivery of Things World. Berlin, Germany. April 2018
  2. Microtools: Redefining Development Tools and IDEs. Introducing a new approach in providing tools as a service. Huawei's ERC Talks. Munich, Germany. December 2016.
  3. Dextor: Because ''Realistic'' Test Data Matters. Introducing Data Extractor and Generator toolkit (co-presenter). SAP d-kom 2015 selected talk. SAP Headquarters, Walldorf, Germany. March 2015.
  4. Dr. Hampton, S01-E06: Through the Looking Glass. Introducing HANA Performance Toolchain (co-presenter). SAP d-kom 2013 DemoJam Presentation. SAP Headquarters, Walldorf, Germany. March 2013.
  5. An Extensible Model Framework for High-level Executable Specifications of Distributed Systems. The CoreASM Workshop. University of Ulm, Germany. October 2012.
  6. Performance Analysis of Software Components. Future Internet Private Partnership Program (FI-PPP) Software Architects Week. Zurich University of Applied Sciences. Zurich, Switzerland. May 2012.
  7. Using CoreASM for High Level Design, Analysis and Validation of Distributed Systems Models. First International Conference on Abstract State Machines, B, and Z (ABZ 2008), London, UK. September 2008.
  8. Executing ASM Specifications with CoreASM. Advances in Software Engineering, Lipari International School for Computer Science Researchers. Italy. July 2007
  9. Executing ASM Models with CoreASM. Dagstuhl Seminar (07241) on Tools for the Model-based Development of Certifiable, Dependable Systems. Schloss Dagstuhl, Germany. June 2007.

Selected Publications

For a complete list of publications, visit here.

Journal and Special Editions

  1. R. Farahbod, V. Gervasi, and U. Glässer. Executable formal specifications of complex distributed systems with CoreASM. Science of Computer Programming 79, pp. 23–38. 2014.
  2. R. Farahbod and U. Glässer. The CoreASM Modeling Framework. Software: Practice and Experience. Vol. 41. No. 2. pp. 167–178. 2011.
  3. V. Gervasi and R. Farahbod. JASMine: Accessing Java Code from CoreASM. In J.-R. Abrial and U. Glässer (editors), Rigorous Methods for Software Construction and Analysis. Springer LNCS Festschrift volume 5115. Springer 2009., pages 147-169.
  4. R. Farahbod, V. Gervasi, and U. Glässer. CoreASM: an Extensible ASM Execution Engine. Fundamenta Informaticae. Vol. 77. No. 1-2. pp. 71-103. 2007.
  5. R. Farahbod, U. Glässer, and M. Vajihollahi. An Abstract Machine Architecture for Web Service Based Business Process Management. International Journal on Business Process Integration and Management. Vol. 1, No. 4. pp. 279-291. 2006.

Conference Publications

  1. C. Heger, J. Happe, R. Farahbod. Automated Root Cause Isolation of Performance Regressions during Software Development. In  Proceedings of the 4th ACM/SPEC International Conference on Performance Engineering (ICPE 2013), pages  27-38. 2013. 
  2. O. Yazir, Y. Akbulut, R. Farahbod, A. Guitouni, S. W. Neville, S. Ganti, and Y. Coady. Autonomous Resource Consolidation Management in Clouds Using IMPROMPTU Extensions. In Rong Chang, editor, IEEE CLOUD, pages 614–621. IEEE, 2012.
  3. R. Farahbod, V. Avram, U. Glässer, and A. Guitouni. Engineering Situation Analysis Decision Support Systems. European Intelligence and Security Informatics Conference (EISIC 2011), Athens, Greece. pp. 10-18. 2011.
  4. M. Altenhofen and R. Farahbod. Bârun: A Scripting Language for CoreASM. In: Proceedings of the 2nd International Conference on Abstract State Machines, Alloy, B and Z (ABZ 2010). Orford, Canada. February 2010.
  5. R. Farahbod, U. Glässer, and A. Khalili. A Multi-layer Network Architecture for Dynamic Resource Configuration & Management of Multiple Mobile Resources in Maritime Surveillance. In: Proceedings of SPIE Multisensor, Multisource Information Fusion: Architectures, Algorithms, and Applications. Vol. 7345. Orlando, USA. 2009.
  6. R. Farahbod, U. Glässer, É. Bossé, and A. Guitouni. Integrating Abstract State Machines and Interpreted Systems for Situation Analysis Decision Support Design. In: Proceedings of the 11th International Conference on Information Fusion (Fusion 2008), July 2008.
  7. R. Farahbod, U. Glässer, and H. Wehn. Dynamic Resource Management for Adaptive Distributed Information Fusion in Large Volume Surveillance. In: Proceedings of SPIE Multisensor, Multisource Information Fusion: Architectures, Algorithms, and Applications. Vol. 6974. Orlando, USA. 2008.
  8. R. Farahbod and U. Glässer. Semantic Blueprints of Discrete Dynamic Systems: Challenges and Needs in Computational Modeling of Complex Behavior. In New Trends in Parallel and Distributed Computing, Proc. 6th International Heinz Nixdorf Symposium. Paderborn, Germany. 2006

Contact

Don't hesitate to get in touch! I will be happy if I can help you on your journey.
And if not, we can at least have a good conversation about technology, leadership, philosophy, music, or the meaning of life. 😉

Publications

Journal and Special Edition Publications

  1. R. Farahbod, V. Gervasi, and U. Glässer. Executable formal specifications of complex distributed systems with CoreASM. Science of Computer Programming 79, pp. 23–38. 2014.
  2. H. Y. Shahir, U. Glässer, R. Farahbod, P. Jackson, H. Wehn. Generating test-cases for marine safety and security scenarios: a composition framework. Security Informatics. Vol. 1, pp. 4–25. 2012.
  3. R. Farahbod and U. Glässer. The CoreASM Modeling Framework. Software: Practice and Experience. Vol. 41. No. 2. pp. 167–178. 2011.
  4. R. Farahbod, V. Gervasi, U. Glässer, and G. Ma. CoreASM Plug-in Architecture. In J.-R. Abrial and U. Glässer (editors), Rigorous Methods for Software Construction and Analysis. Springer LNCS Festschrift volume 5115. Springer 2009., pages 147-169.
  5. V. Gervasi and R. Farahbod. JASMine: Accessing Java Code from CoreASM. In J.-R. Abrial and U. Glässer (editors), Rigorous Methods for Software Construction and Analysis. Springer LNCS Festschrift volume 5115. Springer 2009., pages 147-169.
  6. R. Farahbod, V. Gervasi, and U. Glässer. CoreASM: an Extensible ASM Execution Engine. Fundamenta Informaticae. Vol. 77. No. 1-2. pp. 71-103. 2007.
  7. R. Farahbod, U. Glässer, and M. Vajihollahi. An Abstract Machine Architecture for Web Service Based Business Process Management. International Journal on Business Process Integration and Management. Vol. 1, No. 4. pp. 279-291. 2006.

Conference Publications

  1. C. Heger, A. Wert, R. Farahbod. Vergil: Guiding developers through performance and scalability inferno. In Proceedings of the Ninth International Conference on Software Engineering Advances (ICSEA), pages 598-608. IARIA, 2014.
  2. A. Wert, M. Oehler, C. Heger, R. Farahbod. Automatic Detection of Performance Anti-patterns in Inter-component Communications. In Proceedings of the 10th International Conference on Quality of Software Architecture (QoSA '14). Lille, France, 2014.
  3. C. Heger, J. Happe, R. Farahbod. Automated Root Cause Isolation of Performance Regressions during Software Development. In  Proceedings of the 4th ACM/SPEC International Conference on Performance Engineering (ICPE 2013), pages  27-38. 2013. 
  4. D. Westermann, J. Happe, and R. Farahbod. An Experiment Specification Language for Goal-Driven, Automated Performance Evaluations. In Proceedings of the 28th ACM Symposium On Applied Computing (SAC 2013). Coimbra, Portugal. 2013. 
  5. D. Westermann, J. Happe, R. Krebs, R. Farahbod. Automated Inference of Goal-oriented Performance Prediction Functions. In Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering, ASE 2012, pages 190–199, NY, USA, 2012.
  6. H. Y. Shahir, R. Farahbod, U. Glässer. Refactoring Abstract State Machine Models. In: Abstract State Machines, Alloy, B, VDM, and Z, LNCS volume 7316, pages 345–348. Springer, 2012.
  7. O. Yazir, Y. Akbulut, R. Farahbod, A. Guitouni, S. W. Neville, S. Ganti, and Y. Coady. Autonomous Resource Consolidation Management in Clouds Using IMPROMPTU Extensions. In Rong Chang, editor, IEEE CLOUD, pages 614–621. IEEE, 2012.
  8. R. Farahbod, V. Avram, U. Glässer and A. Guitouni. A Formal Approach to High-Level Design of Situation Analysis Decision Support Systems. In Shengchao Qin and Zongyan Qiu (eds.), Formal Methods and Software Engineering (Proc. 13th Intl. Conference on Formal Engineering Methods, Durham, UK, 2011). LNCS volume 6991, Springer. Oct. 2011.
  9. R. Farahbod, V. Avram, U. Glässer, and A. Guitouni. Engineering Situation Analysis Decision Support Systems. European Intelligence and Security Informatics Conference (EISIC 2011), Athens, Greece. pp. 10-18. 2011.
  10. O. Yazir, R. Farahbod, A. Guitouni, S. Ganti, and Y. Coady. Adaptive Routing in Mobile Ad Hoc Networks Based on Decision Aid Approach. In Proceeding of The 8th ACM International Symposium on Mobility Management and Wireless Access (ACM MobiWac 2010). Bodrum, Turkey. Oct. 2010.
  11. O. Yazir, C. Matthews, R. Farahbod, Y. Coady, S. Neville, S. Ganti, A. Guitouni. Dynamic Resource Allocation in Computing Clouds Using Distributed Multiple Criteria Decision Analysis. In: Proceedings of the 3rd IEEE International Conference on Cloud Computing (CLOUD 2010). Miami, Florida, USA. July 2010.
  12. M. Altenhofen and R. Farahbod. Bârun: A Scripting Language for CoreASM. In: Proceedings of the 2nd International Conference on Abstract State Machines, Alloy, B and Z (ABZ 2010). Orford, Canada. February 2010.
  13. R. Farahbod, U. Glässer, and A. Khalili. A Multi-layer Network Architecture for Dynamic Resource Configuration & Management of Multiple Mobile Resources in Maritime Surveillance. In: Proceedings of SPIE Multisensor, Multisource Information Fusion: Architectures, Algorithms, and Applications. Vol. 7345. Orlando, USA. 2009.
  14. R. Farahbod, U. Glässer, P. Jackson and M. Vajihollahi. High Level Analysis, Design and Validation of Distributed Mobile Systems with CoreASM. In: Proceedings of the 3rd International Symposium on Leveraging Applications of Formal Methods, Verification and Validation. Porto Sani, Greece. October 2008.
  15. R. Farahbod, U. Glässer, É. Bossé, and A. Guitouni. Integrating Abstract State Machines and Interpreted Systems for Situation Analysis Decision Support Design. In: Proceedings of the 11th International Conference on Information Fusion (Fusion 2008), July 2008.
  16. R. Farahbod, U. Glässer, and H. Wehn. Dynamic Resource Management for Adaptive Distributed Information Fusion in Large Volume Surveillance. In: Proceedings of SPIE Multisensor, Multisource Information Fusion: Architectures, Algorithms, and Applications. Vol. 6974. Orlando, USA. 2008.
  17. R. Farahbod, U. Glässer, and G. Ma. Model Checking CoreASM Specifications. In: Proceedings of the 14th International Abstract State Machines Workshop (ASM’07). Norway, June 7-9, 2007.
  18. R. Farahbod, U. Glässer, and H. Wehn. CanCoastWatch Dynamic Configuration Manager. In: Proceedings of the 14th International Abstract State Machines Workshop (ASM’07). Norway, June 7-9, 2007.
  19. H. Wehn, et al. A Testbed Simulator to Evaluate the Efficiency of Net-enabled Surveillance. In Proceedings of UVS Canada: Conference on Unmanned Vehicle Systems Canada. Montebello, PQ, Canada. November 7-10, 2006
  20. R. Farahbod, V. Gervasi, U. Glässer, and M. Memon. Design Exploration and Experimental Validation of Abstract Requirements. In: Proceedings of the 12th International Working Conference on Requirements Engineering: Foundation for Software Quality (REFSQ'06), Luxembourg, Grand-Duchy of Luxembourg, Essener Informatik Beitrage (June 2006)
  21. R. Farahbod and U. Glässer. Semantic Blueprints of Discrete Dynamic Systems: Challenges and Needs in Computational Modeling of Complex Behavior. In New Trends in Parallel and Distributed Computing, Proc. 6th International Heinz Nixdorf Symposium. Paderborn, Germany (2006)
  22. R. Farahbod, U. Glässer, and M. Vajihollahi. An Abstract Machine Architecture for Web Service Based Business Process Management. In Bussler, C. et al (Eds.): Business Process Management Workshops: BPM 2005. Lecture Notes in Computer Science, Volume 3812, Feb 2006, 144-157
  23. R. Farahbod, U. Glässer, and M. Vajihollahi. A Formal Semantics for the Business Process Execution Language for Web Services. In Savitri Bevinakoppa et al. (Eds.): Web Services and Model-Driven Enterprise Information Systems. Portugal. INSTICC Press (2005) 144-155
  24. R. Farahbod, V. Gervasi, and U. Glässer. CoreASM: an Extensible ASM Execution Engine. In D. Beauquier, E. Börger and A. Slissenko (Eds.): Proc. 12th International Workshop on Abstract State Machines. Paris, France (2005) 153-165
  25. R. Farahbod, U. Glässer, and M. Vajihollahi. Specification and Validation of the Business Process Execution Language for Web Services. In W. Zimmermann, B. Thalheim (Eds.): Abstract State Machines 2004. Germany. Springer-Verlag (2004) 78-95