Christian Klar and Peter Neuhaus 19.9.2005 Working group ‚Agroecosystems‘ Designing an object-oriented architecture for process- based modelling of soil.

Slides:



Advertisements
Similar presentations
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Advertisements

Supporting New Business Imperatives Creating a Framework for Interoperable Media Services (FIMS)
Database System Concepts and Architecture
Agricultural modelling and assessments in a changing climate
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
Software Design Deriving a solution which satisfies software requirements.
Object-Oriented Analysis and Design
Chapter 1 Object-Oriented System Development
Introduction To System Analysis and Design
Design The goal is to design a modular solution, using the techniques of: Decomposition Abstraction Encapsulation In Object Oriented Programming this is.
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
© Copyright Eliyahu Brutman Programming Techniques Course.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Your Interactive Guide to the Digital World Discovering Computers 2012.
Introduction To System Analysis and design
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
BCS 2143 Introduction to Object Oriented and Software Development.
LINKING HIGH TECH AND HUMAN TOUCH SUSTAINABILITY AND BIOMASS AT THE UNIVERSITY OF TWENTE GREEN ENERGY INITIATIVE MEETING 27 JUNE 2012 ANNEMARIJE KOOIJMAN.
CHAPTER ONE Problem Solving and the Object- Oriented Paradigm.
Introduction to MDA (Model Driven Architecture) CYT.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Requirements To Design--Iteratively Chapter 12 Applying UML and Patterns Craig Larman.
Introduction To System Analysis and Design
LOGO 2 nd Project Design for Library Programs Supervised By Dr: Mohammed Mikii.
Software Life Cycle Requirements and problem analysis. –What exactly is this system supposed to do? Design –How will the system solve the problem? Coding.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Digital Earth Communities GEOSS Interoperability for Weather Ocean and Water GEOSS Common Infrastructure Evolution Roberto Cossu ESA
Chapter 6 Architectural Design.
Systems Analysis and Design in a Changing World, 3rd Edition
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
ESIP Federation 2004 : L.B.Pham S. Berrick, L. Pham, G. Leptoukh, Z. Liu, H. Rui, S. Shen, W. Teng, T. Zhu NASA Goddard Earth Sciences (GES) Data & Information.
Integrated Ecological Assessment February 28, 2006 Long-Term Plan Annual Update Carl Fitz Recovery Model Development and.
Framework for MDO Studies Amitay Isaacs Center for Aerospace System Design and Engineering IIT Bombay.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Computing and SE II Chapter 9: Design Methods and Design Models Er-Yu Ding Software Institute, NJU.
Part VII: Design Continuous
Introducing Allors Applications, Tools & Platform.
S. Shumilov – Zürich Analytical Visualization Framework - a visual data processing and knowledge discovery system Ivan Denisovich, Serge Shumilov Department.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 1: Introduction.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Development of e-Science Application Portal on GAP WeiLong Ueng Academia Sinica Grid Computing
1 Prof. Dr. Nizamettin AYDIN
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
04 - OOD Intro.CSC4071 Software Design ‘Requirements’ defines –The goals the system needs to satisfy. ‘Specification’ defines –The externally-observable.
CERES-2012 Deliverables Architecture and system overview 21 November 2011 Updated: 12 February
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
David Adams ATLAS ATLAS Distributed Analysis and proposal for ATLAS-LHCb system David Adams BNL March 22, 2004 ATLAS-LHCb-GANGA Meeting.
Basic Characteristics of Object-Oriented Systems
Industrial Group Project Introduction to Object Oriented Programming Adelina Basholli, February, 2016.
Visual Basic.NET Comprehensive Concepts and Techniques Chapter 1 An Introduction to Visual Basic.NET and Program Design.
OBJECT ORIENTED VS STRUCTURED WHICH ONE IS YOUR CHOICE.
INTRODUCTION: This report contains the results of the International Council of System Engineer (INCOSE) UML/SySML Team efforts to produce UML/SySML Architecture.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
CSE 219 Final exam review.
Chapter 2- Visual Basic Schneider
Architecture Description Languages
Scientific Workflows Lecture 15
Presentation transcript:

Christian Klar and Peter Neuhaus Working group ‚Agroecosystems‘ Designing an object-oriented architecture for process- based modelling of soil nitrogen fluxes in DANUBIA Christian Klar and Peter Neuhaus

Christian Klar and Peter Neuhaus Working group ‚Agroecosystems‘ Outline Introduction Model description Modelling tools OOP, Java & UML Process model Architecture Computation cycle Debugging and validation Easy expandability Summary Perspective

