SRS > Feature Set > Features

Release Information

Project: Siconos
Internal Release Number: 1.0
Last update: September 15, 2005
Related Documents:
Process impact: This is a set of detailed feature descriptions.

F-1.001: Numerics Basic linear Algebra

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Numerics - General Requirements
Use case(s):
Description: The module SICONOS/Numerics must provide basic algebra objects (vector, matrices, quaternions) relying on a matrix template library.
Notes and Questions:

F-1.002: Numerics methods

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Numerics - General Requirements
Use case(s):
Description: The module SICONOS/Numerics must provide  high performance methods for  basic vector and matrix operations.
Notes and Questions:

F-1.003: Numerics matrices storage.

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Numerics - General Requirements
Use case(s):
Description: The module SICONOS/Numerics must support various storage methods for matrices:
  1. dense (full)
  2. band
  3. sparse
  4. sparse block structured
This support must be undersood in terms of well adapted algorithms for every types of matrix storages.
Notes and Questions:

F-1.010: Blas-Lapack numerical computation

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Numerics - Numerical functionalities requirements.
Use case(s):
Description: The module SICONOS/Numerics has to perform basic linear algebra computations  relying on standard libraries for numerical computation (e.g. LAPACK):
  1. solution of linear system
  2. eigenvalue and eigenvectors problem
  3. singular value decomposition
Notes and Questions:

F-1.011: Numerical solvers for mathematical programming problems

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Numerics - Numerical functionalities requirements
Use case(s):
Description: The module SICONOS/Numerics has to perform solution for mathematical programming problems:
  1. linear Complementarity Problem (LCP) (direct and iterative solutions)
  2. relay
  3. quadratic problem (QP)
  4. non Linear Complementarity Problem (NCP)
    1. Implicit interaction problem (for example 3D friction)
    2. Non linear interaction problem (for example contact and friction)
    3. Non linear smooth problem
    4. A mix of the previous cases
  5. root finding for non smooth (generalized) equations
  6. general non smooth optimization problem
Notes and Questions:

F-1.012: Numerics time integration

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Numerics - Numerical functionalities requirements
Use case(s):
Description: The module SICONOS/Numerics has to perform basic computation for smooth time integration (one-step integration).
Notes and Questions:

