The Experts below are selected from a list of 43884 Experts worldwide ranked by ideXlab platform
Nenad Medvidovic - One of the best experts on this subject based on the ideXlab platform.
-
An Extensible Framework for Improving a Distributed Software System's Deployment Architecture
IEEE Transactions on Software Engineering, 2012Co-Authors: Sam Malek, Nenad Medvidovic, Marija Mikic-rakicAbstract:A distributed system's allocation of software components to hardware nodes (i.e., Deployment Architecture) can have a significant impact on its quality of service (QoS). For a given system, there may be many Deployment Architectures that provide the same functionality, but with different levels of QoS. The parameters that influence the quality of a system's Deployment Architecture are often not known before the system's initial Deployment and may change at runtime. This means that reDeployment of the software system may be necessary to improve the system's QoS properties. This paper presents and evaluates a framework aimed at finding the most appropriate Deployment Architecture for a distributed software system with respect to multiple, possibly conflicting QoS dimensions. The framework supports formal modeling of the problem and provides a set of tailorable algorithms for improving a system's Deployment. We have realized the framework on top of a visual Deployment Architecture modeling and analysis environment. The framework has been evaluated for precision and execution-time complexity on a large number of simulated distributed system scenarios, as well as in the context of two third-party families of distributed applications.
-
software Deployment Architecture and quality of service in pervasive environments
International workshop on Engineering of software services for pervasive environments, 2007Co-Authors: Nenad Medvidovic, Sam MalekAbstract:Over the past several years we have investigated two problems related to the domain of highly distributed, mobile, resource constrained, embedded, and pervasive environments: software Deployment and quality of service (QoS). We have done so with the explicit focus on the role played by software Architecture in Deployment, and on its relationship to QoS. In the process, we have amassed a body of knowledge and experience, and assembled a suite of solutions for targeting different facets of the interplay among software Architecture, Deployment, and QoS. At the same time, the area we are addressing has proven to be multi-faceted and very complex, constantly presenting new challenges. In this paper we outline the contours of the problem of QoS in Architecture-based Deployment, our strategy for addressing it, and the challenges that remain. We view this as an important (and fruitful) area of research.
-
A user-centric approach for improving a distributed software system's Deployment Architecture
2007Co-Authors: Nenad Medvidovic, Sam MalekAbstract:The quality of service (QoS) provided by a distributed software system depends on many system parameters, such as network bandwidth, reliability of links, frequencies of software component interactions, etc. A distributed system's allocation of software components to hardware nodes (i.e., Deployment Architecture) can have a significant impact on its QoS. At the same time, often times there are many Deployment Architectures that provide the same functionality in large-scale software systems. Furthermore, the impact of Deployment Architecture on the QoS dimensions (e.g., availability, latency) of the services (functionalities) provisioned by the system could vary. In fact, some QoS dimensions may be conflicting, such that a Deployment Architecture that improves one QoS dimension, degrades another dimension. In this dissertation, we motivate, present, and evaluate a framework aimed at finding the most appropriate Deployment Architecture with respect to multiple, and possibly conflicting, QoS dimensions. The framework provides a formal approach to modeling the problem, and a set of generic algorithms that can be tailored and instantiated for improving a system’s Deployment Architecture. The framework relies on system users’ (desired) degree of satisfaction with QoS improvements to resolve trade-offs between conflicting QoS dimensions. The framework is realized on top of an integrated tool suite, which further aids reusability and cross-evaluation of the solutions. This dissertation is evaluated empirically on a large number of simulated representative scenarios. Various aspects of the framework have also been evaluated on two real distributed systems. The dissertation concludes with several open research questions that will frame our future work.
-
ESSPE - Software Deployment Architecture and quality-of-service in pervasive environments
International workshop on Engineering of software services for pervasive environments in conjunction with the 6th ESEC FSE joint meeting - ESSPE '07, 2007Co-Authors: Nenad Medvidovic, Sam MalekAbstract:Over the past several years we have investigated two problems related to the domain of highly distributed, mobile, resource constrained, embedded, and pervasive environments: software Deployment and quality of service (QoS). We have done so with the explicit focus on the role played by software Architecture in Deployment, and on its relationship to QoS. In the process, we have amassed a body of knowledge and experience, and assembled a suite of solutions for targeting different facets of the interplay among software Architecture, Deployment, and QoS. At the same time, the area we are addressing has proven to be multi-faceted and very complex, constantly presenting new challenges. In this paper we outline the contours of the problem of QoS in Architecture-based Deployment, our strategy for addressing it, and the challenges that remain. We view this as an important (and fruitful) area of research.
-
A framework for ensuring and improving dependability in highly distributed systems
Architecting Dependable Systems III, 2005Co-Authors: Sam Malek, Marija Mikic-rakic, Nels E. Beckman, Nenad MedvidovicAbstract:A distributed software system’s Deployment Architecture can have a significant impact on the system’s dependability. Dependability is a function of various system parameters, such as network bandwidth, frequencies of software component interactions, power usage, and so on. Recent studies have shown that the quality of Deployment Architectures can be improved significantly via active system monitoring, efficient estimation of the improved Deployment Architecture, and system reDeployment. However, the lack of the appropriate tools for monitoring, analyzing, and effecting reDeployment at the architectural level makes improving a system’s Deployment Architecture a very challenging problem. To cope with these challenges, developers typically resort to ad hoc solutions that decrease the potential for reuse and understandability. In this paper, we first present an extensible framework that guides the design and development of solutions for this type of problem, enables the extension and reuse of the solutions, and facilitates autonomic analysis and reDeployment of a system’s Deployment Architecture. We then discuss a suite of extensible and integrated tools that help developers in realizing the framework.
Sam Malek - One of the best experts on this subject based on the ideXlab platform.
-
An Extensible Framework for Improving a Distributed Software System's Deployment Architecture
IEEE Transactions on Software Engineering, 2012Co-Authors: Sam Malek, Nenad Medvidovic, Marija Mikic-rakicAbstract:A distributed system's allocation of software components to hardware nodes (i.e., Deployment Architecture) can have a significant impact on its quality of service (QoS). For a given system, there may be many Deployment Architectures that provide the same functionality, but with different levels of QoS. The parameters that influence the quality of a system's Deployment Architecture are often not known before the system's initial Deployment and may change at runtime. This means that reDeployment of the software system may be necessary to improve the system's QoS properties. This paper presents and evaluates a framework aimed at finding the most appropriate Deployment Architecture for a distributed software system with respect to multiple, possibly conflicting QoS dimensions. The framework supports formal modeling of the problem and provides a set of tailorable algorithms for improving a system's Deployment. We have realized the framework on top of a visual Deployment Architecture modeling and analysis environment. The framework has been evaluated for precision and execution-time complexity on a large number of simulated distributed system scenarios, as well as in the context of two third-party families of distributed applications.
-
software Deployment Architecture and quality of service in pervasive environments
International workshop on Engineering of software services for pervasive environments, 2007Co-Authors: Nenad Medvidovic, Sam MalekAbstract:Over the past several years we have investigated two problems related to the domain of highly distributed, mobile, resource constrained, embedded, and pervasive environments: software Deployment and quality of service (QoS). We have done so with the explicit focus on the role played by software Architecture in Deployment, and on its relationship to QoS. In the process, we have amassed a body of knowledge and experience, and assembled a suite of solutions for targeting different facets of the interplay among software Architecture, Deployment, and QoS. At the same time, the area we are addressing has proven to be multi-faceted and very complex, constantly presenting new challenges. In this paper we outline the contours of the problem of QoS in Architecture-based Deployment, our strategy for addressing it, and the challenges that remain. We view this as an important (and fruitful) area of research.
-
A user-centric approach for improving a distributed software system's Deployment Architecture
2007Co-Authors: Nenad Medvidovic, Sam MalekAbstract:The quality of service (QoS) provided by a distributed software system depends on many system parameters, such as network bandwidth, reliability of links, frequencies of software component interactions, etc. A distributed system's allocation of software components to hardware nodes (i.e., Deployment Architecture) can have a significant impact on its QoS. At the same time, often times there are many Deployment Architectures that provide the same functionality in large-scale software systems. Furthermore, the impact of Deployment Architecture on the QoS dimensions (e.g., availability, latency) of the services (functionalities) provisioned by the system could vary. In fact, some QoS dimensions may be conflicting, such that a Deployment Architecture that improves one QoS dimension, degrades another dimension. In this dissertation, we motivate, present, and evaluate a framework aimed at finding the most appropriate Deployment Architecture with respect to multiple, and possibly conflicting, QoS dimensions. The framework provides a formal approach to modeling the problem, and a set of generic algorithms that can be tailored and instantiated for improving a system’s Deployment Architecture. The framework relies on system users’ (desired) degree of satisfaction with QoS improvements to resolve trade-offs between conflicting QoS dimensions. The framework is realized on top of an integrated tool suite, which further aids reusability and cross-evaluation of the solutions. This dissertation is evaluated empirically on a large number of simulated representative scenarios. Various aspects of the framework have also been evaluated on two real distributed systems. The dissertation concludes with several open research questions that will frame our future work.
-
ESSPE - Software Deployment Architecture and quality-of-service in pervasive environments
International workshop on Engineering of software services for pervasive environments in conjunction with the 6th ESEC FSE joint meeting - ESSPE '07, 2007Co-Authors: Nenad Medvidovic, Sam MalekAbstract:Over the past several years we have investigated two problems related to the domain of highly distributed, mobile, resource constrained, embedded, and pervasive environments: software Deployment and quality of service (QoS). We have done so with the explicit focus on the role played by software Architecture in Deployment, and on its relationship to QoS. In the process, we have amassed a body of knowledge and experience, and assembled a suite of solutions for targeting different facets of the interplay among software Architecture, Deployment, and QoS. At the same time, the area we are addressing has proven to be multi-faceted and very complex, constantly presenting new challenges. In this paper we outline the contours of the problem of QoS in Architecture-based Deployment, our strategy for addressing it, and the challenges that remain. We view this as an important (and fruitful) area of research.
-
A framework for ensuring and improving dependability in highly distributed systems
Architecting Dependable Systems III, 2005Co-Authors: Sam Malek, Marija Mikic-rakic, Nels E. Beckman, Nenad MedvidovicAbstract:A distributed software system’s Deployment Architecture can have a significant impact on the system’s dependability. Dependability is a function of various system parameters, such as network bandwidth, frequencies of software component interactions, power usage, and so on. Recent studies have shown that the quality of Deployment Architectures can be improved significantly via active system monitoring, efficient estimation of the improved Deployment Architecture, and system reDeployment. However, the lack of the appropriate tools for monitoring, analyzing, and effecting reDeployment at the architectural level makes improving a system’s Deployment Architecture a very challenging problem. To cope with these challenges, developers typically resort to ad hoc solutions that decrease the potential for reuse and understandability. In this paper, we first present an extensible framework that guides the design and development of solutions for this type of problem, enables the extension and reuse of the solutions, and facilitates autonomic analysis and reDeployment of a system’s Deployment Architecture. We then discuss a suite of extensible and integrated tools that help developers in realizing the framework.
Marija Mikic-rakic - One of the best experts on this subject based on the ideXlab platform.
-
An Extensible Framework for Improving a Distributed Software System's Deployment Architecture
IEEE Transactions on Software Engineering, 2012Co-Authors: Sam Malek, Nenad Medvidovic, Marija Mikic-rakicAbstract:A distributed system's allocation of software components to hardware nodes (i.e., Deployment Architecture) can have a significant impact on its quality of service (QoS). For a given system, there may be many Deployment Architectures that provide the same functionality, but with different levels of QoS. The parameters that influence the quality of a system's Deployment Architecture are often not known before the system's initial Deployment and may change at runtime. This means that reDeployment of the software system may be necessary to improve the system's QoS properties. This paper presents and evaluates a framework aimed at finding the most appropriate Deployment Architecture for a distributed software system with respect to multiple, possibly conflicting QoS dimensions. The framework supports formal modeling of the problem and provides a set of tailorable algorithms for improving a system's Deployment. We have realized the framework on top of a visual Deployment Architecture modeling and analysis environment. The framework has been evaluated for precision and execution-time complexity on a large number of simulated distributed system scenarios, as well as in the context of two third-party families of distributed applications.
-
A framework for ensuring and improving dependability in highly distributed systems
Architecting Dependable Systems III, 2005Co-Authors: Sam Malek, Marija Mikic-rakic, Nels E. Beckman, Nenad MedvidovicAbstract:A distributed software system’s Deployment Architecture can have a significant impact on the system’s dependability. Dependability is a function of various system parameters, such as network bandwidth, frequencies of software component interactions, power usage, and so on. Recent studies have shown that the quality of Deployment Architectures can be improved significantly via active system monitoring, efficient estimation of the improved Deployment Architecture, and system reDeployment. However, the lack of the appropriate tools for monitoring, analyzing, and effecting reDeployment at the architectural level makes improving a system’s Deployment Architecture a very challenging problem. To cope with these challenges, developers typically resort to ad hoc solutions that decrease the potential for reuse and understandability. In this paper, we first present an extensible framework that guides the design and development of solutions for this type of problem, enables the extension and reuse of the solutions, and facilitates autonomic analysis and reDeployment of a system’s Deployment Architecture. We then discuss a suite of extensible and integrated tools that help developers in realizing the framework.
-
Component Deployment - A decentralized reDeployment algorithm for improving the availability of distributed systems
Lecture Notes in Computer Science, 2005Co-Authors: Sam Malek, Marija Mikic-rakic, Nenad MedvidovicAbstract:In distributed and mobile environments, the connections among the hosts on which a software system is running are often unstable. As a result of connectivity losses, the overall availability of the system decreases. The distribution of software components onto hardware nodes (i.e., the system's Deployment Architecture) may be ill-suited for the given target hardware en-vironment and may need to be altered to improve the software system's avail-ability. Determining a software system's Deployment that will maximize its availability is an exponentially complex problem. Although several polyno-mial-time approximative techniques have been developed recently, these techniques rely on the assumption that the system's Deployment Architecture and its properties are accessible from a central location. For these reasons, the existing techniques are not applicable to an emerging class of decentralized systems marked by the limited system wide knowledge and lack of central-ized control. In this paper we present an approximative solution for the rede-ployment problem that is suitable for decentralized systems and assess its performance.
-
WOSS - 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, 2004Co-Authors: Sam Malek, Marija Mikic-rakic, Nenad MedvidovicAbstract:A distributed software system's Deployment Architecture can have a significant impact on the system's properties, which depend on various system parameters, such as network bandwidth, frequencies of software component interactions, and so on. Recent studies have shown that the quality of Deployment Architectures can be improved significantly via active system monitoring, efficient estimation of the improved Deployment Architecture, and system reDeployment. However, the lack of a common framework for improving a system's Deployment Architecture has resulted in ad hoc solutions. In this paper, we present an extensible framework that guides the design and development of solutions to this problem, enables the extension and reuse of the solutions, and facilitates autonomic analysis and reDeployment of a system's Deployment Architecture.
-
CBSE - Software architectural support for disconnected operation in distributed environments
Component-Based Software Engineering, 2004Co-Authors: Nenad Medvidovic, Marija Mikic-rakicAbstract:In distributed and mobile environments, the connections among the hosts on which a software system is running are often unstable. As a result of connectivity losses, the overall availability of the system decreases. The distribution of software components onto hardware nodes (i.e., Deployment Architecture) may be ill-suited for the given target hardware environment and may need to be altered to improve the software system's availability. The critical difficulty in achieving this task lies in the fact that determining a software system's Deployment that will maximize its availability is an exponentially complex problem. In this dissertation, we motivate, present, and evaluate an automated, flexible, software Architecture-based solution for disconnected operation that increases the availability of the system during disconnection. We provide a set of models, algorithms, techniques, and tools for improving a distributed, mobile system's availability via reDeployment, by enabling the system to (1) monitor its operation; (2) estimate its Deployment Architecture; and (3) effect that Architecture automatically. While the focus of this dissertation research is on improving system availability, our methodology is extensible to support other non-functional properties that may be relevant in a given distributed system. This dissertation is evaluated empirically, by conducting a series of benchmark tests and applying the methodology to example applications. The dissertation concludes with a set of open research questions that will frame our future work.
James Anderson - One of the best experts on this subject based on the ideXlab platform.
-
ACC - Deployment Architectures for Cyber-Physical Control Systems
2020 American Control Conference (ACC), 2020Co-Authors: Shih-hao Tseng, James AndersonAbstract:We consider the problem of how to deploy a controller to a (networked) cyber-physical system (CPS). Controlling a CPS is an involved task, and synthesizing a controller to respect sensing, actuation, and communication constraints is only part of the challenge. In addition to controller synthesis, one should also consider how the controller will work in the CPS. Put another way, the cyber layer and its interaction with the physical layer need to be taken into account.In this work, we aim to bridge the gap between theoretical controller synthesis and practical CPS Deployment. We adopt the system level synthesis (SLS) framework to synthesize a state-feedback controller and provide a Deployment Architecture for the standard SLS controller. Furthermore, we derive a new controller realization for open-loop stable systems and introduce four different Architectures for Deployment, ranging from fully centralized to fully distributed. Finally, we compare the trade-offs among them in terms of robustness, memory, computation, and communication overhead.
-
Deployment Architectures for Cyber-Physical Control Systems
2019Co-Authors: Shih-hao Tseng, James AndersonAbstract:We consider the problem of how to deploy a controller to a (networked) cyber-physical system (CPS). Controlling a CPS is an involved task, and synthesizing a controller to respect sensing, actuation, and communication constraints is only part of the challenge. In addition to controller synthesis, one should also consider how the controller will work in the CPS. Put another way, the cyber layer and its interaction with the physical layer need to be taken into account. In this work, we aim to bridge the gap between theoretical controller synthesis and practical CPS Deployment. We adopt the system level synthesis (SLS) framework to synthesize a state-feedback controller and provide a Deployment Architecture for the standard SLS controller. Furthermore, we derive a new controller realization for open-loop stable systems and introduce four different Architectures for Deployment, ranging from fully centralized to fully distributed. Finally, we compare the trade-offs among them in terms of robustness, memory, computation, and communication overhead.
Bedir Tekinerdogan - One of the best experts on this subject based on the ideXlab platform.
-
Architecting Feasible Deployment Alternatives for Publish-Subscribe Systems
2017Co-Authors: Bedir Tekinerdogan, Turgay ÇelikAbstract:Publish-Subscribe is one of the important patterns for developing scalable distributed systems. Usually, the Deployment of the publishers and subscribers to the nodes can be done in many different ways, whereby each Deployment alternative will have a different impact on the performance. The many possible Architecture design alternatives tend to trade-off with respect to execution cost and communication cost. Unfortunately, for the human engineer it is not tractable to define a feasible configuration in case of large number of nodes and participants. In this paper we propose a generic method to assist the architect by automatically deriving feasible Deployment alternatives of Publish-Subscribe based distributed systems. The approach is based on the so-called capacitated task allocation problem (CTAP) in which constraints on memory capacity and processing power are applied to manage the trade-offs between the total execution cost and total communication cost to derive feasible design alternatives. The method is supported by our tool framework (Deploy-PS) that provides an integrated development environment for modeling the Publish-Subscribe Deployment Architecture, modeling the physical resources and the performance requirements, and the selection and generation of the feasible Deployment Architecture alternatives.
-
S-IDE: A tool framework for optimizing Deployment Architecture of High Level Architecture based simulation systems
Journal of Systems and Software, 2013Co-Authors: Turgay Çelik, Bedir TekinerdoganAbstract:One of the important problems in High Level Architecture (HLA) based distributed simulation systems is the allocation of the different simulation modules to the available physical resources. Usually, the Deployment of the simulation modules to the physical resources can be done in many different ways, and each Deployment alternative will have a different impact on the performance. Although different algorithmic solutions have been provided to optimize the allocation with respect to the performance, the problem has not been explicitly tackled from an Architecture design perspective. Moreover, for optimizing the Deployment of the simulation system, tool support is largely missing. In this paper we propose a method for automatically deriving Deployment alternatives for HLA based distributed simulation systems. The method extends the IEEE Recommended Practice for High Level Architecture Federation Development and Execution Process by providing an approach for optimizing the allocation at the design level. The method is realized by the tool framework, S-IDE (Simulation-IDE) that we have developed to provide an integrated development environment for deriving a feasible Deployment alternative based on the simulation system and the available physical resources at the design phase. The method and the tool support have been validated using a case study for the development of a traffic simulation system.
-
ECSA Workshops - Deploy-DDS: Tool Framework for Supporting Deployment Architecture of Data Distribution Service based Systems
Proceedings of the 2014 European Conference on Software Architecture Workshops - ECSAW '14, 2007Co-Authors: Turgay Çelik, Ömer Köksal, Bedir TekinerdoganAbstract:Data Distribution Service (DDS) is the Object Management Group's (OMG) new standard middleware after Common Object Request Broker Architecture (CORBA), which is becoming increasingly popular. One of the important problems in DDS Based Software Systems is the Deployment configuration of DDS modules to the physical resources. In general, this can be done in many different ways whereby each Deployment alternative will perform differently. Currently, the Deployment configuration is decided after the coding phase and usually performed manually. For large configurations, finding the feasible Deployment might require serious rework with costly and time consuming iterations. In this paper, we present the tool Deploy-DDS to support the selection and generation of Deployment Architectures of DDS based systems. The tool can be used to perform an evaluation during the design phase and generate the selected feasible configuration.