Difference between revisions of "Proj-2014-2015-ESP8266/SRS"

From air
Jump to navigation Jump to search
Line 65: Line 65:
 
It's output generate executables for Xtensa processors by means of the Xtensa toolchain.
 
It's output generate executables for Xtensa processors by means of the Xtensa toolchain.
   
  +
[[File:Device flow.png]]
[[File:https://raw.githubusercontent.com/librallu/RICM4Projet/master/reports/diagrams/device_flow.png]]
 
   
 
==2.2 Product functions==
 
==2.2 Product functions==

Revision as of 16:33, 26 January 2015

The document provides a template of the Software Requirements Specification (SRS). It is inspired of the IEEE/ANSI 830-1998 Standard.


Read first:

Document History
Version Date Authors Description Validator Validation Date
0.1.0 Jan 26 2015 Luc Libralesso - Olivier Soldano TBC TBC TBC


1. Introduction

1.1 Purpose of the requirements document

The purpose of the project is to implement a toolchain that allows to write programs in a high level language (in this case python2.7), compile it into a low level language like C or C++ and compile it with an other toolchain for running this program on an arduino-like board.


1.2 Scope of the product

For a given arduino-like board, we want to generate C++ code from given python code that compiles in a given toolchain.


1.3 Definitions, acronyms and abbreviations

* Toolchain : set of tools that compiles a program for a given processor
* C,C++,python: Programming languages
* high level language : a language alike natural language
* low level language : a language alike assembly language


1.4 References

1.5 Overview of the remainder of the document

2. General description

2.1 Product perspective

This project use the python2.7 language specifications for it's inputs. It's output generate executables for Xtensa processors by means of the Xtensa toolchain.

Device flow.png

2.2 Product functions

2.3 User characteristics

2.4 General constraints

2.5 Assumptions and dependencies

3.Specific requirements, covering functional, non-functional and interface requirements

  • maintenance : scaleable code
  • robust : each command is correctly executed
  • useable : easy to use and get started with
  • ethic : free software and well crafted code (PEP8 tests for instance)
  • space : the memory heap limited on ESP8266 so we need a small executable file

3.1 Requirement X.Y.Z (in Structured Natural Language)

Function:

Description:

Inputs:

Source:

Outputs:

Destination:

Action:



Non functional requirements:

Pre-condition:

Post-condition:

Side-effects:

4. Product evolution

5. Appendices

6. Index