F-1.013: Numerical roots finding

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Numerics - Numerical functionalities requirements
Use case(s):
Description: The module SICONOS/Numerics has to perform root finding for non linear smooth equations (Newton's method).
Notes and Questions:

F-1.014: Numerical differentiation

Priority: Optional
Risk: Safe
Functional area(s): Siconos/Numerics - Numerical functionalities requirements
Use case(s):
Description: The module SICONOS/Numerics has to perform numerical, analytical and automatic differentiation.
Notes and Questions:

F-1.020: Numerics API

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Numerics - Interface Requirements
Use case(s):
Description: The module SICONOS/Numerics must provide a common interface to various methods dedicated to one specific type of numerical problem. The set of interfaces must be provided through the following API :
  1. C++ API
  2. Matlab API
  3. Scilab API
Notes and Questions:

F-2.000: Modeling

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Kernel - General Requirements
Use case(s):
Description: The Siconos/Kernel must propose a set of tools to formalize physical process in the framework of NSDS theory.
Notes and Questions:


F-2.001: Simulation

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Kernel - General Requirements
Use case(s):
Description: The Siconos/Kernel must propose a set of numerical strategies to simulate the set of NSDS provided by modeling.
Notes and Questions:


F-2.002: Data input-output management

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Kernel - General Requirements
Use case(s):
Description: The Siconos/Kernel must propose different ways to load and  export data.
Notes and Questions:


F-2.003: Basic linear algebra utilities

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Kernel - General Requirements
Use case(s):
Description: The Siconos/Kernel must propose tools to handle vectors and matrices, with:
  1. overloaded operators
  2. use of Blas/Lapack utilities
  3. read/write matrices from/into files
  4. various standard types of matrix storage:
    • dense
    • band
    • sparse
    • sparse block structured
Notes and Questions:


F-2.004: Error handling

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Kernel - General Requirements
Use case(s):
Description: The Siconos/Kernel must propose tools to handle errors and exceptions.
Notes and Questions:

F-2.005: Plug-in architecture

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Kernel - General Requirements
Use case(s):
Description: The Siconos/Kernel must propose tools and methods for plug-in handling
Notes and Questions:

F-2.006: Modeling and simulation adequacy

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Kernel - Modeling Requirements
Use case(s):
Description: The Modeling part must provide all of the ingredients for the numerical strategies part
Notes and Questions:

F-2.010: NSDS modeling

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Kernel - Modeling Requirements
Use case(s):
Description: The Siconos/Kernel must define and describe several canonical model for several NSDS types:
  1. Linear Complementarity Systems.
  2. Lagrangian dynamical system with unilateral constraints and frictional contact.
  3. Higher order sweeping process.
  4. Projected dynamical systems.
  5. Unilateral differential inclusions.
  6. Differential variational inequalities.
  7. Piecewise Smooth systems.
For each NSDS type, Siconos/Kernel should treat boundary or initial value problems. 
Notes and Questions:

F-2.011: DS Model

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Kernel - Model Formalization Requirements
Use case(s):
Description: The Siconos/Kernel must define and describe several canonical model for Dynamical Systems:
  1. Linear Time invariant systems (LTI).
  2. Non Linear systems.
  3. Lagrangian systems.
  4. Implicit and differential algebraic equations (DAE).
Notes and Questions:


F-2.012: Interactions between DS

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Kernel - Modeling Requirements
Use case(s):
Description: The Siconos/Kernel must provide tools and functions to define interactions between DS, using a non smooth law and the one of following relations types:
  1. Linear time invariant relations (LTIR)
  2. Non linear relations
  3. Lagrangian relations
Notes and Questions:


F-2.013: Non Smooth Law

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Kernel - Modeling Requirements
Use case(s):
Description: The Siconos/Kernel must define and describe several canonical model for Non Smooth Laws:
  1. Complementarity type non smooth law
    1. linear
    2. non linear
    3. cone complementarity
    4. switched complementarity
  2. Newton impact-friction type non smooth law
  3. Newton impact type non smooth law
  4. Relay type non smooth law
  5. Piece-wise linear non smooth law
Notes and Questions:


F-2.014: Translation between Models

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Kernel - Modeling Requirements
Use case(s):
Description: The Modeling must provide several translation tools between the canonical models if possible. (general NSDS, DS, and non smooth laws)
Notes and Questions:

F-2.015: Model Coherency

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Kernel - Modeling Requirements
Use case(s):
Description: The Siconos/Kernel must propose several tools for the analysis of the coherence of the model
Notes and Questions:

F-2.100: Time-stepping scheme

Priority: Essential
Risk: Safe
Functional area(s): Numerical Strategies Requirements
Use case(s):
Description: The Siconos/Kernel must propose a Time--stepping scheme
Notes and Questions:

F-2.101: Event-Driven Scheme

Priority: Essential
Risk: Safe
Functional area(s): Numerical Strategies Requirements
Use case(s):
Description: The Siconos/Kernel must propose an Event--Driven scheme
Notes and Questions:

F-2.102: Mixed Event-Driven, Time Stepping simulation

Priority: Essential
Risk: Safe
Functional area(s): Numerical Strategies Requirements
Use case(s):
Description: The Siconos/Kernel must propose an mixed simulation
Notes and Questions:

F-2.103: One-step numerical time-integration

Priority: Essential
Risk: Safe
Functional area(s): Numerical Strategies Requirements
Use case(s):
Description: The Siconos/Kernel must propose one step time-integrators for dynamical systems.
Notes and Questions:

F-2.104: One-step non-smooth problem

Priority: Essential
Risk: Safe
Functional area(s): Numerical Strategies Requirements
Use case(s):
Description: The Siconos/Kernel must propose tools to handle with one step non smooth problem:
  1. Linear Complementarity Problem
  2. Quadratic Programming  Problem
  3. Relay (Primal and Dual)
  4. Frictional Contact (2D, 3D)
Notes and Questions:

F-2.105: Evaluation/prediction of the relations

Priority: Essential
Risk: Safe
Functional area(s): Numerical Strategies Requirements
Use case(s):
Description: The Siconos/Kernel must propose an evaluation or prediction of the relations at discrete time
Notes and Questions:

F-2.106: Use of Siconos/Numerics

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Kernel - General Requirements
Use case(s):
Description: The Siconos/Kernel must be based on Siconos/Numerics for the basic scientific computation
Notes and Questions:


F-2.200: User plug-in

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Kernel - Modeling Requirements
Use case(s):
Description: The Siconos/Kernel must propose mechanisms to define functions (C and F77)  describing modeling components.
Example: external forces in dynamical systems.
Notes and Questions:


F-2.201: xxxLab plug-in

Priority: Optional
Risk: Safe
Functional area(s): Siconos/Kernel - Modeling Requirements
Use case(s):
Description: The Siconos/Kernel must propose mechanisms (Plug-ins) to define the canonical model through:
  1. Matlab functions
  2. Scilab functions
Notes and Questions:


F-2.202: Dedicated modeling software Plug-in

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Kernel - Modeling Requirements
Use case(s):
Description: The Siconos/Kernel must propose mechanisms (Plug-ins) to define the canonical model through existing modeling software :
  1. Lmgc90 plug-in
  2. Modelica plug-in
  3. Scicos plug-in
  4. Simulink plug-in
  5. Electrical plugin (Spice ?)
Notes and Questions:

F-2.300: XML format

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Kernel - Data management
Use case(s):
Description: The Siconos/Kernel must be able to handle with XML input/output files:
  1. xml parser
  2. xml schema
Notes and Questions:


F-2.301: Input of Siconos Model

Priority: Essential
Risk: Safe
Functional area(s): Data managing
Use case(s):
Description: The software must allow users to load a model from input file (for instance XML).
Notes and Questions:

F-2.302: Output of Siconos Model

Priority: Essential
Risk: Safe
Functional area(s): Data managing
Use case(s):
Description: The software must allow users to save a model into a file (for instance XML).
Notes and Questions:

F-2.303: Data files conversion

Priority: Essential
Risk: Safe
Functional area(s): Data managing
Use case(s):
Description: The software must be able to proceed to several files formats conversions:
  1. Lmgc90 file to XML file
  2. XML file to external software file (GNUplot)
Notes and Questions:

F-2.304: System trace states

Priority: Essential
Risk: Safe
Functional area(s): Data managing
Use case(s):
Description: The software must allow users to trace states of a modelised system during a simulation.
Notes and Questions:

F-2.305: Standard Output

Priority: Essential
Risk: Safe
Functional area(s): Data Managing
Use case(s):
Description: The Software must provide a verbose level execution (all information on the screen)
Notes and Questions:

F-2.306: Partial results saved

Priority: Essential
Risk: Safe
Functional area(s): Data Managing
Use case(s):
Description: The user can select data to save in free format (XML, ASCII)
Notes and Questions:

F-3.000: C++ Siconos/Kernel API

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Front-End
Use case(s):
Description: The Siconos/Front-End must propose a C++ API of the major functionalities of the Siconos/Kernel (Functionalities F.2.xxx). In particular, this API will be wrapped with Python, an object--oriented scripting language.
Notes and Questions:

F-3.001: Scilab Siconos/Kernel API

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Front-End
Use case(s):
Description: The Siconos/Front-End must propose a Scilab API of the major functionalities of the Siconos/Kernel (Functionalities F.2.xxx) . In particular, this API will be called trough the Scilab software.
Notes and Questions:

F-3.002: Matlab Siconos/Kernel API

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Front-End
Use case(s):
Description: The Siconos/Front-End must propose a Matlab API of the major functionalities of the Siconos/Kernel (Functionalities F.2.xxx) . In particular, this API will be called trough the Matlab software.
Notes and Questions:

F-3.003: C++ Siconos/Analysis&Control API

Priority: Essential
Risk: Safe
Functional area(s): Siconos/Front-End
Use case(s):
Description: The Siconos/Front-End must propose a C++ API well-suited (completeness and granularity) for the the analysis (Siconos/Analysis), the control (Siconos/Control).
Notes and Questions: