We present Mae an architectural evolution environment, built upon a system model that combines ar... more We present Mae an architectural evolution environment, built upon a system model that combines architectural and configuration management concepts into a single representation. Through Mae, users can specify architectures (in terms of their constituent components, connectors, and interfaces) in a traditional manner, manage the evolution of the architectures using a check-out/ check-in mechanism that tracks all changes, select a specific architectural configuration, and analyze the consistency of a selected configuration. 1. ARCHITECTURAL CHANGE Consider the following scenario. An organization specializing in software development for mobile platforms is commissioned by a local fire department to produce an innovative application for “on the fly ” deployment of personnel in situations
In the world of software development everything evolves. So, then, do software architectures. Unl... more In the world of software development everything 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 together a number of these alternatives. The environment facilitates an incremental design process in which all changes to all architectural elements are integrally captured and related. Key to the environment is a rich system model that combines architectural concepts with those from the field of CM. Not only does this system model form the basis for Mae, but in precisely capturing architectural evolution it also facilitates automated support for several innovative capabilities that rely on the integrated nature of the system model. This paper introd...
We present Mae an architectural evolution environment, built upon a system model that combines ar... more We present Mae an architectural evolution environment, built upon a system model that combines architectural and configuration management concepts into a single representation. Through Mae, users can specify architectures (in terms of their constituent components, connectors, and interfaces) in a traditional manner , manage the evolution of the architectures using a check-out/ check-in mechanism that tracks all changes, select a specific architectural configuration, and analyze the consistency of a selected configuration. Consider the following scenario. An organization specializing in software development for mobile platforms is commissioned by a local fire department to produce an innovative application for " on the fly " deployment of personnel in situations such as natural disasters and search-and-rescue efforts. Following good software engineering practices, the organization first develops a proper architecture for the application in a suitable architectural style, th...
One of the goals of software architecture research has been to equip developers with powerful rep... more One of the goals of software architecture research has been to equip developers with powerful representation and analysis tools, which enables them to effectively leverage high-level, formal architectural models in the engineering of large, complex software systems [11,14]. A number of architecture description languages (ADLs) have been proposed to provide just such modeling and analysis support [9]. They are usually characterized by formal syntax
We present a software architecture-based approach to compositional estimation of system's rel... more We present a software architecture-based approach to compositional estimation of system's reliability. Our approach is applicable to early stages of development when the implementation artifacts are not yet available, and exact execution profile is unknown. The uncertainty of the execution profile is modeled using stochastic processes with unknown parameters. The compositional approach calculates overall reliability of the system as a function of the reliability of its constituent components and their (complex) interactions. Sensitivity analysis to identify critical components and interactions will be provided. Reliability is defined as the probability that a system will perform its intended functionality under specified design limits. Software reliability techniques are aimed at reducing or eliminating failures of software systems. Existing software reliability techniques are typically rooted in the field of reliability engineering, and particularly hardware reliability. Such a...
Architectural modeling and analysis is a critical phase in developing large and complex software ... more Architectural modeling and analysis is a critical phase in developing large and complex software systems. The usefulness of multiple views has likewise long been recognized. In this experience report, we explain how we used two ADLs to model a system initially described in UML. The system (SCRover) is designed and built in close collaboration with NASA’s Jet Propulsion Laboratory, using their Mission Data System technology. We describe (a) the processes that we used to extract architectural models from the UML description, (b) the way in which each ADL was used to model the system, (c) a classification of the architectural defects we uncovered, and (d) a comparison of the relative benefits of the two ADLs in terms of the different classes of defects they uncovered.
Coronavirus disease 2019 (COVID-19) was classified as a pandemic by the World Health Organization... more Coronavirus disease 2019 (COVID-19) was classified as a pandemic by the World Health Organization in March 2020. Given that this novel virus most notably affects the human respiratory system, early detection may help prevent severe lung damage, save lives, and help prevent further disease spread. Given the constraints on the healthcare facilities and staff, the role of artificial intelligence for automatic diagnosis is critical. The automatic diagnosis of COVID-19 based on medical images is, however, not straightforward. Due to the novelty of the disease, available X-ray datasets are very limited. Furthermore, there is a significant similarity between COVID-19 X-rays and other lung infections. In this paper, these challenges are addressed by proposing an approach consisting of a bag of visual words and a neural network classifier. The proposed method can classify X-ray chest images into non-COVID-19 and COVID-19 with high performance. Three public datasets are used to evaluate the p...
One of the problems in designing today's complex, reactive and mission critical syst... more One of the problems in designing today's complex, reactive and mission critical systems is providing extensive multi-dimensional analysis of the systems at the architectural level. Architecture description languages (ADLs) provide such analysis capabilities. However, ADLs mainly focus on specific system aspects (e.g., formal refinement rules, deadlock detection, or schedulability analysis). In this paper, we describe an approach to combining the syntax and semantics of two heterogeneous architecture modeling notations in such a way that they remain consistent. The resulting integrated notation and toolset expand the available architecture modeling and analysis capabilities. In turn, this enables the architect to uncover a wider range of problems early in the development process and thus assists in reducing the development costs.
A device for securing a pair of slideable window or door sashes in a fixed frame having first and... more A device for securing a pair of slideable window or door sashes in a fixed frame having first and second locking plungers longitudinally displaceable in a housing mounted on a first of said sashes so that said plungers are respectively displaceable into and out of securing relation with said frame and the second of said sashes. The first locking plunger is provided with a keyhole-shaped slot therethrough, while the second locking plunger is positioned to extend through said slot and dimensioned for receipt within the wider portion of said slot but not in the narrow portion thereof at a first locked orientation at which the first locking plunger is retained in securing relation with the frame. Further, the second locking plunger is dimensioned for receipt within the narrower portion of the slot at an opened orientation of said plunger. Lock means is provided for releaseably securing the second locking plunger in said locked orientation.
Given the advanced set of capabilities offered by smartphone and tablet computing devices, they h... more Given the advanced set of capabilities offered by smartphone and tablet computing devices, they have become the platform of choice for many users for day-to-day work and leisure. There is however a fundamental difference in the attitude of a typical user when it comes to using their mobile device as compared to their personal computers. While the use of anti-virus software on PCs to protect our security and privacy is ubiquitous today, there is little by the way of security and privacy protection available on these mobile computing platforms. Our work focuses on developing a Layered Intrusion Detection and Remediation framework (LIDAR) to automatically detect, analyze, protect, and remediate security threats in this domain. We have focused on Android devices and have developed several algorithms that would help detect abnormal behavior in the operation of Android smartphone and tablets that could potentially detect presence of malware. In this paper, we present a high-level overview of our approach and briefly summarize a suite of algorithms developed to identify certain types of malicious behavior.
The product-line approach to software development offers a promising cost-effective methodology t... more The product-line approach to software development offers a promising cost-effective methodology to development and evolution of large and complex software systems. Ensuring dependability of these products requires systematic methods to evaluate various dependability properties throughout the development life cycle. In this paper, we focus on reliability – an important dependability attribute. Specifically, we are interested in developing a compositional and reusable methodology to analyze the reliability of software product line architectures (PLAs), with the goal of leveraging products’ commonalities and differences to maximize potential for reuse. We present a first step in this path, by describing an approach to abstract portions of a Markov-based reliability model corresponding to the commonalities among products, without significantly impacting the accuracy of the analysis. We evaluate our approach to assess its accuracy and generalizability on a real world PLA from the Nationa...
We present Mae an architectural evolution environment, built upon a system model that combines ar... more We present Mae an architectural evolution environment, built upon a system model that combines architectural and configura- tion management concepts into a single representation. Through Mae, users can specify architectures (in terms of their constitu- ent components, connectors, and interfaces) in a traditional man- ner, manage the evolution of the architectures using a check-out/ check-in mechanism that tracks all changes,
We present Mae an architectural evolution environment, built upon a system model that combines ar... more We present Mae an architectural evolution environment, built upon a system model that combines architectural and configuration management concepts into a single representation. Through Mae, users can specify architectures (in terms of their constituent components, connectors, and interfaces) in a traditional manner, manage the evolution of the architectures using a check-out/ check-in mechanism that tracks all changes, select a specific architectural configuration, and analyze the consistency of a selected configuration. 1. ARCHITECTURAL CHANGE Consider the following scenario. An organization specializing in software development for mobile platforms is commissioned by a local fire department to produce an innovative application for “on the fly ” deployment of personnel in situations
In the world of software development everything evolves. So, then, do software architectures. Unl... more In the world of software development everything 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 together a number of these alternatives. The environment facilitates an incremental design process in which all changes to all architectural elements are integrally captured and related. Key to the environment is a rich system model that combines architectural concepts with those from the field of CM. Not only does this system model form the basis for Mae, but in precisely capturing architectural evolution it also facilitates automated support for several innovative capabilities that rely on the integrated nature of the system model. This paper introd...
We present Mae an architectural evolution environment, built upon a system model that combines ar... more We present Mae an architectural evolution environment, built upon a system model that combines architectural and configuration management concepts into a single representation. Through Mae, users can specify architectures (in terms of their constituent components, connectors, and interfaces) in a traditional manner , manage the evolution of the architectures using a check-out/ check-in mechanism that tracks all changes, select a specific architectural configuration, and analyze the consistency of a selected configuration. Consider the following scenario. An organization specializing in software development for mobile platforms is commissioned by a local fire department to produce an innovative application for " on the fly " deployment of personnel in situations such as natural disasters and search-and-rescue efforts. Following good software engineering practices, the organization first develops a proper architecture for the application in a suitable architectural style, th...
One of the goals of software architecture research has been to equip developers with powerful rep... more One of the goals of software architecture research has been to equip developers with powerful representation and analysis tools, which enables them to effectively leverage high-level, formal architectural models in the engineering of large, complex software systems [11,14]. A number of architecture description languages (ADLs) have been proposed to provide just such modeling and analysis support [9]. They are usually characterized by formal syntax
We present a software architecture-based approach to compositional estimation of system's rel... more We present a software architecture-based approach to compositional estimation of system's reliability. Our approach is applicable to early stages of development when the implementation artifacts are not yet available, and exact execution profile is unknown. The uncertainty of the execution profile is modeled using stochastic processes with unknown parameters. The compositional approach calculates overall reliability of the system as a function of the reliability of its constituent components and their (complex) interactions. Sensitivity analysis to identify critical components and interactions will be provided. Reliability is defined as the probability that a system will perform its intended functionality under specified design limits. Software reliability techniques are aimed at reducing or eliminating failures of software systems. Existing software reliability techniques are typically rooted in the field of reliability engineering, and particularly hardware reliability. Such a...
Architectural modeling and analysis is a critical phase in developing large and complex software ... more Architectural modeling and analysis is a critical phase in developing large and complex software systems. The usefulness of multiple views has likewise long been recognized. In this experience report, we explain how we used two ADLs to model a system initially described in UML. The system (SCRover) is designed and built in close collaboration with NASA’s Jet Propulsion Laboratory, using their Mission Data System technology. We describe (a) the processes that we used to extract architectural models from the UML description, (b) the way in which each ADL was used to model the system, (c) a classification of the architectural defects we uncovered, and (d) a comparison of the relative benefits of the two ADLs in terms of the different classes of defects they uncovered.
Coronavirus disease 2019 (COVID-19) was classified as a pandemic by the World Health Organization... more Coronavirus disease 2019 (COVID-19) was classified as a pandemic by the World Health Organization in March 2020. Given that this novel virus most notably affects the human respiratory system, early detection may help prevent severe lung damage, save lives, and help prevent further disease spread. Given the constraints on the healthcare facilities and staff, the role of artificial intelligence for automatic diagnosis is critical. The automatic diagnosis of COVID-19 based on medical images is, however, not straightforward. Due to the novelty of the disease, available X-ray datasets are very limited. Furthermore, there is a significant similarity between COVID-19 X-rays and other lung infections. In this paper, these challenges are addressed by proposing an approach consisting of a bag of visual words and a neural network classifier. The proposed method can classify X-ray chest images into non-COVID-19 and COVID-19 with high performance. Three public datasets are used to evaluate the p...
One of the problems in designing today's complex, reactive and mission critical syst... more One of the problems in designing today's complex, reactive and mission critical systems is providing extensive multi-dimensional analysis of the systems at the architectural level. Architecture description languages (ADLs) provide such analysis capabilities. However, ADLs mainly focus on specific system aspects (e.g., formal refinement rules, deadlock detection, or schedulability analysis). In this paper, we describe an approach to combining the syntax and semantics of two heterogeneous architecture modeling notations in such a way that they remain consistent. The resulting integrated notation and toolset expand the available architecture modeling and analysis capabilities. In turn, this enables the architect to uncover a wider range of problems early in the development process and thus assists in reducing the development costs.
A device for securing a pair of slideable window or door sashes in a fixed frame having first and... more A device for securing a pair of slideable window or door sashes in a fixed frame having first and second locking plungers longitudinally displaceable in a housing mounted on a first of said sashes so that said plungers are respectively displaceable into and out of securing relation with said frame and the second of said sashes. The first locking plunger is provided with a keyhole-shaped slot therethrough, while the second locking plunger is positioned to extend through said slot and dimensioned for receipt within the wider portion of said slot but not in the narrow portion thereof at a first locked orientation at which the first locking plunger is retained in securing relation with the frame. Further, the second locking plunger is dimensioned for receipt within the narrower portion of the slot at an opened orientation of said plunger. Lock means is provided for releaseably securing the second locking plunger in said locked orientation.
Given the advanced set of capabilities offered by smartphone and tablet computing devices, they h... more Given the advanced set of capabilities offered by smartphone and tablet computing devices, they have become the platform of choice for many users for day-to-day work and leisure. There is however a fundamental difference in the attitude of a typical user when it comes to using their mobile device as compared to their personal computers. While the use of anti-virus software on PCs to protect our security and privacy is ubiquitous today, there is little by the way of security and privacy protection available on these mobile computing platforms. Our work focuses on developing a Layered Intrusion Detection and Remediation framework (LIDAR) to automatically detect, analyze, protect, and remediate security threats in this domain. We have focused on Android devices and have developed several algorithms that would help detect abnormal behavior in the operation of Android smartphone and tablets that could potentially detect presence of malware. In this paper, we present a high-level overview of our approach and briefly summarize a suite of algorithms developed to identify certain types of malicious behavior.
The product-line approach to software development offers a promising cost-effective methodology t... more The product-line approach to software development offers a promising cost-effective methodology to development and evolution of large and complex software systems. Ensuring dependability of these products requires systematic methods to evaluate various dependability properties throughout the development life cycle. In this paper, we focus on reliability – an important dependability attribute. Specifically, we are interested in developing a compositional and reusable methodology to analyze the reliability of software product line architectures (PLAs), with the goal of leveraging products’ commonalities and differences to maximize potential for reuse. We present a first step in this path, by describing an approach to abstract portions of a Markov-based reliability model corresponding to the commonalities among products, without significantly impacting the accuracy of the analysis. We evaluate our approach to assess its accuracy and generalizability on a real world PLA from the Nationa...
We present Mae an architectural evolution environment, built upon a system model that combines ar... more We present Mae an architectural evolution environment, built upon a system model that combines architectural and configura- tion management concepts into a single representation. Through Mae, users can specify architectures (in terms of their constitu- ent components, connectors, and interfaces) in a traditional man- ner, manage the evolution of the architectures using a check-out/ check-in mechanism that tracks all changes,
Uploads
Papers by Roshanak Roshandel