Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Building a remote-controlled Rover
Revision as of 06:18, 18 January 2017 by Susan.iwai.eclipse.org (Talk | contribs)
DRAFT
This is a draft example of a workflow description for specific APP4MC use cases. Future use cases may include:
- I have single core software system and I want to migrate to multi-core system
- I’m starting with multi-core development - how can APP4MC help me
I'm building a remote-controlled Rover
Systems requirements engineering
- communication interface, steering/motor interfaces
- Internal protocols
System Architecture
- Components - communication HW, engine, servos to control steering, CPU or embedded system on a chip, chassis, wheels, remote control device (tablet, PC)
- Create a preliminary mapping from SW to HW
- Identify minimal hardware capabilities (APP4MC)
- Define - hardware, software, OS, (timing) constraints - models (APP4MC)
Software requirements
- Receive status messages from the Rover, for example heading, speed, obstacle warning, temperature
- Receive video feed in future version
Software architecture
- It should implement an MQTT client that sends out status information (direction, speed, obstacle insight) via XXX communication (wifi) stack.
- Tools: Mechantronic UML, Rhapsody, Papyrus RT? etc
- Refine SW to HW mapping (Tools: APP4MC)
Behavior modeling
- Describe behavior of software components
- state charts for protocols
- Tools: Papyrus, Mechatronic UML
- Access types, timing information (periods, deadlines), order constraints
- Tools: APP4MC
Implementation
- Test design, implementation of software, software integration and code review
- Define which parts of the software run on which core depending on OS, partitioning model, timing model
- Tools: APP4MC
- taskset (1) :
Validation
- Simulation (Tools: TA, Linux tools from Ericsson <?> )
- Trace (APP4MC, TraceCompass)
System Integration
- Create executables, partitioning, task creation, target mapping
- Tools: APP4MC