Www.simupedia.fi Bringing power of simulation to the public

Preview:

Citation preview

www.simupedia.fi

Bringing power of simulation to the public

About Simupedia Web portal to the simulation system Simantics Bringing the power of simulations to the general public Everyone can create their own model or run existing ones Creating a community for simulation users and

model/solver developers Users can use Simupedia registered or unregistered with

limited access Site administrators has tools for keeping the site organized

About Simupedia

• Simantics editor and player are used to run or edit the models

• There’s a solver(s) for each model• Solvers are running on a different server

Simupedia-application architecture

4

Simupedia uses Java Struts 2 framework which is based on Model-View-Controller 2 (MVC 2) Architecture

In Struts 2 every web page has an own action class, which can be easily tested with JUnit. After action is executed, the actual visualization is done in .jsp pages.

Picture from: http://www.ibm.com/developerworks/webservices/library/ws-arcstruts/

Struts 2 provides also a large amount of functionalities to help web development.

For database access we are using Hibernate and the actual database is MySQL.

Simupedia.fi Infrastructure

Simupedia server

Apache – Web server

Jboss Application Server

Simantics server cluster

Internet

Simupedia Web app

Database

Simupedia Infrastructure

• Simupedia is running on JBoss – Application server

• Using Apache as an frontend provides possibility for easy JBoss clustering with Apache’s loadbalancer

• Currently running on MySql database, but can be ported into any other database because of Hibernate

DEMO

• A demo from a normal user point of view• A demo from an administrator point of view

Results of this Project

Project progressEvaluation of the goals

Evaluation of the qualityUsed resources

Results

Project lifecycle• Planning Phase

– Understanding the domain– Gathering the requirements– Prototyping

• Implementation 1– Actual implementation starts– The plan was to get the public side ready

• Implementation 2– The coding continues– QA had a stronger influence in this iteration

Evaluation of the goal 1

Customer goal 1: ”a youtube-like public simulation site”

Verification criteria: ” Users can run experiments, create new models with model editor, publish the created models and add comments to experiments and models. The system can also be used as a marketing channel by solver developers and for advertisement-space for different companies”

– Project plan, 3.1:Goal 1.

…Evaluation of the goal 1.

• This goal cannot entirely be achieved without the Simantics player and editor

• All the supporting functionalities has been implemented

• We’ve made a player/editor-emulator to prove that our system works

• The system supports an easy advertisement integration to the site via Struts-tiles.

Evaluation of the goal 2

Customer goal 1: ” A professional site build on the public site ”

Verification criteria: ” The system has tools for team working to help the advanced model development and publishing.”

– Project plan, 3.1:Goal 2.

…Evaluation of goal 2.

• Some of the features got implemented but some of them didn’t finish until the deadline.

Evaluation of the quality

• Project size: 14920 loc including xml- and properties-files

• Bugs found: 20– Critical: 2– Major: 16– Minor: 2

• Bugs fixed: 17

Evaluation of the quality

Description Severity

Code execution in form fields critical

out of memory: permGen major

getting a new password via email does not work

Major

Long experiment description/keyword

Minor

Used resourcesDescription Realized Planned Left Joni JP Nina Ville Antti Juha Oleg Ferran

Sum (whole project) 968,9 1199,45 230,55 142,5 160,5 127 136 97,25 101 119,15 84,5

Sum (PP-iteration) 141,5 141,5 0 49 37,5 26 2 10 2 10 4

Sum (Implementation 1) 358,75 358,75 0 36,5 67 47 51,25 37 30,5 55,5 34

Sum (Implementation 2) 468,65 699,2 230,55 57 56 54 82,75 50,25 68,5 53,65 46,5

Used resources

Results

• Simupedia is up and running on address www.simupedia.fi

• Some of the group functionalities didn’t get finished because of the deadline

• Documentation for customer– Technical documentation (how to install, setup

and develop the system)– Javadoc

Work practices & tools

Work Practices

• Weekly coding sessions provided to be useful– The problems can be solved better in a group

• Slicing up the iteration into smaller pieces– Helps you keep your project on time– You can set a theme to a every sprint to

emphasize certain areas of the project

Work Practices

• Risk management– One team member leaves the team– Project manager couldn’t walk nearly for two

months– Simantics integration

– Only the Simantics integration had some impact on this project, but we manage to minimize it with an player/editor-emulator

Development ToolsTool Version

JBoss – Application server 4.2.1.GA

Hibernate 3.2.5GA

Struts2 framework 2.0.9

Ant 1.6.5

Eclipse 3.3.1

Eclipse – Subclipse plug-in 1.2.4

JUnit

Tomcat – Application server 5.x, 6.x

MySQL 5.0.45

Other tools

• IRC• MediaWiki• Email• TRAC

Thank You.

Recommended