The COSMO Coding Standards Some Highlights

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

July 11 th, 2005 Software Engineering with Reusable Components RiSE’s Seminars Sametinger’s book :: Chapters 16, 17 and 18 Fred Durão.
A Review ISO 9001:2015 Draft What’s Important to Know Now
Software Configuration Management
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Standards experts. Accreditation solutions. Andrea Spencer Coordinator, WTO/NAFTA Enquiry Point (Canada) TBT Special Meeting on Procedures for Information.
Science Plan and SPM report COSMO General Meeting, 9 September 2010.
Conformance Mark Skall Lynne S. Rosenthal National Institute of Standards and Technology
Deutscher Wetterdienst Status of the Support Activities, and other WG6 Issues COSMO Working Group 6: Reference Version and Implementation Working Group.
COMP 208/214/215/216 – Lecture 8 Demonstrations and Portfolios.
January 2004doc.: IEEE /008r3 Clint Chaplin, Symbol TechnologiesSlide 1Submission Security Standing Committee Clint Chaplin, Symbol Technologies.
Overview on the Work of WG 6 Reference Version and Implementation WG Coordinator: Ulrich Schättler.
Overview on the Work of WG 6 Reference Version and Implementation WG Coordinator: Ulrich Schättler.
The Software Development Process
WG 6 and Support Activities Overview Status Report Reference Version and Implementation WG Coordinator and Project Leader: Ulrich Schättler.
WG 6 and Support Activities Plans for the next Year.
DICOM to ISO-DICOM Report to joint ISO TC215/WG2 – DICOM WG10 meeting January 24, 2004, San Diego.
Status of the COSMO web Cosmin Barbu, Rodica Dumitrache, Bogdan Maco National Meteorological Administration of Romania.
IAEA International Atomic Energy Agency Methodology and Responsibilities for Periodic Safety Review for Research Reactors William Kennedy Research Reactor.
WG 6 and Support Activities Overview Status Report Reference Version and Implementation WG Coordinator and Project Leader: Ulrich Schättler.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
January 2004doc.: IEEE /008r2 Clint Chaplin, Symbol TechnologiesSlide 1Submission Security Standing Committee Clint Chaplin, Symbol Technologies.
Deutscher Wetterdienst COSMO-Standards for Source Code Development A Discussion COSMO Working Group 6: Reference Version and Implementation Working Group.
Maite Barroso – WP4 Workshop – 10/12/ n° 1 -WP4 Workshop- Developers’ Guide Maite Barroso 10/12/2002
Status of the COSMO web Cosmin Barbu, Rodica Dumitrache National Meteorological Administration of Romania.
Open source development model and methodologies.
WP4 Models and Contents Quality Assessment
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
ICS 3UI - Introduction to Computer Science
Software Configuration Management
Software Project Configuration Management
Project Management PTM721S
Implementing the Surface Transportation Domain
Overview on the Work of WG 6
Working in Groups in Canvas
The Development Process of Web Applications
Web Development Web Servers.
VCE IT Theory Slideshows
Content of Tender Dossier Instructions to Tenderers
The COSMO Coding Standards Some Highlights
GREECE-ALBANIA IPA CROSS BORDER COOPERATION PROGRAMME
Prepared by Rand E Winters, Jr. ASR Senior Auditor October 2014
Summary of WG6 activities
Request a Content Change for Novartis.com
Software Configuration Management
Software Documentation
ESMF Governance Cecelia DeLuca NOAA CIRES / NESII April 7, 2017
2017 Amendments to the INCITS Organization, Policies and Procedures
Online Testing System Assessment Viewing Application (AVA)
DG Environment, Unit D.2 Marine Environment and Water Industry
Validation & conformity testing
WG69 Status Report to ETSI
NPA eMS application – Project Information
Dr Sue Barrell, Australia
UFNPT Planning and Development Work Plan, Milestones and Timelines
Documentation for Developers
Security Standing Committee
Software Requirements Specification (SRS) Template.
VCE IT Theory Slideshows
Geant4 Documentation Geant4 Workshop 4 October 2002 Dennis Wright
PSS verification and validation
ReaAlignment Workshop: Internal Communication
Web-based Imaging Management System Working Group - WIMS
Item 7.11 SDMX Progress report
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Formalizing the Wireless Chair’s Meeting
Preparing a new Model Version according to Source Code Management
Executive Project Kickoff
Support Activities and WG 6 Overview Status Report
QoS Metadata Status 106th OGC Technical Committee Orléans, France
Presentation transcript:

The COSMO Coding Standards Some Highlights COSMO Working Group 6: Reference Version and Implementation Working Group Coordinator: Ulrich Schättler

Contents Activities from the last year Some highlights from the document Software Maintenance and Quality Control Release Planning Implications on daily work 05.09.2010 COSMO General Meeting 2011

