Feature Analysis of Coupling Technologies for Climate Models Spencer Rugaber, Rocky Dunlap and Leo Mark College of Computing Georgia Institute of Technology.

Slides:



Advertisements
Similar presentations
Earth System Curator Spanning the Gap Between Models and Datasets.
Advertisements

Metadata Development in the Earth System Curator Spanning the Gap Between Models and Datasets Rocky Dunlap, Georgia Tech.
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Domain Engineering Arie van Deursen May Software Product Line  Group of products  sharing a common, managed set of features  to satisfy the.
Analysis Modeling.
IEC Substation Configuration Language and Its Impact on the Engineering of Distribution Substation Systems Notes Dr. Alexander Apostolov.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Chapter 2 Data Models Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
21-February-2003cse Architecture © 2003 University of Washington1 Architecture CSE 403, Winter 2003 Software Engineering
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
CASE Tools CIS 376 Bruce R. Maxim UM-Dearborn. Prerequisites to Software Tool Use Collection of useful tools that help in every step of building a product.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
Automatic Data Ramon Lawrence University of Manitoba
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
2 1 Chapter 2 Data Model Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
Formalizing and Analyzing Feature models in Alloy
Software Engineering Muhammad Fahad Khan
Chapter 6 System Engineering - Computer-based system - System engineering process - “Business process” engineering - Product engineering (Source: Pressman,
Metadata Creation with the Earth System Modeling Framework Ryan O’Kuinghttons – NESII/CIRES/NOAA Kathy Saint – NESII/CSG July 22, 2014.
The Earth System Curator Metadata Representations Prototype Portal in Collaboration with ESMF and ESG Rocky Dunlap Spencer Rugaber Georgia Tech.
Open Access, and more … Leo Mark, Ph.D. School of Computer Science Georgia Tech Blind Orion Searching for the Rising Sun. Nicolas Poussin (1594–1665) “If.
An Introduction to Software Architecture
By: Md Rezaul Huda Reza 5Ps for SE Process Project Product People Problem.
Publishing and Visualizing Large-Scale Semantically-enabled Earth Science Resources on the Web Benno Lee 1 Sumit Purohit 2
A Metadata Catalog Service for Data Intensive Applications Presented by Chin-Yi Tsai.
Metadata for the Coupled Ocean/Atmosphere Mesoscale Prediction System (COAMPS) using the Earth System Modeling Framework (ESMF) Peter Bosler University.
NE II NOAA Environmental Software Infrastructure and Interoperability Program Cecelia DeLuca Sylvia Murphy V. Balaji GO-ESSP August 13, 2009 Germany NE.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Lecture 9: Chapter 9 Architectural Design
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
ESMF Code Generation Rocky Dunlap Spencer Rugaber Leo Mark Georgia Tech College of Computing.
4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.
1 Software Development Software Engineering is the study of the techniques and theory that support the development of high-quality software The focus is.
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Modeling system requirements. Purpose of Models Models help an analyst clarify and refine a design. Models help simplify the complexity of information.
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
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.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Cupid: A Smart Development Environment for Earth System Models Rocky Dunlap research sponsored by NASA/ROSES 1.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Portable Infrastructure for the Metafor Metadata System Charlotte Pascoe 1, Gerry Devine 2 1 NCAS-BADC, 2 NCAS-CMS University of Reading PIMMS provides.
ESMF Code Generation with Cupid Update and Demo October 2009 Rocky Dunlap Spencer Rugaber Leo Mark Georgia Tech College of Computing.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Visualization in Problem Solving Environments Amit Goel Department of Computer Science Virginia Tech June 14, 1999.
Page 1© Crown copyright 2004 FLUME Marco Christoforou, Rupert Ford, Steve Mullerworth, Graham Riley, Allyn Treshansky, et. al. 19 October 2007.
Earth System Curator and Model Metadata Discovery and Display for CMIP5 Sylvia Murphy and Cecelia Deluca (NOAA/CIRES) Hannah Wilcox (NCAR/CISL) Metafor.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Curator: Gap Analysis (from a schema perspective) Rocky Dunlap Spencer Rugaber Georgia Tech.
Building Community and Capability through Common Infrastructure: ESMF and the Earth System Curator Cecelia DeLuca MAP Meeting College.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
ESMF and the future of end-to-end modeling Sylvia Murphy National Center for Atmospheric Research
Application of RDF-OWL in the ESG Ontology Sylvia Murphy: Julien Chastang: Luca Cinquini:
1 5/18/2007ã 2007, Spencer Rugaber Architectural Documentation Graphical (views) and textual Kruchten's 4+1 Views –Philippe B. Kruchten. "The 4+1 View.
Metadata Development in the Earth System Curator Spanning the Gap Between Models and Datasets Rocky Dunlap, Georgia Tech 5 th GO-ESSP Community Meeting.
Toward product architecture oriented requirements analysis for product line development in systems engineering Kei Kurakawa Nara Institute of Science and.
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
Informatics for Scientific Data Bio-informatics and Medical Informatics Week 9 Lecture notes INF 380E: Perspectives on Information.
The Earth System Curator Metadata Infrastructure for Climate Modeling Rocky Dunlap Georgia Tech.
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
SysML v2 Formalism: Requirements & Benefits
Chapter 20 Object-Oriented Analysis and Design
Analysis models and design models
An Introduction to Software Architecture
Service Oriented Architectures (SOA): What Users Need to Know.
Metadata Development in the Earth System Curator
Presentation transcript:

Feature Analysis of Coupling Technologies for Climate Models Spencer Rugaber, Rocky Dunlap and Leo Mark College of Computing Georgia Institute of Technology

Earth System Curator Premise: "The descriptors used for comprehensively specifying a model configuration are also needed for a scientifically useful description of the model output data." Deliverables Archive and query Earth system models, experiments, model components, and model output data Ability to perform technical compatibility checking Ability to auto-assemble components including automatic code generation of simple couplers

Curator Portal

Partners Earth System Modeling Framework: NCAR, NESII/CIRES/NOAA Earth System Grid: NCAR Geophysical Fluid Dynamics Laboratory, NOAA Department of Earth, Atmospheric and Planetary Science, MIT Department of Earth and Atmospheric Sciences, Georgia Tech European Metafor project Sponsored by the National Science Foundation

Coupled Climate Models Multiple models (e.g. atmosphere and ocean) give more accurate predications than do single ones The software components that link together and mediate interactions between models are called couplers Existing coupling technologies: libraries, frameworks Our goal is to add a third: automatic coupler generation

Example Coupled Model

Key Design Tradeoff When Introducing a New Technology Reduce adoption barriers Componentizing: Cost of adapting models to interact with coupling technology Risk of changes to legacy code Avoiding the costs of a general solution Compromised efficiency, an essential requirement of earth system models Conformance with the software architectures of the models being coupled

Solution: Configurable Coupler Generation We have made use of a software engineering technique called generative programming, which generates couplers based on a declarative requirements specification Couplers can be seen as members of a family of modules with similar requirements Data communication among models Data transformation and interpolation Management of parallel computing resources

Generative Programming Process... … module comp2 … module comp1 …... … Describe existing components based on source code Describe a coupling configuration 12 Generate the source code for a coupler and a driver 3 Code Generator module coupler … program driver …

Feature Analysis A key step in generative programming is feature analysis, which understands a set of related technologies by organizing their features along orthogonal dimensions The output of feature analysis is a feature model that identifies common and variable properties of the technologies Once a feature model has been produced, elements can be selected from it to produce a configuration, describing a desired family member An automated generator can then be used to produce the actual code for that member

Feature Diagrams A feature model is expressed as a feature diagram—an annotated tree in which nodes represent features in the domain, where a feature is an element of user-visible functionality Nodes are connected with directed edges and edges have decorations that define the relationship between parent and child nodes

Example

Notation The root node the diagram is called the concept node All nodes below the concept node represent features and subfeatures Mandatory features are denoted by a simple edge ending with a filled circle Optional features are denoted by a simple edge ending with an open circle Subsets of features may be alternatives denoted by connecting the edges pointing to alternatives with an arc If an arc connecting edge is filled in, it indicates that any subset of the alternatives may be chosen; otherwise the alternatives are mutually exclusive

Constraints Feature diagrams may also contain textual constraints that enforce dependencies among features Mutual-exclusion constraints are used to describe illegal combinations of features Requires constraints indicate that the presence of one feature requires the presence of another

Major Technologies Reviewed

Approach The feature analysis we conducted is based on information found in technical documentation that accompanies the coupling technologies (e.g., programming guides, user manuals) as well as published scientific literature The initial feature analysis was conducted bottom-up by collecting a list of over 100 features used by at least one of the technologies We dealt with complexity by abstracting related sub- features into common higher-level features, producing a hierarchy six levels deep

Difficulties We are not domain experts We sometimes had to synthesize a term from instances describing roles played by existing couplers We sometimes had to chose between terms describing the same concept When features from different base technologies overlapped, we had to distill out what the essential capability was

Orthogonality One of the key goals of feature analysis is orthogonality Features are orthogonal to the extent they express independently selectable capabilities Orthogonality promotes the idea of separation of concerns and the ability to reason about a single feature without importing non-related aspects from other features

High Level Breakdown

Target Environment

Data

Capabilities

Software Architecture

Coupler

Connector

Driving

Control

Setup

Grids* *The material in this section is an impoverished version of the feature analysis performed to produce the GFDL grid spec

Code Generation Status Cupid coupler generation environment A high-level, framework-specific language for describing and writing ESMF-based applications A static validation engine for checking for consistent and correct usage of ESMF A code generator for automatically writing the FORTRAN for ESMF couplers and drivers Technologies used Eclipse/EMF, ANTLR, StringTemplates

Validation Tie features back to the technology from which they came Vetting via technology purveyors Take an existing coupled model (CESM) and see how it uses coupling technology Discussions with modelers/scientists

Other Uses of Feature Analysis Configuration on the cloud Metadata validation Stimulate community discussion Ultimately, interoperability Application to other fields

Want to Know More? Rocky Dunlap, Spencer Rugaber, Leo Mark. "A Feature Model of Coupling Technologies for Earth System Models." Technical Report GT-CS-10-18, October 5, 2010, R. Dunlap, et al., "Earth System Curator: Metadata Infrastructure for Climate Modeling," Earth Science Informatics, 1( ), Workshop: “Coupling Technologies for Earth System Modelling : Today and Tomorrow” CERFACS, Toulouse France - December 15th to 17th Web site: