SFPP3 = SAFE FOOD PACKAGING PORTAL version 3
A framework to deploy migration simulation and decision tools.

This page describes the principles and philosophy of the SFPP3 framework.

SFPP3 is developed and distributed by INRA.

SFPP3 = powerfull framework distribuable to end users

The SFPP3 framework is part of the effort at INRA to facilitate the distribution of industrial decision tools written in high-end mathematical language (C++, Matlab, Scilab…) without limiting third-party license restrictions and with minimal rewriting. Contrary to prior versions of SFPP, whiwh were only available on-line, SFFP3 can be deployed to any company or laboratory and on major operating systems (Windows XP/2003/Vista/7 32/64 bits and Linux 32/64 bits). SFPP3 computational engines include more than 40 different primitives to solve partial differential equations, to perform Monte-Carlo and pseudo Monte-Carlo simulation, molecular modellng, 2D/3D rendering with transparency, statistical analysis... All these computational engines can be easily connected to local or remote databases.

SFPP3 is a client/server application

Applications compatible with the SFPP3 framework, so-called SFPP3 applications, are available through a Web interface. As a result, they can executed as standalone or remote applications, over a local area network or even over internet. Using group policy, a same project can be shared from different places by several users. Results can be exported in several formats including HTML, images, PDF and native XLS (when Excel is also installed on the server).

SFPP3 relies on WEB standards: HTML, XML, SOAP protocol

As SFPP3 is HTML-centric, a new industrial application (which corresponds to a specific need) can be created by any web-designer with basic knowledge of HTML, CSS and Javascript. Best experiences are obtained with modern web browsers using the last layout engine and application framework (Firefox 3.x, Google Chrome 2.x, Safari 4.x). Despite its limited support for open web standards, Internet Explorer 7 and 8 are supported (with less performance).

SFFP3 traceability of dataflow and simulations

By design, the SFPP3 framework complies with strong requirements of traceability. All inputs and outputs are uniquely stored and chronologically interalated. A complementary form of data integration deals with reuse across simulation models themselves to create templates.

CONDITION OF DISTRIBUTION OF SFPP3

The rapid delivery of decision tools demands a framework of principles and supporting documents that promotes sharing and appropriately protects the intellectual property rights of the creators while permitting commercial development when optimal to bring products and tools into use for the public good.
Academics are always granted of a free software licence. When modified versions of SFPP3 are distributed, they must be distributed under the same terms as the original one, in particular with all its documentation included. Besides, the new license and the documentation must preserve the name of the author and must recognize that the original SFPP3 was developed and funded by INRA (The french National Institute for Agricultural Research). The name of INRA cannot be used to promote derivative products based on SFPP3 without permission.
Industry and private companies can get a non-exclusive license to use one or more copies of SFPP3 from INRA or from a third party. By default, private companies do not have the permission to sublicense or to redistribute SFPP3 without a specific agreement with INRA or with the author. In particular, there is a specific concern of INRA to protect intellectual property and to provide the incentives necessary to fund further research and to invest in the significant costs associated with bringing robust software to the general marketplace.

WARRANTY DISCLAIMER

THE SFPP3 FRAMEWORK IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SFPP3 FRAMEWORK OR THE USE OR OTHER DEALINGS IN THE SFPP3 FRAMEWORK.

WHAT IS INRA ?
The National Institute for Agricultural Research is a mission-oriented public research institution founded in 1946 under the joint authority of the French Ministry of Higher Education and Research and the Ministry of Agriculture and Fisheries.
Ranked the number one agricultural institute in Europe and number two in the world, INRA carries out mission-oriented research for high-quality and healthy foods, competitive and sustainable agriculture and a preserved and valorised environment.
LICENSE DEFINITION
A licensor may grant license under intellectual property laws to authorize a use (such as copying or distributing a software) to a licensee, sparing the licensee from a claim of infringement brought by the licensor.
CLIENT/SERVER ARCHITECTURE
Client-server computing is a distributed application architecture that partitions computational tasks between computation providers (servers) and computation requesters, called clients. Often clients and servers operate over a computer network on separate hardware. A server machine is a high-performance host that is running one or more server programs which share its resources with clients. A client does not share any of its resources, but requests a server's content or service function. Clients therefore initiate communication sessions with servers which await (listen to) incoming requests.
HTML, XML, SOAP, JAVASCRIPT, CSS
HTML, which stands for Hyper Text Markup Language, is the predominant markup language for web pages. It provides a means to create structured documents by denoting structural semantics for text such as headings, paragraphs, lists etc as well as for links, quotes, and other items. It allows images and objects to be embedded and can be used to create interactive forms
XML (Extensible Markup Language) is a set of rules for encoding documents electronically.It is defined in the XML 1.0 Specification produced by the W3C and several other related specifications; all are fee-free open standards. XML’s design goals emphasize simplicity, generality, and usability over the Internet. It is a textual data format, with strong support via Unicode for the languages of the world. Although XML’s design focuses on documents, it is widely used for the representation of arbitrary data structures, for example in web services.
SOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks. It relies on Extensible Markup Language (XML) as its message format, and usually relies on other Application Layer protocols (most notably Remote Procedure Call (RPC) and HTTP) for message negotiation and transmission. SOAP can form the foundation layer of a web services protocol stack, providing a basic messaging framework upon which web services can be built.
JavaScript is a scripting language used to enable programmatic access to objects within both the client application and other applications. It is primarily used in the form of client-side JavaScript, implemented as an integrated component of the web browser, allowing the development of enhanced user interfaces and dynamic websites. JavaScript is a dialect of the ECMAScript standard and is characterized as a dynamic, weakly typed, prototype-based language with first-class functions. JavaScript was influenced by many languages and was designed to look like Java, but to be easier for non-programmers to work with.
Cascading Style Sheets (CSS) is a style sheet language used to describe the presentation semantics (that is, the look and formatting) of a document written in a markup language. Its most common application is to style web pages written in HTML and XHTML, but the language can be applied to any kind of XML document.
DESIGN PATTERN
In software engineering, a design pattern is a general reusable solution to a commonly occurring problem in software design. A design pattern is not a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations. Object-oriented design patterns typically show relationships and interactions between classes or objects, without specifying the final application classes or objects that are involved.
LICENSES
A free software licence is a software licence which grants recipients rights to modify and redistribute the software which would otherwise be prohibited by copyright law. A free software licence grants, to the recipients, freedoms in the form of permissions to modify or distribute copyrighted work.
The hallmark of proprietary software licenses is that the software publisher grants a license to use one or more copies of software, but that ownership of those copies remains with the software publisher (hence use of the term "proprietary"). One consequence of this feature of proprietary software licenses is that virtually all rights regarding the software are reserved by the software publisher. Only a very limited set of well-defined rights are conceded to the end-user. Therefore, it is typical of proprietary software license agreements to include many terms which specifically prohibit certain uses of the software, often including uses which would otherwise be allowed under copyright law.
DISCLAIMER
A disclaimer is generally any statement intended to specify or delimit the scope of rights and obligations that may be exercised and enforced by parties in a legally-recognized relationship. In contrast to other terms for legally operative language, the term disclaimer usually implies situations that involve some level of uncertainty, waiver, or risk.

 


Copyright © 2009. Institut National de la Recherche Agronomique. All rights reserved.