MARTE 1.0b2 FTF Avatar
  1. OMG Issue

MARTE — VSL

  • Key: MARTE-117
  • Legacy Issue Number: 11872
  • Status: closed  
  • Source: THALES ( Sebastien Demathieu)
  • Summary:

    Subject: VSL should support definition and application of functions, derivatives, sequences and series. Details: In the early stage of a development process, it may be useful to model control laws of a RTES. VSL seems to be a very good fit for that purpose. However, it misses several mathematical concepts to provide a comprehensive support. VSL should support definitions of functions, derivatives, sequences and series.

  • Reported: MARTE 1.0b1 — Fri, 21 Dec 2007 05:00 GMT
  • Disposition: Resolved — MARTE 1.0b2
  • Disposition Summary:

    In VSL, functions are supported by means of:
    a) The definition of UML::Operations in DataTypes, for the declaration of
    functions in data type libraries.
    b) VSL::OperationCallExpression, for the specification of functions
    (reference/call to declared UML::Operations) in VSL expressions.
    We added a set of minimum operations/functions to MARTE primitive and data
    types (e.g., arithmetic and logic functions). The number of functions that could be
    added to VSL, and useful in the real-time and embedded system domain, is very
    large. In MARTE, we did not attempt to define all these functions. Instead, we
    proposed only a basic subset useful for general expressions. The initial intent
    was that further libraries could extend MARTE libraries to support domainspecific
    functions.
    However, we should assure that different kinds of functions can be declared with
    basis on the current VSL abstract and concrete syntaxes (e.g., the functions
    described in the summary of this issue). In this resolution, we describe how such
    functions (i.e., functions, derivatives, sequences and series) are added to the
    MARTE library of primitive types and supported by VSL.
    From a computer science viewpoint, every function declaration can be expressed
    as a tuple: <name, parameters/arguments, returning type>. For instance, all the
    functions supported by Matlab are defined in this way. In Matlab, functions are program routines, usually implemented in M-files that accept input arguments
    and return output arguments. Every mathematical (or not mathematical) function
    in Matlab is implemented with this basic principle2 (integrals, derivatives,
    matrices, potentials, optimization expressions, etc.). If we look at VSL, the
    “function” notion matches very well with the UML::Operation concept. Thus, VSL
    is supported in Operations for the declaration and specification (expression
    specifications) of functions. In VSL, however, our scope is just the language
    aspects. VSL does not support implementation support on those functions
    (although they could be implemented as methods –UML::Behavior- of such UML
    UML::Operations). Instead, VSL describes the semantic of functions in a
    declarative way.

  • Updated: Fri, 6 Mar 2015 20:58 GMT