11 |
User-developer cooperation in software development : building common ground and usable systemsO'Neill, Eamonn Joseph January 1998 (has links)
The topic of this research is direct user participation in the task based development of interactive software systems. Building usable software demands understanding and supporting users and their tasks. Users are a primary source of usability requirements and knowledge, since users can be expected to have intimate and extensive knowledge of themselves, their tasks and their working environment. Task analysis approaches to software development encourage a focus on supporting users and their tasks while participatory design approaches encourage users' direct, active contributions to software development work. However, participatory design approaches often concentrate their efforts on design activities rather than on wider system development activities, while task analysis approaches generally lack active user participation beyond initial data gathering. This research attempts an integration of the strengths of task analysis and user participation within an overall software development process. This thesis also presents detailed empirical and theoretical analyses of what it is for users and developers to cooperate, of the nature of user-developer interaction in participatory settings. Furthennore, it operationalises and assesses the effectiveness of user participation in development and the impact of user-developer cooperation on the resulting software product. The research addressed these issues through the development and application of an approach to task based participatory development in two real world development projects. In this integrated approach, the respective strengths of task analysis and participatory design methods complemented each other's weaker aspects. The participatory design features encouraged active user participation in the development work while the task analysis features extended this participation upstream from software design activities to include analysis of the users' current work situation and design of an envisioned work situation. An inductive analysis of user-developer interaction in the software development projects was combined with a theoretical analysis drawing upon work on common ground in communication. This research generated an account of user-developer interaction in terms of the joint construction of two distinct fonns of common ground between user and developer: common ground about their present joint development activities and common ground about the objects of those joint activities, work situations and software systems. The thesis further extended the concept of common ground, assessing user participation in terms of contributions to common ground developed through the user-developer discourse. The thesis then went on to operationalise and to assess the effectiveness of user participation in tenns of the assimilation of users' contributions into the artefacts of the development work. Finally, the thesis assessed the value of user participation in tenns of the impact of user contributions to the development activities on the usability of the software produced.
|
12 |
Software Tools for Separating Distribution ConcernsTilevich, Eli 18 November 2005 (has links)
With the advent of the Internet, distributed programming has become a necessity for the majority of application domains. Nevertheless, programming distributed systems remains a delicate and complex task. This dissertation explores separating distribution concerns,
the process of transforming a centralized monolithic program into a distributed one. This research develops algorithms, techniques, and tools for separating distribution concerns
and evaluates the applicability of the developed artifacts by identifying the distribution
concerns that they separate and the common architectural characteristics of the centralized programs that they transform successfully. The thesis of this research is that software tools working with standard mainstream languages, systems software, and virtual machines can effectively and efficiently separate distribution concerns from application logic for object-oriented programs that use multiple distinct sets of resources. Among the specific technical contributions of this dissertation are (1) a general algorithm for call-by-copy-restore semantics in remote procedure calls for linked data structures, (2) an analysis heuristic that determines which application objects get passed to which parts of native (i.e., platform-specific) code in the language runtime system for platform-independent binary code applications, (3) a technique for injecting code in such applications that will convert objects to the right representation so that they can be accessed correctly inside both application
and native code, (4) an approach to maintaining the Java centralized concurrency and synchronization semantics over remote procedure calls efficiently, and (5) an approach to enabling the execution of legacy Java code remotely from a web browser.
The technical contributions of this dissertation have been realized in three software tools for separating distribution concerns: NRMI, middleware with copy-restore semantics; GOTECH, a program generator for distribution; and J-Orchestra, an automatic partitioning system. This dissertation presents several case studies of successfully applying the developed
tools to third-party programs.
|
13 |
Integration of a Standard-Based Quality Assessment into the VizzAnalyzerRuiz de Azua, David January 2006 (has links)
<p>More than half of the total costs in ownership of a software system are maintenance costs. Reverse engineering is becoming more important and complex for huge systems, and tools for reverse engineering are necessary for system evaluation.</p><p>The ISO/IEC 9126 standard defines software quality and The VizzAnalyzer</p><p>Framework is a stand-alone tool for analyzing and visualizing large software systems’ structures.</p><p>In this thesis, we describe the design and implementation of plug-ins for the VizzAnalyzer Framework, a system for reverse engineering, extending their features under the standards of software quality. It has proven to be useful in applying the new features into the VizzAnalyzer Framework being the first tool that includes a software</p><p>quality model.</p>
|
14 |
Applications of lattice theory to model checkingKashyap, Sujatha 27 April 2015 (has links)
Society is increasingly dependent on the correct operation of concurrent and distributed software systems. Examples of such systems include computer networks, operating systems, telephone switches and flight control systems. Model checking is a useful tool for ensuring the correctness of such systems, because it is a fully automatic technique whose use does not require expert knowledge. Additionally, model checking allows for the production of error trails when a violation of a desired property is detected. Error trails are an invaluable debugging aid, because they provide the programmer with the sequence of events that lead to an error. Model checking typically operates by performing an exhaustive exploration of the state space of the program. Exhaustive state space exploration is not practical for industrial use in the verification of concurrent systems because of the well-known phenomenon of state space explosion caused by the exploration of all possible interleavings of concurrent events. However, the exploration of all possible interleavings is not always necessary for verification. In this dissertation, we show that results from lattice theory can be applied to ameliorate state space explosion due to concurrency, and to produce short error trails when an error is detected. We show that many CTL formulae exhibit lattice-theoretic structure that can be exploited to avoid exploring multiple interleavings of a set of concurrent events. We use this structural information to develop efficient model checking techniques for both implicit (partial order) and explicit (interleaving) models of the state space. For formulae that do not exhibit the required structure, we present a technique called predicate filtering, which uses a weaker property with the desired structural characteristics to obtain a reduced state space which can then be exhaustively explored. We also show that lattice theory can be used to obtain a path of shortest length to an error state, thereby producing short error trails that greatly ease the task of debugging. We provide experimental results from a wide range of examples, showing the effectiveness of our techniques at improving the efficiency of verifying and debugging concurrent and distributed systems. Our implementation is based on the popular model checker SPIN, and we compare our performance against the state-of-the-art state space reduction strategies implemented in SPIN. / text
|
15 |
Using intelligent agents for complex software systems maintenanceDobrynin, Mikhail. January 2002 (has links)
Thesis (M.S.)--Ohio University, 2002. / Title from PDF t.p.
|
16 |
Integration of a Standard-Based Quality Assessment into the VizzAnalyzerRuiz de Azua, David January 2006 (has links)
More than half of the total costs in ownership of a software system are maintenance costs. Reverse engineering is becoming more important and complex for huge systems, and tools for reverse engineering are necessary for system evaluation. The ISO/IEC 9126 standard defines software quality and The VizzAnalyzer Framework is a stand-alone tool for analyzing and visualizing large software systems’ structures. In this thesis, we describe the design and implementation of plug-ins for the VizzAnalyzer Framework, a system for reverse engineering, extending their features under the standards of software quality. It has proven to be useful in applying the new features into the VizzAnalyzer Framework being the first tool that includes a software quality model.
|
17 |
The use of software systems to implement Case-Based Reasoning enabled intelligent components for architectural briefing and designConradie, Dirk Cornelis Uys 21 September 2001 (has links)
This thesis describes the development of a prototype Case-Based Reasoning (CBR) enabled intelligent component system, called Architectural General Object System (ARGOS), to facilitate the storage of design information in lightweight cases that can be used on the desktop computer over the total life of the facility. It uses CBR techniques combined with Microsoft ActiveX controls (object technology) to provide a useful autonomous component to implement some of the software requirements of such a system within the context of the global design and construction environment. These technologies ensure a platform independent environment and integration into the Internet. The use of XML (Extensible Mark-up Language) as a design language is explored to facilitate the storage of design data in a persistent and neutral manner independent from the software that originally created it. This ensures a long data life and the enables different actors over the life cycle of a facility to use their own relevant software to process the design information. During the development of AEDES (Architectural Evaluation and Design System), the research team realised that the problem of structuring design knowledge in such a way to support relevant software systems across the life cycle of a facility is far more complex than originally anticipated. Although there are many similarities between the construction and the manufacturing industries, there are also significant and problematic differences. Architectural design tasks take place in an open world where the reasoner's knowledge is incomplete or inconsistent. Due to this the focus in computer-aided architectural design research has shifted back and forth from attempts to totally automate the entire design process to its partial support through drafting tools. In an attempt to overcome some of the enormous complexities, that researchers struggled with over the past 35 years, a prototype intelligent autonomous design component ARGOS is developed in this research. It is clear that automated design methods are not tractable and it is therefore more worthwhile to pursue the creation of a neutral design language and the creation of intelligent and flexible design tools to manipulate these design fragments. An in-depth study is made of various important out-of-industry manufacturing techniques, CBR and object technology and to establish clearly what the desirable characteristics of ARGOS should be. An important requirement is that ARGOS should be generic and non-prescriptive and should work in a Microsoft Windows compliant environment. A solution without the use of CAD is proposed that ensure a generic solution that could add value to many different construction industry actors in many different environments. More recently attempts are being made to introduce post-modern Artificial Intelligence (AI) into design and architecture. Despite all these efforts it is clear that architectural briefing and design has not reached the status of a science and it is unlikely ever to. This is confirmed by recent breakthroughs in the field of Artificial Intelligence (AI) and Knowledge Management that provide deeper insights into the cognitive processes of the designer. This study indicates that XML is a viable means of expressing design knowledge and a feasible alternative for the complex Building Product Models currently proposed whilst at the same time supporting operations in the Internet environment. Design information and the ability to retrieve it is now more important than the software application that originally created it. The autonomous intelligent component ARGOS provides a method to encapsulate design knowledge at both tacit and explicit cognitive levels whilst at the same time providing global communication in a convenient desktop environment. ARGOS is designed in a parametric way that supports any design process that requires positional, volumetric and spatial relationship analysis in both 2D and 3D. Multiple autonomous copies can be placed in a container environment such as Excel. Any process written in any computer language that supports the use of ActiveX controls can be used to manipulate the ARGOS instances. / Dissertation (Ph.D. (Applied Sciences))--University of Pretoria, 2000. / Architecture / unrestricted
|
18 |
Issues in Specifying Requirements for Adaptive Software SystemsPeng, Qian January 2009 (has links)
<p>This thesis emphasizes on surveying the state-of-the-art in software requirements specification with a focus on, autonomic, self-adapting software systems. Since various requirements are brought forward accord with environments, modeling requirements for adaptive software systems may be changed at run-time. Nowadays, Keep All Objectives Satisfied (KAOS) is an effective method to build goal model. Various manipulations, such as change, remove, active and de-active goals, appear new goals, could mediate conflicts among goals in adaptive software system. At specification time, specifications of event sequences to be monitored are generated from requirements specification.</p>
|
19 |
Issues in Specifying Requirements for Adaptive Software SystemsPeng, Qian January 2009 (has links)
This thesis emphasizes on surveying the state-of-the-art in software requirements specification with a focus on, autonomic, self-adapting software systems. Since various requirements are brought forward accord with environments, modeling requirements for adaptive software systems may be changed at run-time. Nowadays, Keep All Objectives Satisfied (KAOS) is an effective method to build goal model. Various manipulations, such as change, remove, active and de-active goals, appear new goals, could mediate conflicts among goals in adaptive software system. At specification time, specifications of event sequences to be monitored are generated from requirements specification.
|
20 |
The evolution of complete software systemsWithall, Mark S. January 2003 (has links)
This thesis tackles a series of problems related to the evolution of completesoftware systems both in terms of the underlying Genetic Programmingsystem and the application of that system. A new representation is presented that addresses some of the issues withother Genetic Program representations while keeping their advantages. Thiscombines the easy reproduction of the linear representation with the inheritablecharacteristics of the tree representation by using fixed-length blocks ofgenes representing single program statements. This means that each block ofgenes will always map to the same statement in the parent and child unless itis mutated, irrespective of changes to the surrounding blocks. This methodis compared to the variable length gene blocks used by other representationswith a clear improvement in the similarity between parent and child. Traditionally, fitness functions have either been created as a selection ofsample inputs with known outputs or as hand-crafted evaluation functions. Anew method of creating fitness evaluation functions is introduced that takesthe formal specification of the desired function as its basis. This approachensures that the fitness function is complete and concise. The fitness functionscreated from formal specifications are compared to simple input/outputpairs and the results show that the functions created from formal specificationsperform significantly better. A set of list evaluation and manipulation functions was evolved as anapplication of the new Genetic Program components. These functions havethe common feature that they all need to be 100% correct to be useful. Traditional Genetic Programming problems have mainly been optimizationor approximation problems. The list results are good but do highlight theproblem of scalability in that more complex functions lead to a dramaticincrease in the required evolution time. Finally, the evolution of graphical user interfaces is addressed. The representationfor the user interfaces is based on the new representation forprograms. In this case each gene block represents a component of the userinterface. The fitness of the interface is determined by comparing it to a seriesof constraints, which specify the layout, style and functionality requirements. A selection of web-based and desktop-based user interfaces were evolved. With these new approaches to Genetic Programming, the evolution ofcomplete software systems is now a realistic goal.
|
Page generated in 0.0794 seconds