On the relation between software development and control function development in automotive embedded systems Stefan Kowalewski Embedded Software Laboratory.

Slides:



Advertisements
Similar presentations
Automotive Embedded System Development in AUTOSAR
Advertisements

© Telelogic AB Modeling DoDAF Compliant Architectures Operational Systems Technical.
E-Science Data Information and Knowledge Transformation Thoughts on Education and Training for E-Science Based on edikt project experience Dr. Denise Ecklund.
Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
SAFe Automotive aRchItecture SAFARI. SAFARI_Presentation_Short_v1.ppt 2 / /P. Cuenot/ © Continental AG ARTEMIS/Call2 R&D Project Proposal Project.
Computer Science Department
Software Process Models
CS 325: Software Engineering January 13, 2015 Introduction Defining Software Engineering SWE vs. CS Software Life-Cycle Software Processes Waterfall Process.
Software Engineering 1. Software development – the grand view 2. Requirements engineering.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
May 14, May 14, 2015May 14, 2015May 14, 2015 Azusa, CA Sheldon X. Liang Ph. D. Software Engineering in CS at APU Azusa Pacific University, Azusa,
Presenter: PCLee – This paper outlines the MBAC tool for the generation of assertion checkers in hardware. We begin with a high-level presentation.
MotoHawk Training Model-Based Design of Embedded Systems.
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
© Copyright CSAB 2013 Future Directions for the Computing Accreditation Criteria Report from CAC and CSAB Joint Criteria Committee Gayle Yaverbaum Barbara.
Filling the Gap Between System Design & Performance Verification Rafik HENIA, Laurent RIOUX, Nicolas SORDON Thales Research & Technology.
Software Testing and Quality Assurance
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
Tomorrow’s Software Today ® HCMDSS Panel Presentation: Software and Systems Engineering for Medical Devices W. Rance Cleaveland II, PhD CEO, Reactive Systems.
Requirement Engineering – A Roadmap
CS351 - Software Engineering (AY2005)1 What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects.
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Frequently asked questions about software engineering
Lecture 1.
Software Life Cycle Model
Software Architecture premaster course 1.  Israa Mosatafa Islam  Neveen Adel Mohamed  Omnia Ibrahim Ahmed  Dr Hany Ammar 2.
Robots at Work Dr Gerard McKee Active Robotics Laboratory School of Systems Engineering The University of Reading, UK
How can CPS education provide what the industry needs? Jyotirmoy Deshmukh Toyota Technical Center, Los Angeles.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Requirements Analysis
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
1 Phases in Software Development Lecture Software Development Lifecycle Let us review the main steps –Problem Definition –Feasibility Study –Analysis.
VTT-STUK assessment method for safety evaluation of safety-critical computer based systems - application in BE-SECBS project.
CAD Techniques for IP-Based and System-On-Chip Designs Allen C.-H. Wu Department of Computer Science Tsing Hua University Hsinchu, Taiwan, R.O.C {
 Dipl.-Ing. Lars Grunske, 1 Hasso-Plattner-Institute for Software System Engineering at the University of Potsdam Department of Software Engineering and.
Unified Process versus Extreme Programming. Outline Compare and contrast UP and XP  Processes / Disciplines  Management  Artefacts Risk management.
Introduction to Software Engineering
Software engineering. What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects of software.
MSc Workshop “Turning your Topic into a Project” Rob Kemmer.
Department of Mechanical Engineering The University of Strathclyde, Glasgow Hybrid Systems: Modelling, Analysis and Control Yan Pang Department of Mechanical.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
ITEA International Workshop on Challenges in Methodology, Representation, and Tooling for Automotive Embedded Systems, Berlin 2012 AMALTHEA Tool.
1 WORKSHOP ON COMPUTER SCIENCE EDUCATION Innovation of Computer Science Curriculum in Higher Education TEMPUS project CD-JEP 16160/2001.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
Chapter 1: Introduction Omar Meqdadi SE 2730 Lecture 1 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
1 Software Engineering Ian Sommerville th edition Instructor: Mrs. Eman ElAjrami University Of Palestine.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Introduction to Software Engineering. Why SE? Software crisis manifested itself in several ways [1]: ◦ Project running over-time. ◦ Project running over-budget.
Dynamic software reconfiguration using control supervisors Ugo Buy 13 June 2005.
Fault-Tolerant Parallel and Distributed Computing for Software Engineering Undergraduates Ali Ebnenasir and Jean Mayo {aebnenas, Department.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 systems analysis 1 what is systems analysis? preparation of the system’s requirements/definition,
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
Riga Technical University Department of System Theory and Design Usage of Multi-Agent Paradigm in Multi-Robot Systems Integration Assistant professor Egons.
27/3/2008 1/16 A FRAMEWORK FOR REQUIREMENTS ENGINEERING PROCESS DEVELOPMENT (FRERE) Dr. Li Jiang School of Computer Science The.
Open Incremental Model Checking (OIMC) and the Role of Contracts Model-Based Programming and Verification.
Prof. Hany H. Ammar, CSEE, WVU, and
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 Click to edit Master title style What is Business Analysis Body of Knowledge?
4+1 View Model of Software Architecture
Wolfgang Runte Slide University of Osnabrueck, Software Engineering Research Group Wolfgang Runte Software Engineering Research Group Institute.
Review of last class Software Engineering Modeling Problem Solving
Chapter 1- Introduction
Complexity Time: 2 Hours.
Frequently asked questions about software engineering
HCI in the software process
Model-Driven Analysis Frameworks for Embedded Systems
HCI in the software process
Lecture # 7 System Requirements
Presentation transcript:

On the relation between software development and control function development in automotive embedded systems Stefan Kowalewski Embedded Software Laboratory (Chair Informatik 11) RWTH Aachen University ARTIST Workshop “Beyond AUTOSAR”, Innsbruck, March 2006

Slide 2 Introduction Observation: Software and control function development currently not smoothly integrated. –Technical issues Missing bridge between software and control design models and tools –“Soft” issues Different culture, traditions Misapprehensions about roles in the development process Some even think software and control function design are the same. Model-based Design approaches will require a better integration of both disciplines Aim of the talk : –Share experiences –Discuss approaches to improve integration

Slide 3 Outline Background Experiences Desiderata Approaches Conclusions

Slide 4 Background (1) Short bio – 2000Control engineering, Universities Karlsruhe/Dortmund 2000 – 2003 R&D Robert Bosch GmbH, software technology 2003 – Computer science, RWTH Aachen University My background when entering industry: –Control theory, control engineering –Discrete event systems, hybrid systems theory –Formal verification (model checking) Main work topics: –Software engineering –Software architecture design and analysis –Software re-use, variability management –Safety and reliability of software-intensive systems

Slide 5 Background (2) Much higher interest in “soft” topics (company-wide, also by management) Most pressing (cost) problems have been caused by software development issues (requirements, variability, re-use, etc.), not by control function development Automotive supplier industry is well experienced in developing new functionality up to prototype and first customer level. Problems start when additional customers with different requirements must be served and software qualities become important. “Hard” methods were not in the focus –Control design is considered as being mastered –Formal verification was not of interest

Slide 6 Background (3): Architecture Analysis Workshops One of the main tools at that time to cope with software issues Idea: –Software quality is mostly determined by architecture –Analyse early whether the SW architecture supports business-relevant quality requirements Basis: “Architecture Trade-Off Analysis Method” (ATAM), Software Engineering Institute, Pittsburgh Workshop format Participants: Marketing, Architects, Developers, Testers, Evaluators, if possible Management Steps: Identifying and refining business goals, brainstorming scenarios, play scenarios in architecture, identify critical points

Slide 7 Outline Background Experiences Desiderata Approaches Conclusions

Slide 8 Experiences from architecture analyses in business units Requirements management –Changes of architecture-relevant requirements late in projects Communication between marketing and development –Business goals unknown to architects Organizational structures do not fit any more –Domain-crossing functionalities Re-use, handling variability of products –1500 variants of gasoline engine control systems sold per year –Re-use concepts did not fit market requirements

Slide 9 Experiences from architecture analyses in business units (2) No cost models for software –No lifecycle cost considerations –Product prices determined by hardware –Hardware was fixed before software development began Permanent misunderstandings between control and software engineers

Slide 10 Control Engineers Software Engineers Experiences: Relation between control and SW engineers Requirements Analysis Architecture Design Module/ Algorithm Design Implemen- tation Module Test Integration Test Acceptance Test Handing over printouts of ASCET or SIMULINK designs

Slide 11 How control and SW engineers see each other Control engineers: –System structure (trivial) and algorithms (difficult) follow from control requirements  should be designed by control engineers –Remaining task for software engineers: implementation As a consequence: responsibility for software quality Software engineers: –Control engineers already botch it up in the architecture –System structure has to follow from „non-functional requirements“  should be designed by software engineers –Architecture design is challenging, algorithm design is trivial –Computer-aided control design tools (incl. autocoding) are used to avoid software engineering considerations

Slide 12 Outline Background Experiences Desiderata Approaches Conclusions

Slide 13 Desiderata Better understanding between software and control engineers At least: Sensitivity for different challenges Methodologically: –Early consideration of software requirements in control design –Early integration of control requirements into software requirements

Slide 14 Outline Background Experiences Desiderata Approaches Conclusions

Slide 15 First step: Clarification of goals and responsibilities For control engineers: –There is more to the quality of control software than correct functionality and good control loop performance. For software engineers: –Control function design at its core is not a software design problem. –Closed loop dynamics are a challenge of ist own. Helpful for creating better understanding by control engineers: Strict separation between non-functional and functional requirements or properties  Teaching?

Slide 16 technically oriented business oriented requirements analysis Clarification: Two requirements analysis paths requirements elicitation functional reqs (first version) non-functional requirements (first version) analysis of functional reqs analysis of qualities functional specification driving qualities architecture design

Slide 17 requirements analysis Clarification: Design viewed as an optimization problem analysis of functional reqs analysis of qualities functional spec = optimization constraints driving qualities = optimization criteria design = optimization Find best or good enough solution (measured by qualities) among all admissible solutions (given by functional spec.)

Slide 18 Example for preparing software engineers: Course „Dynamic Systems for CS students“ Signals –mappings from time to value, no matter whether domain and co-domain are discrete, continuous or hybrid Systems –mappings from input signal space to output signal space –State as a general concept for representing dynamics  automata, cont. state space, hybrid systems –Linear systems Analysis –General properties: Causality, controllability, observability, reachability, stability –Continuous systems: Frequency domain analysis, time domain analysis –Discrete systems: Temporal logic, model checking –Hybrid systems: reachability –Simulation (integration of ODEs, DES simulation) Design –Continuous systems: Linear controller design –Discrete systems: Supervisory control synthesis, game theoretic methods

Slide 19 Research: ZAMOMO-Project Integration of model-based software and model-based control system design Partners: –Embedded Software Laboratory, RWTH Aachen –Control Engineering Institute, RWTH Aachen –VEMAC GmbH –AVL GmbH –Fraunhofer-Institute for Information Technology Started this year

Slide 20 Vision of ZAMOMO: Integrated model-based development Requirements Model Specification Model Simulation Model HiL Model Implementation ? ? Plant model Plant model refined Plant Early consideration of non-functional requirements in control system design Early introduction of plant models Consistency of models on different refinement levels, automatic transformation possible?

Slide 21 Outline Background Experiences Desiderata Approaches Conclusions

Slide 22 Conclusions Challenge: Bridging the gap between software and control development Technical issues: –Connecting software models and tools with control design models and tools Soft issues: –Clearer reference model for roles of software and control designers in the development process –Preparation for the cooperation of both disciplines by appropriate teaching