Activities from the Last Year First draft from August 2010 was followed by a WG 6 discussion at the GM in Moscow Further drafts in January and April; submission to STC Meeting in April Discussion within STC resulted in some comments (role of SMC, STC) Discussions and meetings with CLM group Discussion within SMC Meetings in January (Zürich) and July (web conf) „Final Draft“ (now called Version 1.0) from August 2011 submitted to STC for acceptance NOTE: The „COSMO Coding Standards“ are mainly written for the COSMO-Model and the INT2LM, but are applicable to other COSMO Software. There are appendices for the other codes like fieldextra. NOTE: The „COSMO Coding Standards“ are also discussed within the CLM Community, but (latest news) not accepted at the moment Problems for CLM: which management body decides on CLM developments who decides on contents of unified releases 05.09.2010 COSMO General Meeting 2011

Some Highlights from the Document Coding Rules: try to give the code a „common look“ and improve readability Documentation: The following documents have to be available for new / modified code: internal product documentation: code has to be structured in meaningful, documented units / sections external product documentation: scientific documentation and user guide (also: implementation documentation) process documentation: documentation of the changes for version history and changes log-file documentation has to be written such that it can be taken over to the existing documentation (english, latex) Implementation Issues: still has to be completed Interfaces: will be described in the Implementation Documentation 05.09.2010 COSMO General Meeting 2011

Software Maintenance and Quality Control Codes are maintained in a version control system (VCS) Code within the VCS is „official code“, all other code (not in the VCS) is „private code“ Each version in the VCS gets a certain status development: intermediate versions only given to the developers for cross-checking test: versions given to special test users to conduct extensive tests (different configurations, domains, etc.) release: if a version passes the tests successfully, it becomes a release and is available to all users 05.09.2010 COSMO General Meeting 2011

Software Maintenance and Quality Control How can a contribution („private code“) become part of the VCS („official code“)? This is specified in Sect. 6.2: Rules for the implementation of changes. These rules are closely related to the „Development Process“, described in Chap. 2 of the Coding Standards The most important steps are outlined in the following Some helpful definitions STC: Steering Committee SMC: Scientific Management Committee TAG: Technical Advisory Group SCA: Source Code Administrator } „The Management“ 05.09.2010 COSMO General Meeting 2011

Software Maintenance and Quality Control Steps of the Development Process Comments The Idea can be initiated by everybody (individuals, WGC, SMC, Universities, CLM), but should be discussed with „relevant people“ (code owners, WGC) has to be submitted to „The Management“ Development of software without formal restrictions to prove usefulness of the idea and the changes. This will be a „private version“. (But would be helpful, if Coding Standards are taken into account) First Management Decision Management decides, whether the idea is inline with scientific / technical planning. If so and if usefulness has been proved, it is included in the Planning for Future Developments. A plan for the further development has to be set up. If COSMO resources are used (e.g. for a Priority Project), Management has to decide about that 05.09.2010 COSMO General Meeting 2011

Software Maintenance and Quality Control Steps of the Development Process Comments The Development Now developing and testing has to be done according to the COSMO Standards. This is still done with a „private version“. See following slide „Implication on daily work“ for more details. For testing, a technical and a meteoro-logical test suite will be defined soon. The amount of testing depends on the kind of changes. Results of the tests have to be published „appropriately“ (presentation, Newsletter, TR, …). Second Management Decision Management checks the results of the tests and conformance of technical requirements. If all issues are satisfied, the change is included in the Release Planning. The Release Planning defines an intended version number and date for implementing the changes into „official code“, i.e. the VCS. 05.09.2010 COSMO General Meeting 2011

Software Maintenance and Quality Control Steps of the Development Process Comments Official Implementation The code together with the documentation is given to the SCA, who implements it into the VCS. The official code is given to the developer again for cross-checking. Depending on the kind of change, new versions will be „development“- or „test“-versions. 05.09.2010 COSMO General Meeting 2011

Release Planning „The Management“ administrates a list of contributions, the Planning for Future Developments This list contains the contributions which are still under development and do not fulfill all requests yet „The Management“ administrates a second list, the Release Planning This list contains the contributions for which development is ready, fulfills all requirements and can be taken over to the „official code“ For these contributions a date is specified, when the corresponding version will be available 05.09.2010 COSMO General Meeting 2011

Implication on Daily Work Are you a „Real Programmer“? Real Programmers don‘t do design and write specifications: Users should consider themselves lucky to get any programs at all and take what they get. Real Programmers can write five page long DO loops without getting confused. Real Programmers like Arithmetic IF statements and GOTOs: They make the code more interesting. Real Programmers don‘t document: If it was hard to write, it should be hard to read. And usually the code is obvious. Real Programmers don‘t test: If there is a problem, it can be patched into a working version in „only a few“ 30-hour debugging session. Real Programmers don‘t use debuggers: They can read core dumps. We do not need Real Programmers 05.09.2010 COSMO General Meeting 2011

Implication on Daily Work It would be very beneficial for all of us, if the daily development work is done according to the COSMO-Standards: „The source code provided is properly designed“ „The source code provided conforms to the coding rules“ „All source code modifications are documented“ „All changes have been tested. The results are published appropriately“ „A code responsible person is available in the future“ 05.09.2010 COSMO General Meeting 2011

Thank you very much for your attention 05.09.2010 COSMO General Meeting 2011