2,108 research outputs found
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
Abstract State Machines 1988-1998: Commented ASM Bibliography
An annotated bibliography of papers which deal with or use Abstract State
Machines (ASMs), as of January 1998.Comment: Also maintained as a BibTeX file at http://www.eecs.umich.edu/gasm
Executable formal specifications of complex distributed systems with CoreASM
Formal specifications play a crucial role in the design of reliable complex software systems. Executable formal specifications allow the designer to attain early validation and verification of design using static analysis techniques and accurate simulation of the runtime behavior of the system-to-be. With increasing complexity of software-intensive computer-based systems and the challenges of validation and verification of abstract software models prior to coding, the need for interactive software tools supporting executable formal specifications is even more evident. In this paper, we discuss how CoreASM, an environment for writing and running executable specifications according to the ASM method, provides flexibility and manages the complexity by using an innovative extensible language architecture
Autonomics: In Search of a Foundation for Next Generation Autonomous Systems
The potential benefits of autonomous systems have been driving intensive
development of such systems, and of supporting tools and methodologies.
However, there are still major issues to be dealt with before such development
becomes commonplace engineering practice, with accepted and trustworthy
deliverables. We argue that a solid, evolving, publicly available,
community-controlled foundation for developing next generation autonomous
systems is a must. We discuss what is needed for such a foundation, identify a
central aspect thereof, namely, decision-making, and focus on three main
challenges: (i) how to specify autonomous system behavior and the associated
decisions in the face of unpredictability of future events and conditions and
the inadequacy of current languages for describing these; (ii) how to carry out
faithful simulation and analysis of system behavior with respect to rich
environments that include humans, physical artifacts, and other systems,; and
(iii) how to engineer systems that combine executable model-driven techniques
and data-driven machine learning techniques. We argue that autonomics, i.e.,
the study of unique challenges presented by next generation autonomous systems,
and research towards resolving them, can introduce substantial contributions
and innovations in system engineering and computer science
AsmetaF: A Flattener for the ASMETA Framework
Abstract State Machines (ASMs) have shown to be a suitable high-level
specification method for complex, even industrial, systems; the ASMETA
framework, supporting several validation and verification activities on ASM
models, is an example of a formal integrated development environment. Although
ASMs allow modeling complex systems in a rather concise way -and this is
advantageous for specification purposes-, such concise notation is in general a
problem for verification activities as model checking and theorem proving that
rely on tools accepting simpler notations.
In this paper, we propose a flattener tool integrated in the ASMETA framework
that transforms a general ASM model in a flattened model constituted only of
update, parallel, and conditional rules; such model is easier to map to
notations of verification tools. Experiments show the effect of applying the
tool to some representative case studies of the ASMETA repository.Comment: In Proceedings F-IDE 2018, arXiv:1811.09014. The first two authors
are supported by ERATO HASUO Metamathematics for Systems Design Project (No.
JPMJER1603), JST. Funding Reference number: 10.13039/501100009024 ERAT
Comparative Evaluation of the State-of-art Requirements-based Test Case Generation Approaches
The overall aim of software testing is to deliver the error-free and high-quality software products to the end users. The testing process ensures that a software is aligned with the user specification and requirements. In software testing process, there are many challenging tasks however test case generation process is considered as the most challenging one. The quality of the generated test cases has a significant impact on efficiency and effectiveness of the testing process. In order to improve the quality of a developed software, the test cases should be able to achieve maximum adequacy in the testing and requirements' coverage. This paper presents a comparative evaluation of the prominent requirement-based test case generation approaches. Five evaluation criteria namely, inputs for test case generation, transformation techniques, coverage criteria, time and tool's support are defined to systematically compare the approaches. The results of the evaluation are used to identify the gap in the current approaches and research opportunities in requirement-based test case's generation.
Engineering simulations for cancer systems biology
Computer simulation can be used to inform in vivo and in vitro experimentation, enabling rapid, low-cost hypothesis generation and directing experimental design in order to test those hypotheses. In this way, in silico models become a scientific instrument for investigation, and so should be developed to high standards, be carefully calibrated and their findings presented in such that they may be reproduced. Here, we outline a framework that supports developing simulations as scientific instruments, and we select cancer systems biology as an exemplar domain, with a particular focus on cellular signalling models. We consider the challenges of lack of data, incomplete knowledge and modelling in the context of a rapidly changing knowledge base. Our framework comprises a process to clearly separate scientific and engineering concerns in model and simulation development, and an argumentation approach to documenting models for rigorous way of recording assumptions and knowledge gaps. We propose interactive, dynamic visualisation tools to enable the biological community to interact with cellular signalling models directly for experimental design. There is a mismatch in scale between these cellular models and tissue structures that are affected by tumours, and bridging this gap requires substantial computational resource. We present concurrent programming as a technology to link scales without losing important details through model simplification. We discuss the value of combining this technology, interactive visualisation, argumentation and model separation to support development of multi-scale models that represent biologically plausible cells arranged in biologically plausible structures that model cell behaviour, interactions and response to therapeutic interventions
Requirements traceability in model-driven development: Applying model and transformation conformance
The variety of design artifacts (models) produced in a model-driven design process results in an intricate relationship between requirements and the various models. This paper proposes a methodological framework that simplifies management of this relationship, which helps in assessing the quality of models, realizations and transformation specifications. Our framework is a basis for understanding requirements traceability in model-driven development, as well as for the design of tools that support requirements traceability in model-driven development processes. We propose a notion of conformance between application models which reduces the effort needed for assessment activities. We discuss how this notion of conformance can be integrated with model transformations
- …