Review:Mastrave

From Free Software Directory
Revision as of 06:22, 8 October 2011 by Mastro (talk | contribs)
Jump to: navigation, search


Thank you for helping to improve the Free Software Directory!

Please insert the following code in the Entry2 template for this page after the {{Entry2 text:

|Finished review=No

This submission will now wait until an administrator reviews it and chooses whether to add it to the directory. If you would like to become an admin, then visit the directory mailing list and introduce yourself.

Admins, either this page has been processed already, or someone made a request to update an existing page. See what's different. (Admins may also edit that page.)

Admins, when you are done incorporating any needed changes from this page into a main entry, please edit this page and change the following text from: |Finished review=No to: |Finished review=yes. This helps keep submissions organized. (Note that doing this isn't what adds the entry to the directory.)

Name Mastrave
Short description GNU GPLv3-covered library for effective semantic array programming. It is as compatible as possible with both GNU Octave and MATLAB computing environments, offering general purpose, portable and freely available features for the scientific community.
Full description  

Mastrave is a free software library written to perform vectorized scientific computing and to be as compatible as possible with both GNU Octave and Matlab computing frameworks, offering general purpose, portable and freely available features for the scientific community. Mastrave is mostly oriented to ease complex modeling tasks such as those typically needed within environmental models, even when involving irregular and heterogeneous data series.


Semantic array programming

The Mastrave project attempts to allow a more effective, quick interoperability between GNU Octave and Matlab users by using a reasonably well documented wrap around the main incompatibilities between those computing environments and by promoting a reasonably general idiom based on their common, stable syntagms. It also promotes the systematic adoption of data-transformation abstractions and lightweight semantic constraints to enable concise and reliable implementations of models following the paradigm of semantic array programming.

There are a couple of underlying ideas: library design is language design and vice versa (Bell labs); language notation is definitely a "tool of thought" (Iverson), in the sense that there is a feedback between programming/mathematical notation and the ability to think new scientific insights. And perhaps ethic ones.


Science and society

Mastrave is free software, which is software respecting your freedom. As many other free scientific software packages, it is offered to the scientific community to also promote the development of a free society more concerned about cooperation rather than competitiveness, heading toward knowledge and culture freedom.

Such a vision implies the possibility for motivated individuals to freely access, review and contribute even to the cutting-edge academic culture. This possibility relies on the development of tools and methodologies helping to overcome economic, organizational and institutional barriers (i.e. knowledge oligopolies) while systematically promoting reproducible research. This is a long-term goal to which the free software paradigm can and has been able to actively cooperate.

Homepage URL http://mastrave.org
Is GNU No
GNU package name
User level advanced
Component programs
VCS checkout command cvs -z3 -d":pserver:anonymous@cvs.savannah.nongnu.org:/sources/mastrave" co mastrave
Computer languages Matlab/GNU Octave,Bash script,C++,Prolog,PHP,xslt,
Documentation note  

The core of Mastrave is based on the essential intersection of the GNU Octave and Matlab languages. As a consequence, each module/function of the Mastrave library can be documented directly within the source code. The documentation can be accessed - as with each GNU Octave/Matlab function - by typing


help <function-name>


within either GNU Octave or Matlab computing environment. According to ohloh.net, "Across all Matlab projects on Ohloh, 23% of all source code lines are comments. For Mastrave, this figure is 52%" [source: http://www.ohloh.net/p/mastrave/factoids/]

Each module/function of Mastrave follows a fixed semantic documentation template for support users in ergonomically accessing relevant information.

The following documentation template is typical of the Mastrave project:

% Copyright (C) year author(s)
%
% This file is part of Mastrave.
% [ ... GNU GPLv3+ license notice ... ]
%
% ---------------------------------------------------------------------------
%
% [ <output1> ... <outputm> ] = <funname>( 
%   <input1>                    ,
%   <input2> = <default-value2> ,
%   ...                           
%   <inputn> = <default-valuen> )
%
% [ ... Few (up to some tens) lines of human readable text 
%       describing the function ... ]
%
%
%
% (optional) References:
% [ ... Bibliographic scientific references 
%       (see for example @get_reference_data) ... ]
%
%
%
% Input arguments:
%
% <input1>     ::<constraint1>::
%              Description of the first input argument, its
%              semantic constraint(s) and (if the input
%              argument is optional) its default value
%              <default-value1>.
%
% [...]
%
% <inputn>     ::<constraintn>::
%              Description of the n-th input argument, its
%              semantic constraint(s) and (if the input
%              argument is optional) its default value
%              <default-valuen>.
%
%
%
% Examples of usage:
%
% [ ... Short set of mostly independent lines of code to illustrate the 
%       function's main features ... ]
%
%
%
% (optional) Memory requirements:
% [ ... In case of non trivial algorithms for which memory issues 
%       can be expected to apply in particular usages, an analysis of 
%       the memory requirements is provided using the big O notation ... ]
%
%
%
% See also:
% [ ... Related Mastrave functions ... ]
%
%
%
% Keywords:
% [ ... Set of meaningful keyword to ease the function discovery ... ]
%
%
%
% Version: <#a>.<#b>.<#c>
Paid support
Microblog
IRC help
IRC general
IRC development
Related projects
Keywords
Version identifier
Version date
Version status alpha
Version download
Version comment
Finished review



License: GNU GPLv3+

License note: For PHP files:

Additional permission under GNU GPL version 3 section 7

  If you modify this Program, or any covered work, by linking or combining
  it with PHP (or a modified version of PHP), containing parts covered by
  the terms of PHP's license, the licensors of this Program grant you
  additional permission to convey the resulting work. Corresponding
  Source for a non-source form of such a combination shall include the
  source code for the parts of PHP used as well as that of the covered
  work.





Real name: Daniele de Rigo

Role: Project leader

Email: derigo@maieutike.org


Resource audience: Users (e.g. environmental scientists, computational science modelers,...)

Resource kind: Support

Resource URL: https://savannah.nongnu.org/support/?func=additem&group=mastrave

Resource audience: Expert users, Developers of derived packages

Resource kind: VCS Repository Webview

Resource URL: http://cvs.savannah.gnu.org/viewvc/mastrave/?root=mastrave

Resource audience: Users

Resource kind: Homepage

Resource URL: http://mastrave.org

Resource audience: Users, GNU/Linux distribution maintainers

Resource kind: Download

Resource URL: http://mastrave.org/download.html

Resource audience: Expert users, Developers of derived packages

Resource kind: General Subscribe

Resource URL: https://savannah.nongnu.org/account/register.php

Resource audience: Users (e.g. environmental scientists, computational science modelers,...)

Resource kind: Forum

Resource URL: http://identi.ca/group/mastrave

Resource audience: Scientists, Research teams interested in the Mastrave research program

Resource kind: Support

Resource URL: http://mastrave.org/research.html

Audio:
Biology:
Business:
Chat:
Database:
Documentation-tool:
Editor:
Education:
Email:
Game:
Geography:
Graphics:
Hobbies:
Html-editor:
Interface: command-line, library
Internet-application:
Library:
Live-communications:
Localization:
Mathematics: statistics
Network-hookup:
Printing:
Program-build-automation:
Programming-language:
Protocol:
Science: artificial-intelligence, engineering
Security:
Software-development:
System-administration:
Text-creation:
Use: library, mathematics, science
Version-control: cvs
Video:
Web-authoring:
Works-with:
Works-with-format:


Prerequisite kind: Required to use

Prerequisite description: GNU Octave version 3.2.x (or Matlab version 7)


Prerequisite kind: Required to use

Prerequisite description: BASH shell version 4.x


Prerequisite kind: Required to use

Prerequisite description: GNU Coreutils version 7.x


Prerequisite kind: Required to use

Prerequisite description: GNU Sed version 4.2.x


Prerequisite kind: Weak prerequisite

Prerequisite description: GNU Compiler Collection version 4.4.x


Prerequisite kind: Weak prerequisite

Prerequisite description: php version 5 (only development branch)


Prerequisite kind: Weak prerequisite

Prerequisite description: GNU Prolog version 1.3.x or SWI-Prolog version 5.8.x (only development branch)



Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.