Resume

Education:

June 2004 Doctor of Philosophy (Cumulative GPA: 4.00)

University of Southern California, Department of Computer Science

Thesis title: Software Architectural Support for Disconnected Operation in Distributed Environments

August 2001 Master of Science (Cumulative GPA: 4.00)

University of Southern California, Department of Computer Science

Major Emphasis: Software

May 1998 Bachelor of Science

University of Belgrade, Department of Electrical Engineering

Thesis Title: Design and Implementation of an Information System for a Family Therapy Clinic

Publications:

Refereed Journal Articles

    1. Sam Malek, Nenad Medvidovic, and Marija Mikic-Rakic. "A Framework for Improving the Deployment Architectures of Distributed Software Systems". Software Engineering, IEEE Transactions on 38 (1), 73-100, January 2012.
    2. Sam Malek, George Edwards, Yuriy Brun, Hossein Tajalli, Joshua Garcia, Ivo Krka, Nenad Medvidovic, Marija Mikic-Rakic, and Gaurav Sukhatme. "An Architecture-Driven Software Mobility Framework." Journal of Systems and Software, Special Issue on Architecture and Mobility. December 2009.
    3. Sam Malek, Marija Mikic-Rakic, and Nenad Medvidovic. A Style-Aware Architectural Middleware for Resource-Constrained, Distributed Systems. IEEE Transactions on Software Engineering. March 2005.
    4. Roshanak Roshandel, Andre van der Hoek, Marija Mikic-Rakic, and Nenad Medvidovic. Mae A System Model and Environment for Managing Architectural Evolution. ACM Transactions on Software Engineering and Methodology vol. 11, no. 2, pages 240-276 (April 2004).
    5. Nenad Medvidovic, Marija Mikic-Rakic, Nikunj Mehta, and Sam Malek. Software Architectural Support for Handheld Computing. IEEE Computer Special Issue on Handheld Computing, vol. 36, no. 9, pages 66-73, September 2003.

Chapters in Books

    1. Marija Mikic-Rakic, Nenad Medvidovic. A Classification of Disconnected Operation Techniques. 32nd Euromicro Conference on Software Engineering and Advanced Applications (SEAA), Component-Based Software Engineering Track, Cavtat/Dubrovnik (Croatia), August 2006.
    2. Sam Malek, Nels Beckman, Marija Mikic-Rakic, and Nenad Medvidovic. "A Framework for Ensuring and Improving Dependability in Highly Distributed Systems." In R. de Lemos, C. Gacek, and A. Romanowski, eds., Third Book on Architecting Dependable Systems, Lecture Notes in Computer Science, Springer Verlag, 2005.
    3. Chris A. Mattmann, Sam Malek, Nels Beckman, Marija Mikic-Rakic, Nenad Medvidovic, and Daniel J. Crichton. GLIDE: A Grid-Based Light-Weight Infrastructure for Data-Intensive Environments. Lecture Notes in Computer Science (3470 / 2005).
    4. Nenad Medvidovic, Marija Mikic-Rakic, and Nikunj Mehta. Improving Dependability of Component-Based Systems via Multi-Versioning Connectors. In Architecting Dependable Systems. Lecture Notes in Computer Science (LCNS 2677). R. de Lemos, C. Gacek, and A. Romanovsky (Eds.), 2003.