Christian Klar and Peter Neuhaus Working group ‚Agroecosystems‘ Introduction GLOWA-Danube and DANUBIA Integrative and interdisciplinary research program of the BMBF GLOWA – Global Change of the Water cycle Development of integrative strategies for the sustainable and anticipatory management of water at the regional scale (Upper Danube catchment) Development of the integrative, multi-disciplinary decision support system DANUBIA What is our function/role in GLOWA-Danube? Working group ‘Agroecosystems‘ is responsible for the development of the agricultural plant growth and the nitrogen transformation component within GLOWA-Danube Implementation of nitrogen transformation processes and plant uptake Why to develop a new model instead of using an existing one? Connection to the complex framework of DANUBIA demands technical adaptations/restrictions DANUBIA is implemented in JAVA JAVA as programming language still rarely used in ecological modelling

Christian Klar and Peter Neuhaus Working group ‚Agroecosystems‘ Model description General information: Process description based on CERES approach Spatially distributed Spatial resolution: 1 km² Temporal resolution: daily Why CERES? Suitable process description for the use in DANUBIA Established in the modelling society Well validated Freely available code Project status: Technical development and validation completed Validation of model results has just started

Christian Klar and Peter Neuhaus Working group ‚Agroecosystems‘ OOP, Java and UML Why to use these modelling tools? OOP (Object oriented programming) especially suited for ecological modelling by „breaking systems into intellectually manageable components and combining them and making explicit the interactions between them“ (Wainwright 2005, 9) JAVA is one of the most widespread OOP-languages, industry standard, independent of operating system and comparatively easy to learn UML (Unified modelling language) is a graphical meta-modelling language to describe the structure of models and  serves as common interdisciplinary language to describe models and interfaces  enables involved disciplines to jointly model complex processes and interactions in an integrated system (Ludwig et al. 2003) UML and JAVA are well suited for object-oriented ecological modelling!

Christian Klar and Peter Neuhaus Working group ‚Agroecosystems‘ OOP, Java and UML How can ecosystem modelling benefit from Object Oriented Programming?

Christian Klar and Peter Neuhaus Working group ‚Agroecosystems‘ Architecture Grid cell, Process pixel Delegates calculations per layer Common data object, preparation of data Interface for processes, defines states Container for processes Explicit and restricted data exchange Processes encapsulate their own state, process description, data Debugging tool

Christian Klar and Peter Neuhaus Working group ‚Agroecosystems‘ Computation cycle Datapool Data import & preparation Processes Data computation Datapool Data export

Christian Klar and Peter Neuhaus Working group ‚Agroecosystems‘ Debugging and validation Process debug proxy: facilitates technical debugging and validation of processes without manipulation of source code acts as an intermediary for any process object implements the same interface as the process object (Process) forwards method calls to process object and writes/logs information about the process state

Christian Klar and Peter Neuhaus Working group ‚Agroecosystems‘ Easy expandability Adding a new process: e.g. modelling of phosphorous conversion or N 2 O emission 1) Building an interface  only few lines of code  specifies which data can be exchanged with pool 2) Implementing the process logic  implementation of the process algorithms  no side effects with other processes or pool data (encapsulation) 3) Data pool extension  only if new input or output data are needed 4) Process registration  via config-file

Christian Klar and Peter Neuhaus Working group ‚Agroecosystems‘ Summary The Process framework serves multiple purposes: 1)Modular structure and encapsulation - clear organisation of code, separation of scientific content from technical framework - separation and encapsulation of individual processes - no uncontrollable side effects 2)Data integrity - explicit and restricted data exchange - controlled access to and manipulation of shared and global data 3)Debugging and validation - log and debug output is configurable at runtime - selection of processes is configurable at runtime 4)Applicability - easy for new/unexperienced-programmers - model calculations easily manageable and traceable

Christian Klar and Peter Neuhaus Working group ‚Agroecosystems‘ Perspective for DANUBIA Parametrisation, calibration and validation: On the microscale Comparison of modelling results with measurements and validated point models, statistical analysis Perspective: Modelling of nitrogen fluxes between soil-plant system Spatially distributed nitrogen fluxes modelling on the mesoscale Development of a subscale approach with landuse/soil texture classes to consider landscape heterogeneity Development of strategies to validate nitrogen fluxes on a regional scale Modelling of nitrogen fluxes under Global Change conditions (long term predictions)

Christian Klar and Peter Neuhaus Working group ‚Agroecosystems‘ Debugging and validation Sequence diagram: 1)fetch() and compute() are forwarded 2)whenever compute() is called the proxy‘s debug() method is triggered 3)debug() uses introspection to get actual data values from the respective process object at each timestep 4)data values are then logged by DataWriter object