Authors:
Daniela Genius
1
;
Letitia W. Li
2
and
Ludovic Apvrille
2
Affiliations:
1
LIP6 UMR 7606, France
;
2
Télécom ParisTech, France
Keyword(s):
Virtual Prototyping, Embedded Systems, System-level Design, Formal Verification.
Related
Ontology
Subjects/Areas/Topics:
Applications and Software Development
;
Model Execution and Simulation
;
Model-Based Testing and Validation
;
Model-Driven Software Development
;
Models
;
Paradigm Trends
;
Software Engineering
Abstract:
The design methodology of an embedded system should start with a system-level partitioning dividing functions into hardware and software. However, since this partitioning decision is taken at a high level of abstraction, we propose regularly validating the selected partitioning during software development. The paper introduces a new model-based engineering process with a supporting toolkit, first performing system-level partitioning, and then assessing the partitioning choices thus obtained at different levels of abstraction during software design. This assessment shall in particular validate the assumptions made on system-level (e.g. on cache miss rates) that cannot be precisely determined without low-level hardware model. High-level partitioning simulations/verification rely on custom model-checkers and abstract models of software and hardware, while low-level prototyping simulations rely on automatically generated C-POSIX software code executing on a cycle-precise virtual prototyp
ing platform. An automotive case study on an automatic braking application illustrates our complete approach.
(More)