SRS > Use Cases Suite

Release Information

Project: Siconos
Internal Release Number: 1.0
Last update: September 15, 2005
Related Documents:

Use Cases by Priority

  • Essential
    1. UC-03 Developer use
    2. UC-02 Expert Use with C++ or Python API
    3. UC-01Use with a xxxlab
    4. UC-00 Use software with three levels of competence
    5. UC-04 Use in several domains

Use Cases by User


Use Cases list

UC-00: Use software with three levels of competence

Summary: Three kind of users has been identified : End user, Expert user and Developer
Priority: Essential
Use Frequency: Always
Direct Actors:
Users and Developers
Main Success Scenario: The use of Siconos must be addressed with different kind of users:
  • End user through xxxlab
  • Expert user through an API
  • Developer directly through the code
These several type of use will be defined in the next use-cases
Notes and Questions
UC0 - Use software with three levels of competence

UC-01: Use with a xxxlab

Summary: In the first place, the Siconos platform is built and designed for the end-user
Priority: Essential
Use Frequency: Frequently
Main Success Scenario: The end-user has no particular skills in computer science. He should use the software as a black box. He will use it for:
  • Run simulations of Non Smooth Dynamical systems
  • To define various parameters such as
    • Model's equation
    • Numerical simulation
    • Types of output (final results, partial results, time step)
Alternative
Scenario Extensions:
  • A user runs Scilab to invoke the Siconos platform for a new simulation. He has already input files in Lmgc90 format defining the problem and its initial state. Its Siconos input data are defining the kind of mathematical model and numerical simulation, the engine will use. The user specifies he wishes to save the results at the end of the simulation. Then he can carry out his simulation.
  • A user runs Scilab to invoke the Siconos platform for a new simulation. In this case, he provides several Siconos data files in Xml format, which define completely the problem. He also decides that the outputs of the simulation will be made every "10 time step" during the computations, and to extract, at every time step, the coordinates of an object. Then he can carry out his simulation.
  •   User runs Scilab to invoke the Siconos platform for a new simulation. He uses Scilab to define all the data (matrices, functions, scalar parameters, ...). Then he can carry out his simulation.
Notes and Questions

UC1 - Use with a xxLab - part 1 UC1 - Use with a xxLab - part 2

UC-02:Expert Use with C++ or Python API

Summary: The expert user is also an end user, but he is more aware in numerical modeling and simulation of NSDS.
Priority: Essential
Use Frequency: Frequently
Main Success Scenario: He is able to propose new numerical strategies and methods and to implement them in the platform. He is skilled in computer science and knows programming in C++. Therefore, he can use the Python interface or the C++ API of the platform to drive simulations. So, he can
  • Create new functions
  • Re-use already existing functions
  • Develop a new simulation model by using old and new functions
Alternative
Scenario Extensions:
  • A user is not satisfied by the existing numerical models in the platform. He needs a new one and decides to create it. Using the functionalities given by the platform, he plugs a new external functionality. This new functionality is invoked through the C++ interpretor. He has the Xml input files and he wants only the final result. Once he has defined some additional parameters, he can carry out his simulation.
Notes and Questions

UC2 - Expert  Use with C++ or Python API

UC-03: Developer use

Summary: The developer is able to define or to modify the architecture of the platform.
Priority: Expected
Use Frequency: Frequently
Main Success Scenario: He is skilled in computer science and knows very well the platform's architecture. He may access every parts of the program, and can
  • Add / remove numeric computation's modules for its own need, or an other user's need (integration),
  • Modify the Siconos/Engine to :
    • use new modules of numeric computation
    • add / remove functions
    • implement a new simulations model
Alternative
Scenario Extensions:
  • An expert user implements a new functionality, he has developed and tested carefully. A developer can insert expert's code into the engine and make all the modifications needed by this operation. As a consequence, everybody can use the new functionality in downloading the new version of Siconos

UC3 - Developper use

UC-04: Use in several domains

Summary: Several kinds of application can be simulated
Priority: Expected
Use Frequency: Sometimes
Main Success Scenario:
  1. The software can be used in several domains. They can write some dedicated code of NSDS addressing
    • mechanics
    • electronics
    • mechatronics
    • robotics
Alternative
Scenario Extensions:

UC4 - use of a plug-in