Upload
ernesto-jardim
View
1.208
Download
3
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Introduction to FLR
FLR Core Team
June 22, 2011
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Outline
1 Introduction
2 Philosophy of FLR
3 What is FLR?
4 Design of FLR
5 What’s next ?
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Outline
1 Introduction
2 Philosophy of FLR
3 What is FLR?
4 Design of FLR
5 What’s next ?
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Outline
1 Introduction
2 Philosophy of FLR
3 What is FLR?
4 Design of FLR
5 What’s next ?
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Outline
1 Introduction
2 Philosophy of FLR
3 What is FLR?
4 Design of FLR
5 What’s next ?
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Outline
1 Introduction
2 Philosophy of FLR
3 What is FLR?
4 Design of FLR
5 What’s next ?
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Need for FLR
Schnute et al. (2007 and 1998) compared the number ofsoftware tools and languages currently available for stockassessments with the Babel tower myth:
”After the people of Babel sought to build a tower to heaven, the Lord
God devised a plan (Genesis 11: 4-7). ’Behold the people is one; and
they all have one language; and this they began to do; and now nothing
will be restrained from them, which they have imagined to do.... Let us
go down, and there confound their language, that they may not
understand one another’s speech.’ Italics highlight the prospects for
accomplishment with a common language, if the scientific community
could ever agree on one”
”The cosmic plan for confounding software languages seems to be
working remarkably well among the community of quantitative fishery
scientists!”
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Need for FLR
Schnute et al. (2007 and 1998) compared the number ofsoftware tools and languages currently available for stockassessments with the Babel tower myth:
”After the people of Babel sought to build a tower to heaven, the Lord
God devised a plan (Genesis 11: 4-7). ’Behold the people is one; and
they all have one language; and this they began to do; and now nothing
will be restrained from them, which they have imagined to do.... Let us
go down, and there confound their language, that they may not
understand one another’s speech.’ Italics highlight the prospects for
accomplishment with a common language, if the scientific community
could ever agree on one”
”The cosmic plan for confounding software languages seems to be
working remarkably well among the community of quantitative fishery
scientists!”
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Need for FLR
Schnute et al. (2007 and 1998) compared the number ofsoftware tools and languages currently available for stockassessments with the Babel tower myth:
”After the people of Babel sought to build a tower to heaven, the Lord
God devised a plan (Genesis 11: 4-7). ’Behold the people is one; and
they all have one language; and this they began to do; and now nothing
will be restrained from them, which they have imagined to do.... Let us
go down, and there confound their language, that they may not
understand one another’s speech.’ Italics highlight the prospects for
accomplishment with a common language, if the scientific community
could ever agree on one”
”The cosmic plan for confounding software languages seems to be
working remarkably well among the community of quantitative fishery
scientists!”
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Goals
To promote and generalize the use of good quality, opensource, flexible software in all areas of quantitative fisheriesresearch and management advice, with a key focus onManagement Strategies Evaluation.
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
A brief history of FLR
I Started by FEMS EU project
I COMMIT & EFIMAS EU projects provided much of timeand sweat
I Presented to ICES WG Methods 2004I FLCore version 1.0 - December 2005
I FLQuant with 5 dimensions, no ”iter”I Release often, release early. Bugs galore
I FLCore version 1.4 - 2007
I Stable, full of treats an joy
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
A brief history of FLR
I Started by FEMS EU project
I COMMIT & EFIMAS EU projects provided much of timeand sweat
I Presented to ICES WG Methods 2004I FLCore version 1.0 - December 2005
I FLQuant with 5 dimensions, no ”iter”I Release often, release early. Bugs galore
I FLCore version 1.4 - 2007
I Stable, full of treats an joy
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
A brief history of FLR
I Started by FEMS EU project
I COMMIT & EFIMAS EU projects provided much of timeand sweat
I Presented to ICES WG Methods 2004I FLCore version 1.0 - December 2005
I FLQuant with 5 dimensions, no ”iter”I Release often, release early. Bugs galore
I FLCore version 1.4 - 2007
I Stable, full of treats an joy
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
A brief history of FLR
I Started by FEMS EU project
I COMMIT & EFIMAS EU projects provided much of timeand sweat
I Presented to ICES WG Methods 2004
I FLCore version 1.0 - December 2005
I FLQuant with 5 dimensions, no ”iter”I Release often, release early. Bugs galore
I FLCore version 1.4 - 2007
I Stable, full of treats an joy
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
A brief history of FLR
I Started by FEMS EU project
I COMMIT & EFIMAS EU projects provided much of timeand sweat
I Presented to ICES WG Methods 2004I FLCore version 1.0 - December 2005
I FLQuant with 5 dimensions, no ”iter”I Release often, release early. Bugs galore
I FLCore version 1.4 - 2007
I Stable, full of treats an joy
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
A brief history of FLR
I Started by FEMS EU project
I COMMIT & EFIMAS EU projects provided much of timeand sweat
I Presented to ICES WG Methods 2004I FLCore version 1.0 - December 2005
I FLQuant with 5 dimensions, no ”iter”I Release often, release early. Bugs galore
I FLCore version 1.4 - 2007I Stable, full of treats an joy
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
FLR 1.4 - The Golden Jackal
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
A brief history of FLR
I 2007-2009: The Silk Road to version 2I New FLQuant with 6 dimensions: uncertainty in structureI Rewrite of most methodsI Extension of methods availableI New classes: FLModelI Stronger use of class inheritanceI Overhaul of man pagesI Simplification of package map
I FLCore version 2.0 - January 2009
I 2.2: actual stable versionI 2.3: under development
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
A brief history of FLR
I 2007-2009: The Silk Road to version 2I New FLQuant with 6 dimensions: uncertainty in structureI Rewrite of most methodsI Extension of methods availableI New classes: FLModelI Stronger use of class inheritanceI Overhaul of man pagesI Simplification of package map
I FLCore version 2.0 - January 2009I 2.2: actual stable versionI 2.3: under development
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
FLR 2.2 - Swordfish Polka
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Mission statement
The FLR project provides a platform for quantitativefisheries science based on the R statistical language. Theguiding principles of FLR are:
I openness - through community involvement and the opensource ethos
I flexibility - through a design that does not constrain theuser to a given paradigm
I extendibility - through the provision of tools that areready to be personalized and adapted.
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Mission statement
The FLR project provides a platform for quantitativefisheries science based on the R statistical language. Theguiding principles of FLR are:
I openness - through community involvement and the opensource ethos
I flexibility - through a design that does not constrain theuser to a given paradigm
I extendibility - through the provision of tools that areready to be personalized and adapted.
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Mission statement
The FLR project provides a platform for quantitativefisheries science based on the R statistical language. Theguiding principles of FLR are:
I openness - through community involvement and the opensource ethos
I flexibility - through a design that does not constrain theuser to a given paradigm
I extendibility - through the provision of tools that areready to be personalized and adapted.
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Mission statement
The FLR project provides a platform for quantitativefisheries science based on the R statistical language. Theguiding principles of FLR are:
I openness - through community involvement and the opensource ethos
I flexibility - through a design that does not constrain theuser to a given paradigm
I extendibility - through the provision of tools that areready to be personalized and adapted.
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
GNU project(http://gnu.org)
”Free software is a matter of liberty, not price.”
free = free speech
free != free beer
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Collaboration and OpenSource
”I think the real issue about adoption of open source is that nobody
can really ever ’design’ a complex system. That’s simply not how
things work: people aren’t that smart - nobody is. And what open
source allows is to not actually ’design’ things, but let them evolve,
through lots of different pressures in the market, and having the end
result just continually improve”
Linus Torvalds
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Development of FLR
FLR is a collaborative development project, where distinctscientists that constitute the FLR Core Team, aka ”Lesmiserables”, work simultaneously on code, documentation, etc.
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Cut the crap, what is FLR?
A working environment for quantitative fisheriesanalysis in R!
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
... and where can I get it ?
I Website (http://flr-project.org/)
I Packages on repository(install.packages(repos=”http://flr-project.org/R”))
I Documentation on wiki (http://wiki.flr-project.org)
I and ”Teach Yourself FLR” (http://tyflr.flr-project.org)
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Object orientedprogramming with S4
I A programming language model organized around ”objects”rather than ”actions”
I Uses R S4 classes
I Everything is an object of a particular classI Objects have:
I members (data) andI methods (functions associated with it that act on member
data)
I Inheritence used to extend and create new classes (FLSRinherits from FLModel)
I Classes can be members of other classes (most FLRclasses include FLQuants as members)
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Object orientedprogramming with S4
I A programming language model organized around ”objects”rather than ”actions”
I Uses R S4 classes
I Everything is an object of a particular classI Objects have:
I members (data) andI methods (functions associated with it that act on member
data)
I Inheritence used to extend and create new classes (FLSRinherits from FLModel)
I Classes can be members of other classes (most FLRclasses include FLQuants as members)
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Object orientedprogramming with S4
I A programming language model organized around ”objects”rather than ”actions”
I Uses R S4 classes
I Everything is an object of a particular classI Objects have:
I members (data) andI methods (functions associated with it that act on member
data)
I Inheritence used to extend and create new classes (FLSRinherits from FLModel)
I Classes can be members of other classes (most FLRclasses include FLQuants as members)
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Object orientedprogramming with S4
I A programming language model organized around ”objects”rather than ”actions”
I Uses R S4 classes
I Everything is an object of a particular class
I Objects have:
I members (data) andI methods (functions associated with it that act on member
data)
I Inheritence used to extend and create new classes (FLSRinherits from FLModel)
I Classes can be members of other classes (most FLRclasses include FLQuants as members)
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Object orientedprogramming with S4
I A programming language model organized around ”objects”rather than ”actions”
I Uses R S4 classes
I Everything is an object of a particular classI Objects have:
I members (data) andI methods (functions associated with it that act on member
data)
I Inheritence used to extend and create new classes (FLSRinherits from FLModel)
I Classes can be members of other classes (most FLRclasses include FLQuants as members)
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Object orientedprogramming with S4
I A programming language model organized around ”objects”rather than ”actions”
I Uses R S4 classes
I Everything is an object of a particular classI Objects have:
I members (data) and
I methods (functions associated with it that act on memberdata)
I Inheritence used to extend and create new classes (FLSRinherits from FLModel)
I Classes can be members of other classes (most FLRclasses include FLQuants as members)
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Object orientedprogramming with S4
I A programming language model organized around ”objects”rather than ”actions”
I Uses R S4 classes
I Everything is an object of a particular classI Objects have:
I members (data) andI methods (functions associated with it that act on member
data)
I Inheritence used to extend and create new classes (FLSRinherits from FLModel)
I Classes can be members of other classes (most FLRclasses include FLQuants as members)
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Object orientedprogramming with S4
I A programming language model organized around ”objects”rather than ”actions”
I Uses R S4 classes
I Everything is an object of a particular classI Objects have:
I members (data) andI methods (functions associated with it that act on member
data)
I Inheritence used to extend and create new classes (FLSRinherits from FLModel)
I Classes can be members of other classes (most FLRclasses include FLQuants as members)
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Object orientedprogramming with S4
I A programming language model organized around ”objects”rather than ”actions”
I Uses R S4 classes
I Everything is an object of a particular classI Objects have:
I members (data) andI methods (functions associated with it that act on member
data)
I Inheritence used to extend and create new classes (FLSRinherits from FLModel)
I Classes can be members of other classes (most FLRclasses include FLQuants as members)
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Design principles
I Classes to represent different elements of fisheries systems
I ’physical’ objects (e.g. FLStock class represents a fishstock)
I ’methodological’ objects (e.g. FLBRP class containingmethods to calculate BRP)
I Link objects to create simulations - Lego blocks (MSEexample)
I Learning curve: trade off between flexibility and simplicity(no black boxes and no handle turning)
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Design principles
I Classes to represent different elements of fisheries systems
I ’physical’ objects (e.g. FLStock class represents a fishstock)
I ’methodological’ objects (e.g. FLBRP class containingmethods to calculate BRP)
I Link objects to create simulations - Lego blocks (MSEexample)
I Learning curve: trade off between flexibility and simplicity(no black boxes and no handle turning)
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Design principles
I Classes to represent different elements of fisheries systems
I ’physical’ objects (e.g. FLStock class represents a fishstock)
I ’methodological’ objects (e.g. FLBRP class containingmethods to calculate BRP)
I Link objects to create simulations - Lego blocks (MSEexample)
I Learning curve: trade off between flexibility and simplicity(no black boxes and no handle turning)
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Design principles
I Classes to represent different elements of fisheries systems
I ’physical’ objects (e.g. FLStock class represents a fishstock)
I ’methodological’ objects (e.g. FLBRP class containingmethods to calculate BRP)
I Link objects to create simulations - Lego blocks (MSEexample)
I Learning curve: trade off between flexibility and simplicity(no black boxes and no handle turning)
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Design principles
I Classes to represent different elements of fisheries systems
I ’physical’ objects (e.g. FLStock class represents a fishstock)
I ’methodological’ objects (e.g. FLBRP class containingmethods to calculate BRP)
I Link objects to create simulations - Lego blocks (MSEexample)
I Learning curve: trade off between flexibility and simplicity(no black boxes and no handle turning)
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
Design principles
I Classes to represent different elements of fisheries systems
I ’physical’ objects (e.g. FLStock class represents a fishstock)
I ’methodological’ objects (e.g. FLBRP class containingmethods to calculate BRP)
I Link objects to create simulations - Lego blocks (MSEexample)
I Learning curve: trade off between flexibility and simplicity(no black boxes and no handle turning)
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
FLR & S4FLR hierarchical model
FLCore
classesmethods
2ndry pkg
classesmethods
extends
inherits
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
PackagesFLR packages' development model
FLCore
FLEDA FLAssess
FLXSA FL...
FLash
FLBRP
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
MSE - The Lego blockapproach
Introductionto FLR
FLR CoreTeam
Introduction
Philosophyof FLR
What isFLR?
Design ofFLR
What’s next?
What’s next ?