close

Вход

Забыли?

вход по аккаунту

?

Презентация

код для вставкиСкачать
Developing
software and hardware in parallel
Vladimir Rubanov
ISP RAS
Agenda
Project problems, tasks and targets
пЃ¬ Production process stages overview
пЃ¬ Organizing fast tools updates
пЃ¬ Selected screenshots
пЃ¬
What we develop
Cross development tools (tools run on Windows or
UNIX platform simulating and debugging target
microprocessor environment applications and generating
final binaries for it):
пЃ¬ Cycle and Bit true Instruction Set Simulator (ISS)
пЃ¬ Macro Assembler
пЃ¬ Linker
пЃ¬ Library Manager
пЃ¬ Disassembler
пЃ¬ C Compiler
пЃ¬ Integrated Development Environment (IDE) with full
visual debugging support (similar to MS Visual Studio)
Why developing in parallel?
пЃ¬
Customers do not know exactly what hardware
they finally need
пЃ¬ Initial specifications are quite raw
пЃ¬ Requirements are being constantly changed
during development process
 At the same time…
– dynamic changes in hardware specifications
should be quickly reflected in software tools
for further changes understanding
(i.e. customers need to have working software
tools to understand what they need to change
more in hardware)
Production process (Overview)
Initial Stage
Initial
requirements
raw draft
Tools Cores
and Prototypes
Update
Cycle
Intermediate
Specifications
and Tools
Release
Stage
Release
HDL
and Tools
Production process (Initial Stage)
пЃ¬
Input
– raw requirements draft (general architecture)
пЃ¬
Activities
–
–
–
–
пЃ¬
Initial general customer needs understanding
Resolving rough conflicts in customer requirements
Setting up collaboration style rules
Creating new and customizing existing ISPRAS universal tool
Cores for customer specifics
Result
– Non conflicting more detailed requirements
– Software Tools Prototypes based on the Cores
Production process (Initial Stage)
Hardware Specification
Development
(Customer)
Initial
requirements
raw draft
Specification
Updates and
Tools Features
Requests
More detailed
Hardware
Specification
Specification Bugs
and Other Ideas
Software Tools
Core Development
(ISP RAS)
Customized Tool
Cores and
Software Prototypes
Constructing a Tool
Universal tool Core
(ready at the very beginning)
Customized tool Core
(constructed at the Initial Stage)
Automatically generated sources
(produced at each Update Cycle)
Manually coded sources
(done at each Update Cycle)
Production process (Update Cycle)
Software
Tools
Sample Applications and
Benchmarks development
using the Tools (Customer)
Minor
Specification
Updates and
Tools Features
Requests
Requirements
Specification
Customized
Tool Cores
Further changes
understanding
(Customer)
Updated
Requirements
Specification
Specification Bugs
and Other Ideas
Software Tools
Development
(ISP RAS)
Updated
Software
Tools
Production process (Release Stage)
Final
Hardware
Specification
HDL Development
(Customer)
Release HDL
Package
Software vs.
Hardware
automatic
co-verification
Intermediate
Tools
Deep Testing
(ISP RAS)
Documentation
(ISP RAS)
Release
Software
Package
Organizing Fast Update Cycle
Key components of the Update Cycle
пЃ¬
пЃ¬
пЃ¬
Internal Productivity Tools
Tool Cores
Semi-automatic Source Generators
Updated
Requirements
Specification
Customized
Tool Cores
Software Tools
Development
(ISP RAS)
Updated
Software
Tools
Organizing Fast Update Cycle
Updated
Requirements
Specification
Converting
to internal
format using
productivity tools
SQL Database
Source Generators
Source Skeletons
Customized
Tool Cores
Manual
code updates
Updated
Software
Tools
Update Cycle:
Understanding Specification Changes
пЃ¬
Problem
– Specification changes are not formally defined by
customer
– Specifications contain bugs and misprints
– We have to understand by ourselves what have changed
пЃ¬
Solution
– Semi-automatic specification extraction tools
• File comparing tools
• Automatic .doc (.pdf) to SQL converters
–
–
–
–
Central internal format storage (SQL Database)
SQL queries to get formal changes description
SQL queries to discover contradictions
Special internal tool for checking consistency
Update Cycle: Generating Sources
пЃ¬
Source Generators
– ISS Decoder and simulating functions templates
– Assembly instructions grammar and binary
mapping
– Disassembler
– IDE visualizations and assembly syntax
highlighting
– Test suite for Assembler and Disassembler
IDE
A SQL Table
Source Generators (ISS)
Source Generators (ISS)
Source Generators (ISS)
Source Generators (ISS)
Source Generators (Assembler)
Results
пЃ¬
Tuned Cross Development Tools production
process targeted at
– Parallel Hardware and Software development
– Non-ideal customer behaviour and specifications
– Fastest tools updates to reflect dynamic changes
in specifications (several hours - several weeks)
пЃ¬
And supported by
– Ready universal source components
– Internal productivity tools
– Automatic source generators
Документ
Категория
Презентации
Просмотров
2
Размер файла
327 Кб
Теги
1/--страниц
Пожаловаться на содержимое документа