Skip to main content

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.

Jump to: navigation, search

Difference between revisions of "Building a remote-controlled Rover"

m
 
Line 1: Line 1:
 
==DRAFT==
 
==DRAFT==
This is a draft example of a workflow description for specific APP4MC use cases. Future use cases may include:
+
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 have single core software system and I want to migrate to multi-core system

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

Back to the top