Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Building a remote-controlled Rover"
m |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | ==DRAFT== | ||
+ | This is a draft example of a workflow description for specific [https://www.eclipse.org/app4mc/ 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''' | '''Systems requirements engineering''' | ||
*communication interface, steering/motor interfaces | *communication interface, steering/motor interfaces | ||
Line 14: | Line 23: | ||
'''Software architecture''' | '''Software architecture''' | ||
− | *It should implement an MQTT client that sends out status information (direction, speed, obstacle insight) via XXX communication (wifi) stack. | + | *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) | *Refine SW to HW mapping (Tools: APP4MC) | ||
Latest revision as of 06:18, 18 January 2017
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