11
Lessons from Integrating Functionalities Fred C. Martin WA Dept. Natural Resources Olympia, WA Open-FVS: Lessons from Integrating Functionalities into A Multi-Developer Framework

Lessons from Integrating Functionalities Fred C. Martin WA Dept. Natural Resources Olympia, WA Open-FVS: Lessons from Integrating Functionalities into

Embed Size (px)

Citation preview

Page 1: Lessons from Integrating Functionalities Fred C. Martin WA Dept. Natural Resources Olympia, WA Open-FVS: Lessons from Integrating Functionalities into

Lessons from Integrating Functionalities

Fred C. MartinWA Dept. Natural Resources

Olympia, WA

Open-FVS: Lessons from Integrating

Functionalities into A Multi-Developer Framework

Page 2: Lessons from Integrating Functionalities Fred C. Martin WA Dept. Natural Resources Olympia, WA Open-FVS: Lessons from Integrating Functionalities into

"The art of research [is] the art of making difficult problems soluble by devising means of getting at them." Sir Peter Medawar.

Open participation structure - expand contributor baseUSFS Forest Mgmt. Service CenterUniversitiesConsultantsOther Agencies

Pros: larger community. Cons: larger community.

Lessons from Integrating Functionalities

Page 3: Lessons from Integrating Functionalities Fred C. Martin WA Dept. Natural Resources Olympia, WA Open-FVS: Lessons from Integrating Functionalities into

"With some glee and considerable professional acclaim, we seem to keep at least one jump ahead of the man-agers' comprehension of our methods." Albert R. Stage.

Framework for potential additions & extensionsHabitat classificationOptimizerClimate changes interactions: pests, cover, etc.

Alternative growth engines – Organon, Forest BGC, etc.

Pros: API for extending functionality. Cons: loss of independence.

Lessons from Integrating Functionalities

Page 4: Lessons from Integrating Functionalities Fred C. Martin WA Dept. Natural Resources Olympia, WA Open-FVS: Lessons from Integrating Functionalities into

“To know what I think, I need to read what I've written.” Unknown.

Documentation standards - consistency & availabilityUsers manualsWIKIsInternal code documentation, spctrn.fSVN commit commentsSupposeOutputs/results – reports, database, visualization, etc.

Pros: central hosting. Cons: multiple points of reference, coordination effort.

Lessons from Integrating Functionalities

Page 5: Lessons from Integrating Functionalities Fred C. Martin WA Dept. Natural Resources Olympia, WA Open-FVS: Lessons from Integrating Functionalities into

“Give me a fruitful error any time, full of seeds, bursting with its own corrections. You can keep your sterile truths for yourself." Vilfredo Pareto.

Testing – incorporate into building process Protects existing contentFunctionality testing, black box testingInternal testing, white box testingTest driven development – unit tests

Pros: continuous quality assurance. Cons: can double development time.

Lessons from Integrating Functionalities

Page 6: Lessons from Integrating Functionalities Fred C. Martin WA Dept. Natural Resources Olympia, WA Open-FVS: Lessons from Integrating Functionalities into

"We do think in language, and so the quality of our thoughts and ideas can only be as good as the quality of our language." George Carlin.

Programming standards & architecture – code consistency Procedural versus object oriented, spaghetti codeStructure, style - camel notation, comments, linkagesVariable & method naming

Pros: guides design, common patterns, aids understanding. Cons: constrains progress.

Lessons from Integrating Functionalities

Page 7: Lessons from Integrating Functionalities Fred C. Martin WA Dept. Natural Resources Olympia, WA Open-FVS: Lessons from Integrating Functionalities into

"All science is the search for unity in hidden likenesses." J. Bronowski.

Integration implications – logical behavior among entitiesDatabase connectivity - file versus database outputsTiming issues – simulation periods, end of period versus

beginning of periodHarvest in first period versus activities later in a cycleStart and stop operations and retrieval of state

Pros: affirms expected interactions, extends solution space. Cons: constrains creativity.

Lessons from Integrating Functionalities

Page 8: Lessons from Integrating Functionalities Fred C. Martin WA Dept. Natural Resources Olympia, WA Open-FVS: Lessons from Integrating Functionalities into

"They didn't want it good, they wanted it Wednesday." Robert Heinlein.

It’s a framework not a panacea – it ain’t easy & it takes timeSystem is largeInherits limitations from the pastNeed to work as a teamLonger learning curve

Pros: contributes to larger good. Cons: higher tolerance level.

Lessons from Integrating Functionalities

Page 9: Lessons from Integrating Functionalities Fred C. Martin WA Dept. Natural Resources Olympia, WA Open-FVS: Lessons from Integrating Functionalities into

"Don't analyze constraints; we ignore them until we get caught, so just tell us how good it could be if we didn't have any." Local forest manager.

ECON Extension integration – linkages between programsKeyword inputIndividual tree and log volumesControlling harvest implementation via PRETENDEvent Monitor actionsPublish results

Lessons from Integrating Functionalities

Page 10: Lessons from Integrating Functionalities Fred C. Martin WA Dept. Natural Resources Olympia, WA Open-FVS: Lessons from Integrating Functionalities into

Lessons from Integrating Functionalities

FVSKeyword Entry

Initiate Trees

Grow Trees

Burn, Infect, Infest

Publish Outcomes

Harvest Trees

Regeneration

ECONPass Keywords

Get Tree/Log Volumes

Get Harvests

Get Events

Value Harvest & Events

Pass Results

Page 11: Lessons from Integrating Functionalities Fred C. Martin WA Dept. Natural Resources Olympia, WA Open-FVS: Lessons from Integrating Functionalities into

Summarizing:

"Entities should not be multiplied unnecessarily," "law of parsimony" or "law of succinctness." Franciscan friar William of Ockham.

"Art is never finished, only abandoned." Leonardo da Vinci. "You cannot predict the future because it depends on how you react to it." George Soros.

Lessons from Integrating Functionalities