Papers by Marija Mikic-rakic
A Framework for Ensuring and Improving Dependability in Highly Distributed Systems
Lecture Notes in Computer Science, 2005
An extensible framework for autonomic analysis and improvement of distributed deployment architectures
Proceedings of the 1st ACM SIGSOFT workshop on Self-managed systems - WOSS '04, 2004
A Tailorable Environment for Assessing the Quality of Deployment Architectures in Highly Distributed Settings
Lecture Notes in Computer Science, 2004
Lecture Notes in Computer Science, 2002
Software deployment comprises activities for installing or updating an already implemented softwa... more Software deployment comprises activities for installing or updating an already implemented software system. These activities include (1) deployment of a system onto a new host, (2) component upgrade in an existing system, (3) static analysis of the proposed system configuration, and (4) dynamic analysis of the configuration after the deployment. In this paper, we describe an approach that supports all four of these activities. The approach is specifically intended to support software deployment onto networks of distributed, mobile, highly resource constrained devices. Our approach is based on the principles of software architectures. In particular, we leverage our lightweight architectural implementation infrastructure to natively support deployment in resource constrained environments.
Adaptable Architectural Middleware for Programming-in-the-Small-and-Many
Lecture Notes in Computer Science, 2003
A recent emergence of small, resource-constrained, and highly- mobile computing platforms present... more A recent emergence of small, resource-constrained, and highly- mobile computing platforms presents numerous new challenges for software developers. We refer to development in this new setting as programming-in-the- small-and-many (Prism). This paper provides a description and evaluation of a middleware intended to support software architecture-based development in the Prism setting. The middleware, called Prism-MW, provides highly efficient and scalable implementation-level
Software Architectural Support for Disconnected Operation in Highly Distributed Environments
Lecture Notes in Computer Science, 2004
Architecture-driven software mobility in support of QoS requirements
Proceedings of the 1st international workshop on Software architectures and mobility - SAM '08, 2008
A Decentralized Redeployment Algorithm for Improving the Availability of Distributed Systems
Lecture Notes in Computer Science, 2005
Improving Availability in Large, Distributed Component-Based Systems Via Redeployment
Lecture Notes in Computer Science, 2005
Taming architectural evolution
ACM SIGSOFT Software Engineering Notes, 2001
In the world of software development evolves. So, then, do software architectures. Unlike source ... more In the world of software development evolves. So, then, do software architectures. Unlike source code, for which the use of a configuration management (CM) system is the predominant approach to capturing and managing evolution, approaches to capturing and managing architectural evolution span a wide range of disconnected alternatives. This paper contributes a novel architecture evolution environment, called Mae, which brings
Improving Dependability of Component-Based Systems via Multi-versioning Connectors
Lecture Notes in Computer Science, 2003
Abstract The promise of architecture-based software development is that complex systems can be bu... more Abstract The promise of architecture-based software development is that complex systems can be built and evolved reasonably quickly and reliably using coarse-grained components. However, practice has shown that many problems of traditional software development still ...
Support for disconnected operation via architectural self-reconfiguration
International Conference on Autonomic Computing, 2004. Proceedings., 2004
Proceedings of the first workshop on Self-healing systems - WOSS '02, 2002
This paper argues for a set of requirements that an architectural style for self-healing systems ... more This paper argues for a set of requirements that an architectural style for self-healing systems should satisfy: adaptability, dynamicity, awareness, observability, autonomy, robustness, distributability, mobility, and traceability. Support for these requirements is discussed along five dimensions we have identified as distinguishing characteristics of architectural styles: external structure, topology rules, behavior, interaction, and data flow. As an illustration, these requirements are used to assess an existing architectural style. While this initial formulation of the requirements appears to have utility, much further work remains to be done in order to apply it in evaluating and comparing architectural styles for self-healing systems.

Software Architecture, 2002
Software architectures provide high-level abstractions for representing the structure, behavior, ... more Software architectures provide high-level abstractions for representing the structure, behavior, and key properties of software systems. Various architecture description languages, styles, tools, and technologies have emerged over the past decade. At the same time, there has been comparatively little focus on techniques and technologies for transforming architectural models into running systems. This often results in significant differences between conceptual and concrete architectures, rendering system evolution and maintenance difficult. Furthermore, it calls into question the ability of developers to consistently transfer the key architectural properties into system implementations. One solution to this problem is to employ architectural frameworks. Architectural frameworks provide support for implementing, deploying, executing, and evolving software architectures. This paper describes the design of and our experience with a family of architectural frameworks that support implementation of systems in a specific architectural style-C2. These frameworks have been implemented in different programming languages and used on different hardware platforms, including resource constrained (e.g., hand held) devices. The frameworks are lightweight and extensible, and allow application monitoring and analysis at run time. To date, the C2 frameworks have been used in the development of over 100 applications by several academic and industrial organizations. The paper discusses the issues we have encountered in implementing and using the frameworks, as well as the approaches adopted to resolve these issues.
An architecture-driven software mobility framework
Journal of Systems and Software, 2010
An Extensible Framework for Improving a Distributed Software System's Deployment Architecture
IEEE Transactions on Software Engineering, 2000
A style-aware architectural middleware for resource-constrained, distributed systems
IEEE Transactions on Software Engineering, 2000
Software architectural support for handheld computing
Computer, 2003
A user-centric approach for improving a distributed software system's deployment architecture
Improving a Distributed Software System’s Quality of Service via Redeployment
Uploads
Papers by Marija Mikic-rakic