+ All Categories
Home > Documents > An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) +...

An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) +...

Date post: 20-May-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
27
Software platform challenges Modeling approaches Tools to co-develop Community Conclusion An overview of software platforms and tools for model integration, collaborative development and resource sharing S. Dufour UMR AMAP 23/10/2009
Transcript
Page 1: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

An overview of software platforms and tools for model integration, collaborative development and

resource sharing

S. Dufour

UMR AMAP

23/10/2009

Page 2: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Plan

1

2

3

4

5

Software platform challenges

Modeling approaches

Tools to co-develop

Community

Conclusion

Page 3: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Software platform challenges

. . .

Page 4: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Pluri-disciplinary approach

Plant/Tree modeling is based on different domains ⇒ Need of collaboration

Page 5: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Modeling strategy

1

2

3

Construct the best model (efficient & simple) for each new situation

A general unified model

Defining common phenomenon, concepts and methods :

Common to different situations Extensible

Page 6: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Development method

Experimentation vs Production

Research model � Industrial products = ⇒ models should be usable and modifiable at the same time

Adapt development methodology

Limited development resources

The same tools/libraries are often re-develop

Do not reinvent the wheel, but reuse existing tools

Exemple : the 3D viewer

Page 7: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Platform challenges

Goals

Expected results

Rapid and easy development of model

Reuse softwares & tools

Share development and exchange experiences

Synergy in the community

Ensure software quality (portability, installation, support...)

Improve diffusion and valorisation

Perenity

“Standardisation”

Cost reduction

Page 8: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Modeling approaches

. . .

Page 9: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Type of platform

Platform = an approach + organisation

Different approach

Different organisation

Generic model

Data structure

Methodology

Software libraries

Component integration

Simulation formalism

Centralized vs Distributed development

One developer or modeler vs a Community

Open vs Closed license

Page 10: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Around a model

Model : Sylva Theme : Forestry

Forest growth simulator

Multi-species : Picea abies, Abies alba, Pinus sylvestris, Fagus sylvatica, Sessile Oak, Quercus petraea, Alnus glutinosa

Flexible : simulate diverse intermingling and structured stands, as well as tending regimes and regeneration methods.

Pretzsch, et al. (2002) : The single tree-based stand simulator SILVA : construction, application and evaluation. Forest Ecology and Management 162 (2002) 3-21

Page 11: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Data Structure

Platform : AmapMod Data Structure : MTG (Multi Scale Tree graph) Theme : Plant architecture analysis

Query Langage (AML) + Statistic tools + Analysis tools

Godin, C., et al., 1999. Exploration of plant architecture databases with the AMAPmod software illustrated on an apple-tree bybird family. Agronomie, 19(3/4) : 163-184.

Page 12: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Methodology

Platform : Capsis Theme : Forestry growth

Multi-Model : stand level, individual, spatialized, . . .

Software architecture : kernel, models, plugins , . . .

Scenario and intervention

Common charter, common methodology

Page 13: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Set of libraries

Platform : Jeeb Theme : plant architecture modeling

A set of shared librairies and application

Common tools, data structure, algo (ligth, sketching...). . .

Plugin architecture, shared code

Dedicated applications (Xplo, Simeo...)

Page 14: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Integration and composition

Platform : OpenAlea Theme : Multi-scale plant modeling

Python as a glue Language (multi-language integration)

Package based & hierarchical component architecture

Dataflow and visual programming

Development and deployment tools

Page 15: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Formalism

Platform : VLE/Record Theme : cultural system

Discret event system specification (DEVS)

Complex system : Dynamic system / dynamic structure

Modular & hierachical model construction

Event based + state + transition function

Page 16: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Tools to co-develop

. . .

Page 17: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Project management (Forge)

Bugs

Features

Roadmap

Technical documentation

Activity

Share information

Page 18: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Sharing code

All developper are synchronised

All changes are recorded

⇒ Improve traceability, error recovery, bug finding...

Exemple : SVN, Mercurial, Git, Bazaar...

Versioning system

Page 19: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Build / Deployment

Developer task should be automated and standardised

Build complex and large projects (ant, cmake, scons...)

Manage dependencies between subprojects (maven, ivy, ...)

Portability

Installer creation

Web diffusion

Package Manager (ex : apt)

Deployment, diffusion and update

Page 20: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Software quality : Providing tests

Fonctional Testing

Outputs are correct for a given input

Tests are automated ⇒ test reports

Refactoring & improvements are possible

Model are tested continuously on a server

Ensure validity after modifications

Detect indirect errors (integration problem)

Continuous integration

Page 21: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Sharing information

Documentation is dynamic

Documentation is up to date

Everyone can add/correct pages

Build technical documentaton (javadoc, sphinx...)

Documentation / wiki

Page 22: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Community

. . .

Page 23: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Roles

Standard model

Developer : create & diffuse the software

User : install & use the software

Scientific platform model (cf Capsis)

Developer : develop platform kernel and shared libraries

Modeler : develop models, reused shared tools

User : use the model with its own data

Page 24: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Charter (Capsis)

Free kernel (free license)

Modelers are responsible of their model and their validation

They can have support from developers : lib, training, tools...

Models and source code are accessible in the modeler community

Respect of intellectual property : License / Copyright

Distribution & Decentralisation : modeler can distribute their own models and provide support on them

. . .

Page 25: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Methodology : Agile development

The Agile Manifesto [Fowler, Highsmith - 2001]

Principles

In practice

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Collaboration over contract negotiation

Responding to change over following a plan

Small iteration & Immediate feedback

Coding / Modeling meetings

Good practice (code review...)

Keep it simple !

Page 26: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

License / Open Source

Published models are accessible ⇒ verification

Code is perennial, models & lib can be reused and improved...

Open source is not public domain (Copyright)

Strategy

Non viral Free license for core modules and shared libs (LGPL like)

Open or commercial or dual licensing for models

Page 27: An overview of software platforms and tools for model integration ...€¦ · Query Langage (AML) + Statistic tools + Analysis tools Godin, C., et al., 1999. Exploration of plant

Software platform challenges Modeling approaches Tools to co-develop Community Conclusion

Conclusion

Common framework / paradigm / data structure...

Shared tools and libraries (mutualisation & reuse)

Developer / Modeler / User community

Common rules (charter, license...)

A software platform ?


Recommended