Software Requirements Engineering Ch 5 B Ramamurthy Page
Software Requirements Engineering Ch. 5 B. Ramamurthy Page 1 1/17/2022
Topics • • Requirements engineering process State machines Event-driven programming Table-driven methods • • Mealy Machines Petri nets for representing behavior of multiprocessors Use case diagrams • Page 2 1/17/2022
Requirements-Engineering Process • Deals with determining the goals, functions, and constraints of systems, and with representation of these aspects in forms amenable to modeling and analysis. Page 3 1/17/2022
Types of requirements • • Standard scheme for realtime systems is defined by IEEE standard IEEE 830. It defines the following kind of requirements: I. Functional II. Non-functional 1. 2. 3. 4. 5. Page 4 External interfaces Performance Logical database Design constraints (ex: standards compliance) Software system attributes Reliability, availability, security, maintainability, portability 1/17/2022
Design methods: Finite state machines • Finite state automaton (FSA), finite state machine (FSM) or state transition diagram (STD) is a formal method used in the specification and design of wide range of embedded and realtime systems. • The system in this case would be represented by a finite number of states. • Lets design the avionics for a fighter aircraft. Page 5 1/17/2022
Fighter aircraft avionics else TAK else MA NAV else NAA Page 6 LO TD NAE MC ED LAN EE 1/17/2022
Finite State Machine (FSM) • M = five tuple { S, i, T, Σ, δ } • S = set of states • i = initial state • T = terminal state (s) • Σ = events that bring about transitions • δ = transitions • Lets do this exercise for the avionics for fighter aircraft Page 7 1/17/2022
State Transition table MA TAK LO NAA MC NAE LAN EE ED NAE NAV NAV NAE TD NAA LAN Page 8 1/17/2022
Lets write the embedded system • Use the table to code a function with case statement • Or write a table-driven code • Which is better and why? Page 9 1/17/2022
- Slides: 9