Browsing by Subject "Software architecture"
Now showing 1 - 14 of 14
Results Per Page
Sort Options
Item A software implementation progress model(Texas Tech University, 2004-08) Towell, DwayneNot availableItem Architectural metrics and evaluation for component based software systems(2006-12) Bhattacharya, Sutirth; Perry, Dewayne E.Component based software engineering has been perceived to have immense reuse potential. This area has evoked wide interest and has led to considerable investment in research and development efforts. Most of these investigations have explored internal characteristics of software components such as correctness, reliability, modularity, interoperability, understandability, maintainability, readability, portability and generality for promoting reuse. But experience over the past decade and a half has demonstrated that the usefulness of a component depends as much on the context into which it fits as it does on the internal characteristics of the component. Software architecture descriptions that take into account the requirements of the domain can be used to serve as this context. While the Perry, Wolf definition of software architecture has been widely acknowledged, a number of architectural description languages (ADL) have emerged that aim to capture various facets of a software, using varying degrees of formalism. There is currently no agreement towards a standard approach for documenting software architectures which would help define the vocabulary for architectural semantics. In spite of lack of any specification standards for components, Software Product Lines (SPL) and Commercial Off The Shelf (COTS) components do provide a rich supporting base for creating software architectures and promise significant improvements in the quality of software configurations that can be composed from pre-built components. However, further research is needed for evaluation of architectural merits of such component based configurations. In this research, we identify the key aspects of software that need to be specified to enable useful analysis at an architectural level. We also propose a set of metrics that enable objective evaluation of reusability potential. Architectural research has established that software architectural styles provide a way for achieving a desired coherence for component-based architectures. Different architectural styles enforce different quality attributes for a system. Thus, if the architectural style of an emergent system could be predicted, a person playing the role of a system integrator could make necessary changes to ensure that the quality attributes dictated by the system requirements were satisfied before the actual system is built and deployed, thus somewhat mitigating project risks. As part of this research, we propose a model for predicting architectural styles based on use cases that need to be satisfied by a system configuration and demonstrate how our approach can be used to determine stylistic conformance. We also propose objective methods for assessing architectural divergence, erosion and drift during system evolution and maintenance.Item Design and implementation of WAI-ARIA in Fire Vox(2007-08) Chen, Charles Louis; Perry, Dewayne E.Highly interactive Web 2.0 applications pose a challenge for accessibility. The W3C is developing a new standard called WAI-ARIA to address this challenge. In this thesis we describe the architecture and implementation of WAI-ARIA support in Fire Vox, screen reading extension for the Firefox web browser. We give an overview of the concepts of accessibility, software architecture, and screen readers; we summarize the architecture and design of the CLC-4-TTS Suite, of which Fire Vox is a part; we explain the WAI-ARIA standard for live region markup; we present an implementation of WAIARIA in Fire Vox; and we we analyze this implementation.Item Detecting software architecture deviations in development workflows(2015-12) Scarborough, Walter E.; Barber, Suzanna K.; Graser, ThomasSoftware architectures are carefully designed with desirable qualities for software products, but they are often changed as code implementations evolve over time. If changes are not monitored and repaired, then a software product can lose the beneficial qualities and advantages intended and accounted for by its original architecture. There is a strong business case for detecting and fixing architecture deviations as early in the development lifecycle as possible. There is a growing class of architecture recovery tools that have been developed by the academic and commercial industries, and some of them can be repurposed to serve as architecture deviation detection tools. This paper surveys the availability of current academic tools and details an experiment that used six commercial tools to attempt to detect known architecture deviations in a Java dictionary application. In doing so, three unique software architecture deviation metrics were uncovered. Although none of the tools used in the experiment could be easily incorporated into an automated development workflow, they do serve as proof of concept that future tools would be capable of detecting architecture deviations and could be more suitable for inclusion in automated workflows.Item Evaluation of dynamic properties of software architectures using software architecture execution(2003) Holt, James Carrell; Barber, K. SuzanneThis dissertation shows that an integration of software architecture execution techniques is capable of evaluating multiple dynamic properties of requirements early and iteratively in the software development lifecycle. Contributions include a process and supporting tool for dynamic property evaluations, experimental results investigating the approach, and a case study involving an industrial software development project. Results show that the techniques developed in this dissertation can assist stakeholders in early detection and correction of requirements errors, and can provide rationale for decision making associated with requirements trade-offs and evolution. Furthermore, the case study illustrates that the evaluation process and tool can be successfully employed to allow stakeholders who are not experts in software architecture execution to perform and analyze results of early dynamic property evaluations.Item FDTD modeling of RF and microwave circuits with active and lumped components(Texas Tech University, 2004-08) Yajaman, BharathaThe objective of this thesis is to develop a systematic framework for modeling electromagnetic wave propagation m RF and Microwave circuits with active and lumped components using S-parameters using the Finite-Difference Time-Domain (FDTD) approach, which was originally proposed by K. S. Yee in 1966. The mediod approximates the differentiation operators of the Maxwell equations with finite difference operators m time and space. This mediod is suitable for finding the approximate electric and magnetic field in a complex three dimensional stmcture in the time domain. The computer program developed in this thesis can be used to simulate various microwave circuits. This thesis provides the theoretical basis for the method, the details of the implementation on a computer and fmally the software itself.Item Improving a management tool through the use of software architecture(2014-08) Lopez-Cabanas, Luis; Barber, K. Suzanne; Krasner, HerbArchitecture Design for deploying or improving a tool or application is a vital step which should be neither ignored nor avoided. The architecture will provide the framework and instructions on how the tool needs to be created in order to comply with the stakeholders’ most important requirements. Utilizing data collected from the different stakeholders involved in the use of an existing tool, an effective architecture structure will be created to improve the tool and satisfy the users’ needs to achieve the desired goals in it. Through the use of an effective architecture design, a toolkit will be created to improve an existing Management Tool to provide a desired outcome. We have learned that having an architecture established prior to starting a development project or in the early lifecycle stages will positively influence the project’s outcome, timely deliverables and financial impact associated with it. It is crucial to consider all aspects surrounding a process or software design, such as stakeholder requirements, internal and external customer feedback, and any particular feature that will guarantee a reliable structure and deployment process.Item iTrak : a social mobile diary and web blogging utility for travelers(2013-05) Dao, Tung Thanh, active 2013; Aziz, AdnaniTrak is a combined mobile and web application that takes advantage of the GPS to allow travelers to share their experience while travelling. The application gathers GPS data and broadcasts it via a web interface or social networks such as Facebook to update user’s status during a trip. iTrak is also equipped with other features such as writing notes or recording video journals to offer a rich experience and provide an interactive diary, along with a real-time tracking ability, for travelers.Item Managing architectural design decision documentation and evolution(2014-12) Che, Meiru; Perry, Dewayne E.Software architecture provides a high-level framework for a software system, and plays an important role in achieving functional and non-functional requirements. Since the year 2004, software architecture has been considered as a set of architectural design decisions (ADDs). However, software architecture is implicit and evolves as the software development process moves forward. The implicitness together with continuous evolution leads to many problems such as architecture drift and erosion as well as high cost reconstruction. Without capturing and managing ADDs, most of existing architectural knowledge evaporates, and reusing and evolving architecture can be difficult. These problems are even more serious in global software development (GSD). This dissertation presents a novel methodology for capturing ADDs during the architecting process and managing the evolution of ADDs to reduce architectural knowledge evaporation. This methodology explicitly documents ADDs using a scenario-based approach, which covers three views of a software architecture, to record architectural knowledge, and incorporates evolution-centered characteristics to manage ADD evolution for reducing architectural knowledge evaporation. Furthermore, the dissertation presents ADD management in the context of GSD to analyze typical ADD management paradigms, and to offer insights on, techniques on, and support for sharing and coordinating ADDs in a GSD setting. This dissertation focuses on both the documentation and the evolution needs for ADDs in localized and global software development.Item Modular Abstract Self-learning Tabu Search (MASTS) : metaheuristic search theory and practice(2008-05) Ciarleglio, Michael Ian, 1979-; Barnes, J. WesleyMASTS is an extensible, feature rich, software architecture based on tabu search (TS), a metaheuristic that relies on memory structures to intelligently organize and navigate the search space. MASTS introduces a new methodology of rule based objectives (RBOs), in which the search objective is replaced with a binary comparison operator more capable of expressing a variety of preferences. In addition, MASTS supports a new metastrategy, dynamic neighborhood selection (DNS), which “learns” about the search landscape to implement an adaptive intensification-diversification strategy. DNS can improve search performance by directing the search to promising regions and reducing the number of required evaluations. To demonstrate the flexibility and range of capabilities, MASTS is applied to two complex decision problems in conservation planning and groundwater management. As an extension of MASTS, ConsNet addresses the spatial conservation area network design problem (SCANP) in conservation biology. Given a set of possible geographic reserve sites, the goal is to select which sites to place under conservation to preserve unique elements of biodiversity. Structurally, this problem resembles the NP-hard set cover problem, but also considers additional spatial criteria including compactness, connectivity, and replication. Modeling the conservation network as a graph, ConsNet uses novel techniques to quickly compute these spatial criteria, exceeding the capabilities of classical optimization methods and prior planning software. In the arena of groundwater planning, MASTS demonstrates extraordinary flexibility as both an advanced search engine and a decision aid. In House Bill 1763, the Texas state legislature mandates that individual Groundwater Conservation Districts (GCDs) must work together to set specific management goals for the future condition of regional groundwater resources. This complex multi-agent multi-criteria decision problem involves finding the best way to meet these goals considering a host of decision variables such as pumping locations, groundwater extraction rates, and drought management policies. In two separate projects, MASTS has shaped planning decisions in the Barton Springs/Edwards Aquifer Conservation District and Groundwater Management Area 9 (GMA9). The software has been an invaluable decision support tool for planners, stakeholders, and scientists alike, allowing users to explore the problem from a multicriteria perspective.Item A reusable command and data handling system for university CubeSat missions(2013-12) Johl, Shaina Ashley Mattu; Lightsey, E. GlennA Command and Data Handling (C&DH) system is being developed as part of a series of CubeSat missions being built at The University of Texas at Austin’s Texas Spacecraft Laboratory (TSL). With concurrent development of four missions, and with more missions planned for the future, the C&DH team is developing a system architecture that can support many mission requirements. The presented research aims to establish itself as a reference for the development of the C&DH system architecture so that it can be reused for future university missions. The C&DH system is designed using a centralized architecture with one main flight computer controlling the actions and the state of the satellite. A Commercial Off-The-Shelf (COTS) system-on-module embedded computer running a Linux environment hosted on a custom interface board is used as the platform for the mission software. This design choice and the implementation details of the flight software are described in detail in this report. The design of the flight software and the associated hardware are integral components of the spacecraft for the current missions in the TSL which, when flown, will be some of the most operationally complex CubeSat missions attempted to date.Item Scalability in analysis of software architectures(2007-08) Chukwuogo, Bosah I.; Shin, Michael; Andersen, Per H.This thesis describes an approach to improving scalability in analysis of software architectures for large-scale application systems by model transformation. The software architecture for a large-scale application system is modeled using the Unified Modeling Language (UML), and then, in consideration of scalability, it is transformed to a hierarchical Colored Petri Net (CPN) model. The goal of CPN to UML model transformation efforts is to use CPN analysis based on well established formal methods to analyze dynamic behavior of the software architecture model. However, for large scale software architectures the resulting CPN model can contain enough states that lead to combinatorial explosion during analysis of the model consequently creating an innumerable state space where any kind of complete analysis may be practically infeasible. This thesis presents a methodology that shows how abstraction can be considered during transformation to reduce the resulting CPN state space while preserving the expected behavior of the software. Detailed descriptions of the transformation process from UML model to CPN model for software architectures of application systems are presented as well as two case studies - Automated Teller Machine (ATM) system and Elevator system. The state spaces generated during analysis of each case study are presented, and the practical feasibility of this methodology is described using results of each case study.Item The traceable lifecycle model(2010-12) Nadon, Robert Gerard; Barber, K. Suzanne; Graser, ThomasSoftware systems today face many challenges that were not even imagined decades prior. Challenges including the need to evolve at a very high rate, lifecycle phase drift or erosion, inability to prevent the butterfly effect where the slightest change causes unimaginable side effects throughout the system, lack of discipline to define metrics and use measurement to drive operations, and no "silver bullet" or single solution to solve all the problems of every domain, just to name a few. This is not to say that the issues stated above are the only problems. In fact, it would be impossible to list all possible problems--software itself is infinitely flexible bounded only by the human imagination. These are just a portion of the primary challenges today's software engineer faces. There have been attempts throughout the history of software to resolve each one of these challenges. There have been those who tried to tackle them individually, simultaneously, as well as various combinations of them at one time. One such method was to define and encapsulate the various phases within software, which has come to be called a software lifecycle or lifecycle model. Another area of recent research has lead to the hypothesis that many of these challenges can be resolved or at least facilitated through proper traceability methods. Virtually none of today's software components are completely derived from scratch. Rather, code reuse and software evolution become a large portion of the software engineer's duties. As Vance Hilderman at HighRely puts it, "Research has shown that proper traceability is vital. For high quality and safety-critical engineering development efforts however, traceability is a cornerstone not just for achieving success, but to proving it as well." So if software is not derived from scratch, having the traceability to know about its origination is invaluable. Given today's struggles, what is in store for the future software engineer? This paper is an attempt to quantify and answer (or at least project a possibility) that involves a new mindset and a new lifecycle model or structure change that may assist in tackling some of the above referenced issues.