Refereed Conference Proceedings

    1. Marija Mikic-Rakic, Sam Malek, and Nenad Medvidovic. .Architecture-Driven Software Mobility in Support of QoS Requirements. In Proceedings of the International Workshop on Software Architectures and Mobility (SAM 2008), Leipzig, Germany, May 2008.
    2. Marija Mikic-Rakic and Nenad Medvidovic. A Classification of Disconnected Operation Techniques. In Proceedings of the 32nd EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO�06), pages 144-151, Dubrovnik, Croatia, August 29 - September 1, 2006.
    3. Marija Mikic-Rakic, Sam Malek, Nenad Medvidovic. Improving Availability in Large, Distributed Component-Based Systems via Redeployment. To appear in the 3rd International Working Conference on Component Deployment (CD 2005), Grenoble, France, November 2005.
    4. Sam Malek, Marija Mikic-Rakic, Nenad Medvidovic. A Decentralized Redeployment Algorithm for Improving the Availability of Distributed Systems. To appear in the 3rd International Working Conference on Component Deployment (CD 2005), Grenoble, France, November 2005.
    5. Christian Mattmann, Sam Malek, Nels Beckman, Marija Mikic-Rakic, Nenad Medvidovic, and Daniel Crichton. GLIDE: A Grid-based Lightweight Infrastructure for Data-intensive Environments. Europian Grid Conference (EGC 2005), Amsterdam, The Netherlands, February 2005.
    6. Sam Malek, Marija Mikic-Rakic, and Nenad Medvidovic. An Extensible Framework for Autonomic Analysis and Improvement of Distributed Deployment Architectures. ACM SIGSOFT Workshop on Self-Managed Systems (WOSS'04). Newport Beach, November 2004.
    7. Marija Mikic-Rakic, Sam Malek, Nels Beckman, and Nenad Medvidovic. Improving Availability of Distributed Event-Based Systems via Run-Time Monitoring and Analysis. ICSE/DSN 2004 Twin Workshop on Architecting Dependable Systems (WADS 2004), Edinburgh, UK, May 2004, and Florence, Italy, June 2004.
    8. Marija Mikic-Rakic and Nenad Medvidovic. Software Architectural Support for Disconnected Operation in Highly Distributed Environments. International Symposium on Component-Based Software Engineering (CBSE7), Edinburgh, UK, May 2004.
    9. Marija Mikic-Rakic, Sam Malek, Nels Beckman, and Nenad Medvidovic. A Tailorable Environment for Assessing the Quality of Deployment Architectures in Highly Distributed Settings. 2nd International Working Conference on Component Deployment (CD 2004), Edinburgh, UK, May 2004.
    10. Marija Mikic-Rakic and Nenad Medvidovic. Support for Disconnected Operation via Architectural Self-Reconfiguration. International Conference on Autonomic Computing (ICAC04), New York, May 2004.
    11. Nenad Medvidovic, Marija Mikic-Rakic, and Sam Malek. Software Architectures for Embedded Systems. Monterey Workshop Series Workshop on Software Engineering for Embedded Systems: From Requirements to Implementation. Chicago, Illinois, September 2003.
    12. Marija Mikic-Rakic and Nenad Medvidovic. Adaptable Architectural Middleware for Programming-in-the-Smalland-Many. ACM/IFIP/USENIX International Middleware Conference, Rio De Janeiro, Brazil, June 2003.
    13. Marija Mikic-Rakic and Nenad Medvidovic. A Connector-Aware Middleware for Distributed Deployment and Mobility. ICDCS Workshop on Mobile Computing Middleware. Providence, Rhode Island, May 2003.
    14. Marija Mikic-Rakic and Nenad Medvidovic. Toward a Framework for Classifying Disconnected Operation Techniques. Second International Workshop on Software Architectures for Dependable Systems (WADS03), Portland, Oregon, May 2003.
    15. Marija Mikic-Rakic, Nikunj R. Mehta, and Nenad Medvidovic. Architectural Style Requirements for Self-Healing Systems. First Workshop on Self-Healing Systems, Charleston, South Carolina, November 2002.
    16. Nenad Medvidovic, Nikunj R. Mehta, and Marija Mikic-Rakic. A Family of Software Architecture Implementation Frameworks. 3rd IFIP Working International Conference on Software Architectures, Montreal, Canada, August 2002.
    17. Marija Mikic-Rakic and Nenad Medvidovic. Architecture-Level Support for Software Component Deployment in Resource Constrained Environments. First International IFIP/ACM Working Conference on Component Deployment (CD02), Berlin, Germany, June 2002.
    18. Nenad Medvidovic and Marija Mikic-Rakic. Programming-in-the-Many: A Software Engineering Paradigm for the 21st Century. Workshop on New Visions for Software Design and Productivity: Research and Applications, Nashville, Tennessee, December 2001.
    19. Andre van der Hoek, Marija Rakic, Roshanak Roshandel, and Nenad Medvidovic. Taming Architectural Evolution. Joint 8th European Software Engineering Conference and 9th ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 2001), Vienna, Austria, September 2001.
    20. Marija Rakic and Nenad Medvidovic. Increasing the Confidence in Off-the-Shelf Components: A Software Connector-Based Approach. 2001 Symposium on Software Reusability (SSR 2001), Toronto, Canada, May 2001.
    21. Marija Rakic and Nenad Medvidovic. Runtime Support for Architecture-Level Configuration Management. Tenth International Workshop on Software Configuration Management (SCM-10), Toronto, Canada, May 2001
    22. Nenad Medvidovic and Marija Rakic. Exploiting Software Architecture Implementation Infrastructure in Facilitating Component Mobility. Software Engineering and Mobility Workshop, Toronto, Canada, May 2001.
    23. Marija Rakic and Nikunj R. Mehta. Challenges in Implementing Software Architectures. 1st Workshop on Evaluating Software Architectural Solutions (WESAS), Irvine, California, May, 2000.

Professional Activities

