Seamframe

SEAMFRAME source code released!

Attention: open in a new window. PDFPrintE-mail

Last Updated on Wednesday, 17 March 2010 16:47 Written by Rob Knapen Wednesday, 17 March 2010 16:47

The source code of the SEAMFRAME library (part of SEAMLESS-IF) has been placed in the open source code repository of the SEAMLESS Association. You can download the latest version from the tags folder. All components will be made available in this folder using a "-" naming convention. For example "seamframe-1.2.1". The SEAMFRAME library is available as Eclipse project and ready to be compiled and used. Please see the included README.txt file for the latest contents of the library, and the license.txt file for legal information.

 

For easy download you can use a subversion client. Subversion is a source code repository, on which source code can easily be updated by developers. After downloading a subversion client (for example tortoiseSVN, or the subclipse plugin for Eclipse), you can link the subversion client to the source code repository, and download all source code to your local file system. For a more detailed how-to description see the documentation of the subversion client.

 

Reports/key publications on SeamFrame

Attention: open in a new window. PDFPrintE-mail

Last Updated on Monday, 21 December 2009 14:59 Written by Charlotte Schilt Monday, 21 December 2009 13:21

Rizzoli, A.E., Wien J.J.F., Knapen, R., et al. Updated version of final design and of the architecture of SEAMLESS-IF SEAMLESS Report 47

 

Introduction to SEAM:GUI and SeamFrame

Attention: open in a new window. PDFPrintE-mail

Last Updated on Wednesday, 22 July 2009 12:38 Written by Rob Knapen, Patrik Wallman Wednesday, 22 July 2009 12:25

Introduction

SEAMLESS-IF is based on project requirements and current IT-trends. In this case this means a web based distributed system. This solution brings many advantages for both the users and the developers of the framework. There is no need to install any specific software on the local computer, all services are run on SEAMLESS’ own servers. SEAMLESS-IF can be viewed and used on the Internet if the web browser used has Flash Player 9 installed, which almost all modern browsers have.

SEAMLESS-IF contains three different layers, a graphical user interface (GUI), a service layer with a processing environment and a data layer where data is stored in databases.

 

SEAM:GUI

The GUI is developed in Flex, a framework that helps you develop and deploy cross platform dynamic and interactive rich Internet applications. The communication between the (GUI) and the processing environment in the SeamFrame server is handled by Java Servlets. A servlet is a small Java program that runs within a Web server, receiving and responding to requests from Web clients, in this case GUI of Seamless-IF, usually across HTTP (HyperText Transfer Protocol). The Java Servlet API (Application Programming Interface) allows developers to add dynamic content to a Web server. In Seamless-IF the content generated by the servlets is XML (Extensible Mark-up Language), which is a general-specification for creating custom mark-up languages. It is primarily used to facilitate the sharing of data, especially via the Internet.

Seam:Pres is the visualization part of the Seamless-IF GUI. It is used to present the results in a meaningful way. Seam:Pres uses ILOG Elixir, a suite of user interface controls that provides a set of graphical data-display components for Flex applications such as the graphical user interface of Seamless-IF. ILOG Elixir turns raw data into clear, actionable information through highly graphical and interactive data displays for dashboards, data analysis, planning and human resources applications.

 

SeamFrame

The processing environment in SEAMLESS-IF is called SOFA (Seamless OpenMI Framework Architecture). Seamless has chosen to adopt the Open Modeling Interface and Environment (OpenMI) framework, which originally is a product of the EU FP-5 project HarmonIT, to link models, data and tools. The OpenMI standard is a software component interface definition (predefined interfaces, compliancy rules) for the computational core (the engine) of the models. Models or model components that comply with this standard can, without any programming, be configured to exchange data at run-time. The standard supports two-way links where the models depend on calculation results from each other. Linked models may run asynchronously with respect to time steps, and data represented on different spatial levels can be exchanged seamlessly. Models ranging from very simple to very complex (even composites) including everything in between, can in most cases be added to the processing environment using the OpenMI interfaces as a wrapper around the model. In the processing environment components are linked together to form a ‘workflow’, which can be annotated and stored in a file or in a database. The workflow can include all kinds of components, as long as they are OpenMI compliant. Besides models, this also includes components that get data from databases, converters, visualization tools, and model-chain analysis tools. OpenMI uses a pull-based approach which means that one component in the workflow is somehow triggered to ask another component for input.