this paper describes a case study that used and evaluated key aspects of a method developed for systematic reusable off-the-shelf software selection. the paper presents a summary of the common problems in reusable off...
详细信息
this paper describes a case study that used and evaluated key aspects of a method developed for systematic reusable off-the-shelf software selection. the paper presents a summary of the common problems in reusable off-the-shelf software selection, describes the method used and provides details about the case study carried out. the case study indicated that the evaluated aspects of the method are feasible, improve the quality and efficiency of reusable software selection and the decision makers have more confidence in the evaluation results, compared to traditional approaches. Furthermore, the case study also showed that the choice of evaluation data analysis method can influence the evaluation results.
Mobile computing represents a major point of departure from the traditional distributed computing paradigm. the potentially very large number of independent computing units, a decoupled computing style, frequent disco...
详细信息
Mobile computing represents a major point of departure from the traditional distributed computing paradigm. the potentially very large number of independent computing units, a decoupled computing style, frequent disconnections, continuous position changes, and the location-dependent nature of the behavior and communication patterns of the individual components present designers with unprecedented challenges in the areas of modularity and dependability. the paper describes two ideas regarding a modular approach to specifying and reasoning about mobile computing. the novelty of our approach rests withthe notion of allowing transient interactions among programs which move in space. We restrict our concern to pairwise interactions involving variable sharing and action synchronization. the motivation behind the transient nature of the interactions comes from the fact that components can communicate with each other only when they are within a certain range. the notation we propose is meant to simplify the writing of mobile applications and is a direct extension of that used in UNITY. Reasoning about mobile computations relies on the UNITY proof logic.
Managing the software development and maintenance process has been identified as a great challenge for several years. Software processes are highly dynamic and can only rarely be planned completely in advance. Dynamic...
详细信息
Managing the software development and maintenance process has been identified as a great challenge for several years. Software processes are highly dynamic and can only rarely be planned completely in advance. Dynamic task nets take this into account. they are built and modified incrementally as a software process is executed. Dynamic task nets have been designed to solve important problems of process dynamics, deciding product-dependent structure evolution, feedback, and concurrent engineering. In order to describe editing and enactment (and their interaction) in a uniform way, task nets are formally defined by means of a programmed graph rewriting system.
Building efficient tools for understanding large software systems is difficult. Many existing program understanding tools build control flow and data flow representations of the program a priori, and therefore may req...
详细信息
Building efficient tools for understanding large software systems is difficult. Many existing program understanding tools build control flow and data flow representations of the program a priori, and therefore may require prohibitive space and time when analyzing large systems. Since much of these representations may be unused during an analysis, we construct representations on demand, not in advance. Furthermore, some representations, such as the abstract syntax tree, may be used infrequently during an analysis. We discard these representations and recompute them as needed, reducing the overall space required. Finally, we permit the user to selectively trade off time for precision and to customize the termination of these costly analyses in order to provide finer user control. We revised the traditional software architecture for compilers to provide these features without unnecessarily complicating the analyses themselves. these techniques have been successfully applied in the design of a program slicer for the Comprehensive Health Care System (CHCS), a million line hospital management system written in the MUMPS programming language.
Scenario diagrams are a well-known notation for visualizing the message flow in object-oriented systems. Traditionally, they are used in the analysis and design phases of software development to prototype the expected...
详细信息
Scenario diagrams are a well-known notation for visualizing the message flow in object-oriented systems. Traditionally, they are used in the analysis and design phases of software development to prototype the expected behavior of a system. We show how they can be used in reverse for understanding and browsing existing software. We have implemented a tool called Scene (SCENario Environment) that automatically produces scenario diagrams for existing object-oriented systems. the tool makes extensive use of an active text framework providing the basis for various hypertext-like facilities. It allows the user to browse not only scenarios but also various kinds of associated documents, such as source code (method definitions and calls), class interfaces, class diagrams and call matrices.
Large software systems have a large number of components and are developed over a long time period frequently by a large number of people. We describe a framework approach to evolving such systems based on an integrat...
详细信息
Large software systems have a large number of components and are developed over a long time period frequently by a large number of people. We describe a framework approach to evolving such systems based on an integration of product and process modelling. the evolving system is represented as a Product Tower, a hierarchy of components which provides views of the product at multiple levels of refinement. the evolution process is component based withthe cooperation between components being mediated by the Product Tower. this ensures that the evolution process is scaleable and that it maintains, and evolves, the design model. We illustrate our approach with an example, outlining an evolution both of the product and of the process. the reflexive facilities of the process are shown to be key in ensuring the framework's ability to evolve.
the successful discrimination between intracardiac arrhythmias using fuzzy classifiers is presented, supporting the potential for such a system for use in implantable defibrillators. A nonlinear predictor using an Ada...
详细信息
the successful discrimination between intracardiac arrhythmias using fuzzy classifiers is presented, supporting the potential for such a system for use in implantable defibrillators. A nonlinear predictor using an Adaptive Neuro-Fuzzy inference System (ANFIS) is used to classify the arrhythmias and therefore distinguish if defibrillation is required or not. A training structure comprising desired input-output data pairs of target electrocardiogram (ECG) waveforms, (i.e. the intra-cardiac arrhythmia), is based on a hybrid learning procedure. A fuzzy inference system (FIS) is generated based on the training data set and generates the desired membership functions and rules for the system. the ANFIS constructs a 'fuzzy classifier' for each arrhythmia which is then used in a run-time simulation to produce a prediction error between the input data and the predicted data. the system resulted in correct arrhythmia detection and classification based on the lowest prediction.
Software prototypes are becoming more and more important, as computer applications invade new domains and as personal prototyping environments become more powerful. Although numerous approaches recommend their use, pr...
详细信息
Software prototypes are becoming more and more important, as computer applications invade new domains and as personal prototyping environments become more powerful. Although numerous approaches recommend their use, prototypes are sometimes treated like their developers' personal toys, and little effort is made to extract and share the experiences and knowledge that emerged as a by-product of building the prototype. In this paper, a strategy is proposed to extract crucial pieces of knowledge from a prototype and from its developer. the strategy is based on monitoring explanations that developers give, analyzing their structure, and feeding results back to support and to focus explanations. During this process, the prototype turns into the centerpiece of a hyperstructured information base, which can be used to convey concepts, implementation tricks and experiences. If organizations begin to view-and treat-prototypes as executable representations of knowledge, they can fully capitalize on the assets prototypes really are.
Repositories must be designed to meet the evolving and dynamic needs of software development organizations. Current software repository methods rely heavily on classification, which exacerbates acquisition and evoluti...
详细信息
Repositories must be designed to meet the evolving and dynamic needs of software development organizations. Current software repository methods rely heavily on classification, which exacerbates acquisition and evolution problems by requiring costly classification and domain analysis efforts before a repository can be used effectively. this paper outlines an approach in which minimal initial structure is used to effectively find relevant software components while methods are employed to incrementally improve repository structures. the approach is demonstrated through PEEL, a tool to semi-automatically identify reusable components, and CodeFinder, a retrieval system that compensates for the lack of explicit knowledge structures through spreading activation retrieval and allows component representations to be incrementally improved while users are searching for information. the combination of these techniques yields a flexible software repository that minimizes up-front costs and improves its retrieval effectiveness as developers use it to find reusable software artifacts.
暂无评论