Invited Talks

  • Marija Mikic-Rakic. Service-Oriented Architectures in the Google Cloud. Keynote Talk. 5th International Workshop on Principles of Engineering Service-Oriented Systems. Collocated with ICSE 2013, San Francisco, CA, May 2013.
  • Marija Mikic-Rakic. How Software is Engineered At Google. ICSE 2011, Honolulu, HI, May 2011
  • Marija Mikic-Rakic. Developing Software at Google. Guest Lecture. GATech. October 2012.
  • Marija Mikic-Rakic. Software Engineering at Google - an Insider Perspective. Guest Lecture. GATech. November 2007.

Referee and Reviewer Service

  • Reviewer for IEEE’s Transactions on Software Engineering, TOSEM.
  • Program committee member for Workshop on Developing Tools as Plug-ins (TOPI) 2012, 2013.
    • Program committee member for Workshop on Principles of Engineering Service-Oriented and Cloud Systems (PESOS) 2012, 2013, 2014.
    • Program committee member for the 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE), L'Aquila, Italy, September 2008.
    • Expert review pannel member for the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE), Atlanta, GA, November 2007.
    • Program Committee Member for the Sixth Working IEEE/IFIP Conference on Software Architecture (WICSA 6), Mumbai, India, 9-12th January 2007.
    • Fundamental Approaches to Software Engineering (FASE 2006), Vienna (Austria), March 2006.
    • Program Committee Member for the 5th IEEE/IFIP Working Conference on Software Architecture, Pitsburg, PA, November 2005.
    • Architecting Dependable Systems. Lecture Notes in Computer Science. R. de Lemos, C. Gacek, and A. Romanovsky (Eds.), 2005.
    • 4th IEEE/IFIP Working Conference on Software Architecture (WICSA-4), Oslo, Norway, June 2004.
    • ICSE/DSN 2004 Twin Workshops on Architecting Dependable Systems (WADS 2004), Edinburgh, UK, May 2004, and Florence, Italy, June 2004.
    • International Symposium on Component-Based Software Engineering (CBSE7), Edinburgh, UK, May 2004.
    • ACM Symposium on Operating Systems Principles (SOSP), New York, October 2003.
    • Second International Conference on Autonomous Agents and Multiagent Systems (AAMAS 2003), Melbourne, Australia, July 2003.

Prior Work Experience:

    • 8/99 -7/04, Software Architecture Group University of Southern California
      • Prism - Designed and developed a highly efficient, small-footprint, extensible middleware that supports design, implementation, and evolution of systems in highly distributed, mobile, and resource constrained environments. Developed support for different architectural styles in the middleware. Middleware successfully evaluated by a major industrial organization for use in one of their key distributed embedded systems.
      • DeSi - Developed a visual deployment exploration and simulation environment that enables quick assessment and improvement of a distributed systems availability. Developed monitoring capabilities for automatically assessing distributed system properties that influence systems availability. Developed a suite of approximative algorithms for exponentially complex optimal deployment problem. DeSi is being adopted by NASAs Jet Propulsion Laboratory and Boeing.
      • MVC - Developed multi-versioning-connectors (MVCs) to support run-time assessment of performance of different versions of software components by unintrusively recording and comparing their run-time behavior.
      • Prism-DE - Developed visual deployment environment by extending Microsoft Visio. Prism-DE supports visual creation of distributed deployment architectures and their automatic deployment onto (a possibly large number of) distributed target hardware platforms.
      • Mae - Participated in development of an integrated environment that supports component-based design, and configuration management activities at architectural level. The highly extensible Mae environment leverages XML to capture architectural artifacts and their evolution. The environment has been integrated with the MVC project.
    • 9/97 - 8/99 Software Engineer Vidra Info Belgrade, Yugoslavia
      • Lead developer on a complete business solution for Jugopetrol, the largest oil company in the former Yugoslavia. The project was designed using E-R modeling and OOAD, and developed using Visual Age for Smalltalk, Visual Age Generator, and DB2. Certified by IBM Education Center in Milan, Italy on the following courses: Smalltalk, Object-Oriented analysis and design, Visual Age for Smalltalk, Visual Age Generator and DB2.
    • 8/92 8/97 Software Engineer International Computers LTD Belgrade, Yugoslavia
      • Developed office management software for ICL Belgrade, in MS Access and MS SQL.

Teaching Experience:

    • 9/99 - 12/99 Teaching Assistant, CS 201 Software Development (undergraduate) University of Southern California
    • 9/01 - 12/01 Teaching Assistant, CS 599 Software Engineering for Embedded Systems (graduate) University of Southern California

Interests:

    • My son Dusan
    • Playing piano, guitar
    • Tennis, running
    • Skiing, biking, rollerblading