Integrating Interface Modeling and Analysis in an Industrial Setting (original) (raw)
Related papers
Interface Specification Methods for Software Com Ponents
This report presents an interface specification language developed as a part of the LIME-project (LightweIght formal Methods for distributed component-based Embedded systems) and a tool implementation to support it. The intention is to provide a methodology that is lightweight and complementary to the existing means of quality assurance in a software process.
Modelica - A Strongly Typed System Specification Language for Safe Engineering Practices
Recent years have witnessed a significant growth of interest in modeling and simulation of engineering application systems. A key factor in this growth has been the development of efficient equation-based simulation languages, with Modelica as one of the prime examples. Such languages have been designed to allow automatic generation of efficient simulation code from declarative specifications. A major objective is to facilitate reuse and exchange of models, model libraries, and simulation specifications. The Modelica language and its associated support technologies have achieved considerable success through the development of domain libraries in a number of technical areas. By using domain-libraries complex simulation models can be built by aggregating and combining submodels and components from various physical domains. The concept of safe engineering practices has been one of the most important guidelines when designing Modelica. This made it natural to make Modelica a statically strongly typed language, which allows the compiler to check the consistency of a design before it is executed, in contrast to dynamically typed languages such as Matlab. The ability of static checking has also influenced the design of conditional equations and the ongoing the design of variant handling features in Modelica. Moreover, the language allows support for standardized physical units, thus enabling tools for unit checking of relationships and connections between interfaces. A third possible level of checking is through design rules within application-specific libraries, which can be enforced via assert statements. These properties taken together gives a good foundation for safe engineering practices, even though more work is needed to further increase the safety quality level.
An agenda for specifying software components with complex data models
Computer Safety, Reliability and Security, 1998
We present a method to specify software for a special kind of safetycritical embedded systems, where sensors deliver low-level values that must be abstracted and pre-processed to express functional and safety requirements adequately. These systems are characterized by a reference architecture. The method is expressed as an agenda, which is a list of activities to be performed for setting up the software specification, complemented by validation conditions that help detect and correct errors. The specification language we use is a combination of the formal notation Z and the diagrammatic notation statecharts. Our approach not only provides detailed guidance to specifiers, but it is also part of a more general engineering concept for engineering safety-critical embedded systems that was developed in the ESPRESS project, a joint project of academia and industry.
Refinement and verification in component-based model-driven design
Science of Computer Programming, 2009
UNU-IIST is jointly funded by the government of Macao and the governments of the People's Republic of China and Portugal through a contribution to the UNU Endowment Fund. As well as providing two-thirds of the endowment fund, the Macao authorities also supply UNU-IIST with its office premises and furniture and subsidise fellow accommodation.
A Specification Model for Interface Suites
Lecture Notes in Computer Science, 2001
The paper describes a model and tool support for a UMLbased specification approach, extending UML with templates for structured specifications deriving from the ISpec approach. The approach is component-oriented where the unit of description is an interface suite: a coherent collection of interfaces defining interactions that transcend component boundaries. To handle complexity, descriptions from various points of view are necessary, expressed by UML diagrams, templates, etc. The issue is to ensure that the views are consistent. For this, we provide a model to integrate the views. The model is sequence-based; the elements of the sequences are carefully designed tuples that reflect the interface suite approach. Abstractions from the model reflect the views. The model provides the underlying structure for tooling. We developed extensions to Rational Rose by customizing specifications, automating diagram generation and enabling some consistency checks.
Synchronous modeling of avionics applications using the signal language
The 9th IEEE Real-Time and Embedded Technology and Applications Symposium, 2003. Proceedings.
In this paper, we discuss a synchronous, componentbased approach to the modeling of avionics applications. The specification of the components relies on the avionics standard ARINC 653 and the synchronous language SIGNAL is considered as modeling formalism. The POLY-CHRONY tool-set allows for a seamless design process based on the SIGNAL model, which provides possibilities of high level specifications, verification and analysis of the specifications at very early stages of the design, and finally automatic code generation through formal transformations of these specifications. This suits the basic stringent requirements that should be met by any design environment for embedded applications in general, and avionics applications in particular.
Reverse Engineering of Legacy Software Interfaces to a Model-Based Approach
2018 Federated Conference on Computer Science and Information Systems (FedCSIS), 2018
Cyber-physical systems consist of many hardware and software components. Over the life-cycle of these systems, components are replaced or updated. To avoid integration problems, good interface descriptions are crucial for component-based development of these systems. For new components, a Domain Specific Language (DSL) called Component Modeling & Analysis (ComMA) can be used to formally define the interface of such a component in terms of its signature, state and timing behavior. Having interfaces described in a model-based approach enables the generation of artifacts, for instance, to generate a monitor that can check interface conformance of components based on a trace of observed interface interactions during execution. The benefit of having formal interface descriptions also holds for legacy system components. Interfaces of legacy components can be reverse engineered manually. In order to reduce the manual effort, we present an automated learner. The learner can reverse engineer...
Model-driven automation for simulation-based functional verification
ACM Transactions on Design Automation of Electronic Systems, 2012
Developing testbenches for dynamic functional verification of hardware designs is a software intensive process that lies on the critical path of electronic system design. The increasing capabilities of electronic components is contributing to the construction of complex verification environments that are increasingly difficult to understand, maintain, extend and reuse across projects. Modeldriven software engineering addresses issues of complexity, productivity and code quality through the use of high-level system models and subsequent automatic transformations. Reasoning about verification testbench decomposition becomes simpler at higher levels of abstraction. In particular, the aspect-oriented paradigm, when applied at the model level can minimize the overlap in functionality between modules, improving maintainability and reusability. This paper presents an aspect-oriented model-driven engineering process and toolset for the development of hardware verification testbenches. We illustrate how this process and toolset supports modularized design and automatic transformation to verification environment-specific models and source code through an industry case study.
Industrial Application of Domain Specific Languages Combined with Formal Techniques
Proceedings of the 1st International Workshop on Real World Domain Specific Languages, 2016
Two Domain Specific Languages (DSLs) have been developed to improve the development of a power control component of interventional X-ray systems of Philips. Configuration files and test cases are generated from instances of these DSLs. To increase the confidence in these instances and the generators, formal models have been generated to analyse DSL instances and to crosscheck the results of the generators. A DSL instance serves as a single source from which the implementation and the formal analysis models are generated. In this way, it is easy to maintain the formal support in case of changes and for new product releases. We report about our experiences with this approach in a real development project at Philips.