Академический Документы
Профессиональный Документы
Культура Документы
Abstraction
_ Each problem component first abstracted.
_ Robotic system problem abstraction in terms of control of motors in different degrees of
freedoms.
_ Application software abstracted as concurrently running multiple threads and interrupt service
threads
Five levels of abstraction from top level to bottom level in the design process
_ Requirements
_ Specifications
_ Architecture
_ Components
_ System Integration
Requirements
Complete clarity of
_ required purpose,
_ inputs,
_ outputs,
_ functioning,
_ design metrics and
_ Validation requirements for finally developed systems specifications.
_ Consistency in the requirements
Specifications
Clear specifications of Customer expectations from the product.
Needs specifications for
_ hardware, for example, peripherals, devices processor and memory Specifications
_ data types and processing specifications.
Needed specifications
_ Expected system behavior specifications,
_ constraints of design,
_ expected life cycle specifications of the product.
_ Process specifications analysed by making lists of inputs on events list, outputs on events,
processes activated on each event.
Architecture
_ data flow graphs
_ program models
_ software architecture layers and
_ hardware architecture
_ interfaces design
_ system integration
Hardware Components
_ Processor, ASIP and single purpose processors in the system
_ Memory RAM, ROM or internal and external flash or secondary memory in the system
_ Peripherals and devices internal and external to the system
_ Ports and buses in the system
_ Power source or battery in the system
Program Model
_ Procedure Oriented
_ Objected Oriented
_ Sequential processes
_ Concurrent processes
State machine
Modular Design
Decomposition of software into modules that are to be implemented.
_ Modules should be such that they can be composed (coupled or integrated) later.
_ Effective Modular design should ensure effective (i) function independence, (ii) cohesion
(Continuity) and (iii) coupling.
Modules
_ Be clearly understood and maintain continuity.
_ Appropriate protection strategies are necessary for each module. A module is not permitted to
change or modify another module functionality.
_ For example, protection from a device driver modifying the configuration of another device.
Refinements
_ Each component and module design needs to be refined iteratively till it becomes the most
appropriate for implementation by the software team.
Design Metrics
_ Power Dissipation
_ Performance
_ Process Deadlines
_ User Interfaces
_ Size
_ Engineering cost
_ Manufacturing cost
Flexibility
_ Prototype development Time
_ Time-to- market System and
_ User safety Maintenance