10,627 research outputs found
Software process modelling as relationships between tasks
Systematic formulation of software process models is currently a challenging problem in software engineering. We present an approach to define models covering the phases of specification, design, implementation and testing of software systems in the component programming framework, taking into account non-functional aspects of software (efficiency, etc.), automatic reusability of implementations in systems and also prototyping techniques involving both specifications and implementations. Our proposal relies on the identification of a catalogue of tasks that appear during these phases which satisfy some relationships concerning their order of execution. A software process model can be defined as the addition of more relationships over these tasks using a simple, modular process language. We have developed also a formal definition of correctness of a software development with respect to a software process model, based on the formulation of models as graphs.Peer ReviewedPostprint (published version
Specifying Reusable Components
Reusable software components need expressive specifications. This paper
outlines a rigorous foundation to model-based contracts, a method to equip
classes with strong contracts that support accurate design, implementation, and
formal verification of reusable components. Model-based contracts
conservatively extend the classic Design by Contract with a notion of model,
which underpins the precise definitions of such concepts as abstract
equivalence and specification completeness. Experiments applying model-based
contracts to libraries of data structures suggest that the method enables
accurate specification of practical software
Analysis of Feature Models Using Alloy: A Survey
Feature Models (FMs) are a mechanism to model variability among a family of
closely related software products, i.e. a software product line (SPL). Analysis
of FMs using formal methods can reveal defects in the specification such as
inconsistencies that cause the product line to have no valid products. A
popular framework used in research for FM analysis is Alloy, a light-weight
formal modeling notation equipped with an efficient model finder. Several works
in the literature have proposed different strategies to encode and analyze FMs
using Alloy. However, there is little discussion on the relative merits of each
proposal, making it difficult to select the most suitable encoding for a
specific analysis need. In this paper, we describe and compare those strategies
according to various criteria such as the expressivity of the FM notation or
the efficiency of the analysis. This survey is the first comparative study of
research targeted towards using Alloy for FM analysis. This review aims to
identify all the best practices on the use of Alloy, as a part of a framework
for the automated extraction and analysis of rich FMs from natural language
requirement specifications.Comment: In Proceedings FMSPLE 2016, arXiv:1603.0857
- …