997 resultados para 120399 Design Practice and Management not elsewhere classified
Resumo:
Since Z, being a state-based language, describes a system in terms of its state and potential state changes, it is natural to want to describe properties of a specified system also in terms of its state. One means of doing this is to use Linear Temporal Logic (LTL) in which properties about the state of a system over time can be captured. This, however, raises the question of whether these properties are preserved under refinement. Refinement is observation preserving and the state of a specified system is regarded as internal and, hence, non-observable. In this paper, we investigate this issue by addressing the following questions. Given that a Z specification A is refined by a Z specification C, and that P is a temporal logic property which holds for A, what temporal logic property Q can we deduce holds for C? Furthermore, under what circumstances does the property Q preserve the intended meaning of the property P? The paper answers these questions for LTL, but the approach could also be applied to other temporal logics over states such as CTL and the mgr-calculus.
Resumo:
The superior frontal cortex (SFC) is selectively damaged in chronic alcohol abuse, with localized neuronal loss and tissue atrophy. Regions such as motor cortex show little neuronal loss except in severe co-morbidity (liver cirrhosis or WKS). Altered gene expression was found in microarray comparisons of alcoholic and control SFC samples [1]. We used Western blots and proteomic analysis to identify the proteins that also show differential expression. Tissue was obtained at autopsy under informed, written consent from uncomplicated alcoholics and age- and sex-matched controls. Alcoholics had consumed 80 g ethanol/day chronically (often, 200 g/day for 20 y). Controls either abstained or were social drinkers ( 20 g/day). All subjects had pathological confirmation of liver and brain diagnosis; none had been polydrug abusers. Samples were homogenized in water and clarified by brief centrifugation (1000g, 3 min) before storage at –80°C. For proteomics the thawed suspensions were centrifuged (15000g, 50 min) to prepare soluble fractions. Aliquots were pooled from SFC samples from the 5 chronic alcoholics and 5 matched controls used in the previous microarray study [1]. 2-Dimensional electrophoresis was performed in triplicate using 18 cm format pH 4–7 and pH 6–11 immobilized pH gradients for firstdimension isoelectric focusing. Following second-dimension SDS-PAGE the proteins were fluorescently stained and the images collected by densitometry. 182 proteins differed by 2-fold between cases and controls. 141 showed lower expression in alcoholics, 33 higher, and 8 were new or had disappeared. To date 63 proteins have been identified using MALDI-MS and MS-MS. Western blots were performed on uncentrifuged individual samples from 76 subjects (controls, uncomplicated alcoholics and cirrhotic alcoholics). A common standard was run on every gel. After transfer, immunolabeling, and densitometry, the intensities of the unknown bands were compared to those of the standards. We focused on proteins from transcripts that showed clear differences in a series of microarray studies, classified into common sets including Regulators of G-protein Signaling and Myelin-associated proteins. The preponderantly lower level of differentially expressed proteins in alcoholics parallels the microarray mRNA analysis in the same samples. We found that mRNA and protein expression do not frequently correspond; this may help identify pathogenic processes acting at the level of transcription, translation, or post-translationally.
Resumo:
A framework is a reusable design that requires software components to function. To instantiate a framework, a software engineer must provide the software components required by the framework. To do this effectively, the framework-component interfaces must be specified so the software engineer knows what assumptions the framework makes about the components, and so the components can be verified against these assumptions. This paper presents an approach to specifying software frameworks. The approach involves the specification of the framework’s syntax, semantics, and the interfaces between the framework and its components. The approach is demonstrated with a simple case study.
Resumo:
Summary form only given. The Java programming language supports concurrency. Concurrent programs are harder to verify than their sequential counterparts due to their inherent nondeterminism and a number of specific concurrency problems such as interference and deadlock. In previous work, we proposed a method for verifying concurrent Java components based on a mix of code inspection, static analysis tools, and the ConAn testing tool. The method was derived from an analysis of concurrency failures in Java components, but was not applied in practice. In this paper, we explore the method by applying it to an implementation of the well-known readers-writers problem and a number of mutants of that implementation. We only apply it to a single, well-known example, and so we do not attempt to draw any general conclusions about the applicability or effectiveness of the method. However, the exploration does point out several strengths and weaknesses in the method, which enable us to fine-tune the method before we carry out a more formal evaluation on other, more realistic components.
Resumo:
Achieving consistency between a specification and its implementation is an important part of software development In previous work, we have presented a method and tool support for testing a formal specification using animation and then verifying an implementation of that specification. The method is based on a testgraph, which provides a partial model of the application under test. The testgraph is used in combination with an animator to generate test sequences for testing the formal specification. The same testgraph is used during testing to execute those same sequences on the implementation and to ensure that the implementation conforms to the specification. So far, the method and its tool support have been applied to software components that can be accessed through an application programmer interface (API). In this paper, we use an industrially-based case study to discuss the problems associated with applying the method to a software system with a graphical user interface (GUI). In particular, the lack of a standardised interface, as well as controllability and observability problems, make it difficult to automate the testing of the implementation. The method can still be applied, but the amount of testing that can be carried on the implementation is limited by the manual effort involved.
Resumo:
Testing concurrent software is difficult due to problems with inherent nondeterminism. In previous work, we have presented a method and tool support for the testing of concurrent Java components. In this paper, we extend that work by presenting and discussing techniques for testing Java thread interrupts and timed waits. Testing thread interrupts is important because every Java component that calls wait must have code dealing with these interrupts. For a component that uses interrupts and timed waits to provide its basic functionality, the ability to test these features is clearly even more important. We discuss the application of the techniques and tool support to one such component, which is a nontrivial implementation of the readers-writers problem.
Resumo:
"Totally functional programming" (TFP) advocates the complete replacement of symbolic representations for data by functions. TFP is motivated by observations from practice in language extensibility and functional programming. Its technical essence extends the role of "fold" functions in structuring functional programs to include methods that make comparisons on elements of data structures. The obstacles that currently prevent the immediate uptake of TFP as a style within functional programming equally indicate future research directions in the areas of theoretical foundations, supporting technical infrastructure, demonstrated practical applicability, and relationship to OOP.
Resumo:
Object-Z offers an object-oriented means for structuring formal specifications. We investigate the application of refactoring rules to add and remove structure from such specifications to forge object-oriented designs. This allows us to tractably move from an abstract functional description of a system toward a lower-level design suitable for implementation on an object-oriented platform.