Categories
Dictionary
Glossary
Download
Project Details
Changes Log
FAQ
License


The protoFramework is a software based on a Java library and other modules as described here and on specific software developed and maintained by Dassault Aviation. This protoFramework aims to simplify the development of prototypes of any types in several languages or technologies (such as Java, C++/C, Groovy, Python, etc..).

The protoFramework is based on a concept of service-oriented architecture design ("SOA"), which permits the interconnexion of application components through services, using an application protocol managed by the protoFramework.

This protoFramework implements open technologies (as described below) and can be useful when developing prototypes or simulations in collaboration with several companies or laboratories. Several ready-to-use functions are provided with the protoFramework.

License

This software is provided under a LGPL v3 license.

See License.

Dependencies

See Dependencies. To know more about how to deploy the framework library depending on your usage, see deploying.

Overview

Main Article: Overview

Protoframework is a Service-oriented framework allowing to exchange Services between applications.

The framework is based on loose coupling between the applications. The Services and applications definitions are declared in an XML configuration:
  • The configuration specifies the Services interfaces
  • Each Application declaration module specifies which services it provides or requires, and which communication protocols will be used to connect the modules
  • The framework will automatically connect the modules which share services, and will manage the data sharing between modules at runtime
See also the overview and the key concepts.

Starting the framework

Main Article: Starting the framework

The framework is started by executing the protoframework.jar Jar file.

The application support the following arguments:
  • "config": the configuration xml file. This is the only mandatory property
  • "application": the application ID if only one application defined in the configuration is instanciated
  • "noGUI": true if the Framework Window should not be shown
  • "minimizeGUI": true if the Framework Window should be iconified

Interfacing the framework with external applications

The framework can integrate code developed in Java, groovy, C, or python. However it is also possible to interface the framework with one or several applications which are external to the framework. See Interfacing with an external application.

Browser

Main Article: Browser

The built-in framework browser allows to show the architecture of a specified configuration.

Built-in applications

Several built-in applications are distributed with the framework. See built-in Applications.

Tutorial

Look at the tutorials here.

Troubleshooting

See Troubleshooting.

Developing for the framework

See Developing modules to know how to develop modules for the framework.

See Unit Tests to know how to develop unit tests for the framework.

Release history

See Release history.

See also


Categories: general

Developers

Join this project:

To join this project, please contact the project administrators of this project, as shown on the project summary page.

Get the source code:

Source code for this project is available as downloads or through the git repository used by the project, as accessible from the project develop page.

Copyright 2017-2020 Dassault Aviation. All Rights Reserved. Documentation and source under the LGPL v3 licence