system design from
play

System Design: From Requirements to Implementation A.Ferrari - PowerPoint PPT Presentation

System Design: From Requirements to Implementation A.Ferrari O.Ferrante, L.Mangeruca Advanced Laboratory on Embedded Systems S.r.l. A Research and Innovation Company Outline Motivations Design using successive refinement Design


  1. System Design: From Requirements to Implementation A.Ferrari O.Ferrante, L.Mangeruca Advanced Laboratory on Embedded Systems S.r.l. A Research and Innovation Company

  2. Outline  Motivations  Design using successive refinement — Design flow description — From requirements to sub-systems — From sub-systems to functional decomposition — From functional decomposition to physical implementation  Overview of existing design languages  Conclusions 2 10/15/2012 ALES S.r.l.

  3. System Engineering Challenges Large systems Heterogeneous Described using natural High Costs language requirements Distributed Long time-to-market Developed concurrently Complex Thousands of Engineers 4 countries 16 sites Fly-by-wire ECS EPS Engines & Aerodynamic Source: New York Times (http://www.nytimes.com/2006/12/11/business/worldbusiness/11iht-airbus.3860198.html?pagewanted=2&_r=2) 3 10/15/2012 ALES S.r.l.

  4. Outline  Motivations  Design using successive refinement — Design flow description — From requirements to sub-systems — From sub-systems to functional decomposition — From functional decomposition to physical implementation  Overview of existing design languages  Conclusions 4 10/15/2012 ALES S.r.l.

  5. Design using successive refinement Ambiguous and incomplete User needs system specification (Formal), not-fully System Requirements deterministic system description Sub-system library Subsystem decomposition & requirements refinement (Formal), compositionally Sub-Systems Requirements refined and not-fully deterministic system description Functions library Subsystem functions selection Functional Decomposition Formal definition of detailed functional computation . May be HW/SW components HW/SW architecture selection not fully deterministic on some aspects (e.g., time, …) Architecture definition & mapping Function to architecture mapping System’s detailed Implementation implementation 5 10/15/2012 ALES S.r.l.

  6. From System Requirements to Sub-system Requirements Design step actions Library elements Requirements decomposition Sub-system elements Sub-systems interfaces identification Sub-system interface elements Responsibility identification (concurrent development) System Requirements Sub-system library Sub-Systems Requirements Design step verification Target level model verification Requirement Analysis Feasibility Analysis The sub- system requirements are a refinement of the system’s Does an implementation exist? (no conflicting requirements) requirements? (Non-)Determinism Analysis Are multiple behaviors (and implementations) expected? 6 10/15/2012 ALES S.r.l.

  7. SPRINT ATS use case Automated Towing System (ATS) Towbot C4I* User vehicle Receives dispatch commands and autonomously moves to the requested location Uses an automatic cruise control Centralized control for the dispatching of the towbot system Should coordinate user vehicles requests and the In case of emergency requests a towbot towbot dispatching Waits until a towbot arrives *Command Control Communications Computers, and Intelligence 7 10/15/2012 ALES S.r.l.

  8. A From requirements to sub-system requirements - Example G The C4I handles the communication with the tow bots and C4I Sub-system decomposition and implements the tow-bot dispatch algorithm requirements formalization When a request arrives ( req event) to the controller, it dispatch an available tow-bot and waits until it arrives at destination (input atDestination ) generating a reqConfirm event The user vehicle position is communicated to the controller using the newPosition event of type PositionType ASSUMPTION Every time a TowBot is requested , a TowBot dispach confirmation follows Everytime [reqTowBot] then [reqServed] ASSUMPTION follows Every time a TowBot dispatch request is send, the TowBot arrives at destination Everytime [tbReq] then [atDestination] eventually PROMISE Every time the TowBot controller receives a PROMISE dispatch requests, it sends a request to the Every time a user vehicle requests a TowBot, TowBot in 5ms it will be served in 1hour Everytime [req] then [tbReq] happens Everytime [uvReq] occurs implies within 5ms [uvServed] within 1hour 8 10/15/2012 ALES S.r.l.

  9. Design using successive refinement Definition and selection of system logical Systems Requirements components Sub-systems library Requirements decomposition Sub-systems interfaces identification Sub-system Requirements Responsibility identification (concurrent development) The need of a compositional approach and component-based modeling languages Are ReqA and ReqB a valid decomposition of System ReqA Requirements? If A satisfies its requirements and B satisfies its A B requirements, is this true also for their composition? System If A satisfies its requirements and B satisfies its ReqB Req requirements, is it true that they also satisfies the System Requirements? 9 10/15/2012 ALES S.r.l.

  10. ALES Experience – Requirements formalization using the Contract Editor tool System  Graphical editor for system specification specification — Graph basic semantics — Native concepts: component, port, connection, parameter, variable Parameterization — Eclipse & EMF underlying technologies • Unique formalized model for capturing design  Multiple DSL s support — E.g., system structure, distributed simulation structure, etc…  Visual representation of state — Textual (displays/scopes) or change of image/shape/color of components/lines  Dedicated parameterization view  Contracts specification — Pattern based specification — Textual language  Plug-in based framework Contract — New functionality can be built using the specification eclipse mechanism 10 10/15/2012 ALES S.r.l.

  11. From Requirements to Functional Architecture Design step actions Library elements Functional elements data-types & interfaces definition Data type & Interface elements Communication primitives selection Communication primitives library (FIFO, rendez-vous,, …) Identification of appropriate MoC for each functional component MoC library (DE, CT, DT, …) Sub-Systems Requirements Functional library Functional Decomposition Design step verification Target level model verification Are the interfaces of connected functional elements compatible? For each subsystem, is the functional network satisfying the subsystem’s requirements? Are data types well-defined? Are chosen MoCs and communication primitives compatible? 11 10/15/2012 ALES S.r.l.

  12. From Requirements to Functional Architecture – Example Towbot cruise control subsystem requirements The cruise control shall tolerate variations of the If the road slope changes in the range -8% wind speed between -15 m/s (headwind) and +15 and 8%, the cruise speed is equals to the m/s (tailwind) with a maximum variation of 5 m/s reference speed with a maximum error of every sampling period (T=40 ms). 5.5% Functional model Discretized model of the cruise control subsystem (road slope, rolling friction, aerodynamic drag) Discrete-time PI control-law functional description Formal sub-system requirements Sub-system free inputs Verification of the functional network 12 10/15/2012 ALES S.r.l.

  13. Cruise control contracts  Contract specification — Assumption is the conjunction of three assertions • The slope value (slope percentage) is in {-8, -4, 0, 4, 8} • The wind gust value is in {-15, 0, 15} m/s • The wind gust, every 40 ms, can change of a maximum absolute value of 15 m/s — Promise : • the actual speed value is  5.5% of the reference speed value 13 10/15/2012 ALES S.r.l.

  14. From requirements to functional architecture – Example This block constraints current This pattern constraint the speed value to be  5.5% of the input condition to be true at reference value every step Atomic patterns Constraint on the possible values of slope and wind gust Composition blocks This block computes the derivative of The blocks assert that every- the gust (D_GUST) and it assert a time the gust value changes, Boolean signal if the slope gust value the derivative is less than  15 has changed m/s 14 10/15/2012 ALES S.r.l.

  15. ALES Experience – Requirement & Functional architecture description & formal verification Automatic Simulink model transformation and property check for the functional architecture Functional Model FormalSpecs Verifier Model Formal Verification Transformation Backend Harness Model Requirements Formal Requirement Patterns Automatic generation of Pattern based contract Simulink harness model specification using the exposing requirement contract editor & Simulink violation exports of requirements 15 10/15/2012 ALES S.r.l.

Recommend


More recommend