iDARE—a reference architecture for integrated software environments


  • Hossein Tajalli,

    Corresponding author
    1. Computer Science Department, University of Southern California, Los Angeles, CA 90089-0781, USA
    • Correspondence to: Hossein Tajalli, Computer Science Department University of Southern California Los Angeles, CA 90089-0781 USA


    Search for more papers by this author
  • Nenad Medvidović

    1. Computer Science Department, University of Southern California, Los Angeles, CA 90089-0781, USA
    Search for more papers by this author


Traditionally, software development environments have tended to treat a system's development-time activities separately from its run-time. After a system is in operation, it frequently needs to be maintained and evolved. In traditional environments, this results in frequent relocations of a system between the disjoint development and run-time environments, which is undesirable for several reasons. A more effective solution is to couple the development and run-time environments to directly monitor and adapt running systems. Given the growing need for interaction between development-time and run-time aspects of modern software systems, it is important to understand development and run-time environments, and their relationship. To this end, we study and classify a wide range of software development environments on the basis of their level of interaction with the corresponding run-time environments. Particularly, we identify, study, and characterize Self-Adaptive Life-cycle Environments (SALEs), an emerging class of modern development environments that are tightly integrated with run-time environments. We reify our study of the development environments into a novel reference architecture, iDARE, that captures and differentiates the architectures of software environments – from those, such as traditional development environments, that have no interaction with the run-time environments, to the ones, such as SALEs, that are tightly integrated with the run-time environments. We use iDARE to highlight several shortcomings of existing SALEs. Adherence to iDARE has the potential to improve certain quality properties of the integrated development and run-time environments, such as adaptability, fault-tolerance, robustness, availability, and resource consumption. We identify a number of opportunities for future research. Copyright © 2013 John Wiley & Sons, Ltd.