28,448 research outputs found
Recommended from our members
An Automated Performance Analysis of a Two Phase Locking Protocol
ANALYST, an interactive protocol performance analyzer, is used to analyze the performance of a two phase locking protocol. ANALYST implements a specification-based methodology for performance analysis of protocols which extracts from an algebraic specification of a protocol a model of its timing behavior. Any timing requirement or performance measure that can be formally specified in terms of attributes of this timing behavior can be thus analyzed. An algebraic specification of a two phase locking protocol that uses time-out for deadlock detection is provided. Two timing requirements necessary for its efficient performance are specified and analyzed yielding optimal settings of protocol parameters (such as timeout rate). Additionally, the mean response time and probability of deadlock of the protocol are specified and analyzed. This, to the best knowledge of the authors, is the first automated, analytic performance analysis of such a high-level protocol
Using NLP tools in the specification phase
The software quality control is one of the main topics in the Software
Engineering area. To put the effort in the quality control during the
specification phase leads us to detect possible mistakes in an early
steps and, easily, to correct them before the design and implementation
steps start. In this framework the goal of SAREL system, a
knowledge-based system, is twofold. On one hand, to help software
engineers in the creation of quality Software Requirements
Specifications. On the other hand, to analyze the correspondence between
two different conceptual representations associated with two different
Software Requirements Specification documents.
For the first goal, a set of NLP and Knowledge management tools is
applied to obtain a conceptual representation that can be validated and
managed by the software engineer.
For the second goal we have established some correspondence measures in
order to get a comparison between two conceptual representations. This
information will be useful during the interaction.Postprint (published version
The Synonym management process in SAREL
The specification phase is one of the most important and least supported
parts of the software development process. The SAREL system has been
conceived as a knowledge-based tool to improve the specification phase.
The purpose of SAREL (Assistance System for Writing Software
Specifications in Natural Language) is to assist engineers in the
creation of software specifications written in Natural Language (NL).
These documents are divided into several parts. We can distinguish the
Introduction and the Overall Description as parts that should be used in
the Knowledge Base construction. The information contained in the
Specific Requirements Section corresponds to the information represented
in the Requirements Base. In order to obtain high-quality software
requirements specification the writing norms that define the linguistic
restrictions required and the software engineering constraints related
to the quality factors have been taken into account. One of the controls
performed is the lexical analysis that verifies the words belong to the
application domain lexicon which consists of the Required and the
Extended lexicon. In this sense a synonym management process is needed
in order to get a quality software specification. The aim of this paper
is to present the synonym management process performed during the
Knowledge Base construction. Such process makes use of the Spanish
Wordnet developed inside the Eurowordnet project. This process generates
both the Required lexicon and the Extended lexicon that will be used
during the Requirements Base construction.Postprint (published version
Putting formal specifications under the magnifying glass: Model-based testing for validation
A software development process is effectively an abstract form of model transformation, starting from an end-user model of requirements, through to a system model for which code can be automatically generated. The success (or failure) of such a transformation depends substantially on obtaining a correct, well-formed initial model that captures user concerns.
Model-based testing automates black box testing based on the model of the system under analysis. This paper proposes and evaluates a novel model-based testing technique that aims to reveal specification/requirement-related errors by generating test cases from a test model and exercising them on the design model. The case study outlined in the paper shows that a separate test model not only increases the level of objectivity of the requirements, but also supports the validation of the system under test through test case generation. The results obtained from the case study support the hypothesis that there may be discrepancies between the formal specification of the system modeled at developer end and the problem to be solved, and using solely formal verification methods may not be sufficient to reveal these. The approach presented in this paper aims at providing means to obtain greater confidence in the design model that is used as the basis for code generation
A Comparison of State-Based Modelling Tools for Model Validation
In model-based testing, one of the biggest decisions taken before modelling is the modelling language and the model analysis tool to be used to model the system under investigation. UML, Alloy and Z are examples of popular state-based modelling languages. In the literature, there has been research about the similarities and the differences between modelling languages. However, we believe that, in addition to recognising the expressive power of modelling languages, it is crucial to detect the capabilities and the weaknesses of analysis tools that parse and analyse models written in these languages. In order to explore this area, we have chosen four model analysis tools: USE, Alloy Analyzer, ZLive and ProZ and observed how modelling and validation stages of MBT are handled by these tools for the same system. Through this experiment, we not only concretise the tasks that form the modelling and validation stages of MBT process, but also reveal how efficiently these tasks are carried out in different tools
Generating target system specifications from a domain model using CLIPS
The quest for reuse in software engineering is still being pursued and researchers are actively investigating the domain modeling approach to software construction. There are several domain modeling efforts reported in the literature and they all agree that the components that are generated from domain modeling are more conducive to reuse. Once a domain model is created, several target systems can be generated by tailoring the domain model or by evolving the domain model and then tailoring it according to the specified requirements. This paper presents the Evolutionary Domain Life Cycle (EDLC) paradigm in which a domain model is created using multiple views, namely, aggregation hierarchy, generalization/specialization hierarchies, object communication diagrams and state transition diagrams. The architecture of the Knowledge Based Requirements Elicitation Tool (KBRET) which is used to generate target system specifications is also presented. The preliminary version of KBRET is implemented in the C Language Integrated Production System (CLIPS)
ACon: A learning-based approach to deal with uncertainty in contextual requirements at runtime
Context: Runtime uncertainty such as unpredictable operational environment and failure of sensors that gather environmental data is a well-known challenge for adaptive systems.
Objective: To execute requirements that depend on context correctly, the system needs up-to-date knowledge about the context relevant to such requirements. Techniques to cope with uncertainty in contextual requirements are currently underrepresented. In this paper we present ACon (Adaptation of Contextual requirements), a data-mining approach to deal with runtime uncertainty affecting contextual requirements.
Method: ACon uses feedback loops to maintain up-to-date knowledge about contextual requirements based on current context information in which contextual requirements are valid at runtime. Upon detecting that contextual requirements are affected by runtime uncertainty, ACon analyses and mines contextual data, to (re-)operationalize context and therefore update the information about contextual requirements.
Results: We evaluate ACon in an empirical study of an activity scheduling system used by a crew of 4 rowers in a wild and unpredictable environment using a complex monitoring infrastructure. Our study focused on evaluating the data mining part of ACon and analysed the sensor data collected onboard from 46 sensors and 90,748 measurements per sensor.
Conclusion: ACon is an important step in dealing with uncertainty affecting contextual requirements at runtime while considering end-user interaction. ACon supports systems in analysing the environment to adapt contextual requirements and complements existing requirements monitoring approaches by keeping the requirements monitoring specification up-to-date. Consequently, it avoids manual analysis that is usually costly in today’s complex system environments.Peer ReviewedPostprint (author's final draft
- …