7 th ACS Workshop 2010 Antofagasta, Chile ACS Project Lifecycle Matias Mora (based on presentation by G. Chiozzi and J. Ibsen)

Slides:



Advertisements
Similar presentations
Pulan Yu School of Informatics Indiana University Bloomington Web service based Varuna.Net.
Advertisements

© 2010 Wipro Ltd - Confidential SGSN Automation Testing Using TTCN3 Authors: Jyothi Gavara Nikhil Rahul Ekka.
C Module System C and Data Structures Baojian Hua
Programming Creating programs that run on your PC
1 Departamento de Informatica, UTFSM. Agosto 2006 ACS Working Style Mauricio Araya: Team Leader ACS – UTFSM Team.
Software Frameworks for Acquisition and Control European PhD – 2009 Horácio Fernandes.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Design an App Gail Dickinson Germantown Middle School 8 th Grade STEM Gail Dickinson Germantown Middle School 8 th Grade STEM.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
ALMA SW Development Tools, Standards and Integration Procedures P. Sivera, M. Zamparelli European Southern Observatory Garching – ESO.
UML and Object Oriented Concepts
QualNet 2014/05/ 尉遲仲涵. Outline Directory Structure QualNet Basic Message & Event QualNet simulation architecture Protocol Model Programming.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Input/Output Controller (IOC) Overview Andrew Johnson Computer Scientist, AES Controls Group.
M. Zamparelli European Southern Observatory ACS Course Japan, July 2005 ALMA/ACS Software Engineering.
Topics Introduction Hardware and Software How Computers Store Data
Lesley Bross, August 29, 2010 ArcGIS 10 add-in glossary.
Project Source Code Structure and Build Process ● Remember consistency matters as source code structure, build process, and release processes are all intertwined.
ESO - Garching 23 June – 02 July, 2003 ACS Course Data entities and XML serialization H. Sommer.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Implementation Considerations Yonglei Tao. Components of Coding Standards 2  File header  file location, version number, author, project, update history.
Understanding the CORBA Model. What is CORBA?  The Common Object Request Broker Architecture (CORBA) allows distributed applications to interoperate.
Enabling the ARM Learning in INDIA ARM DEVELOPMENT TOOL SETUP.
ALMA Common Software Basic Track Introduction to the ACS Framework.
6st ACS Workshop UTFSM ACS Course Component, Container, Lifecycle Management 6st ACS Workshop UTFSM, Valparaiso, Chile H. Sommer, G. Chiozzi.
ALMA Common Software Basic Track Software Engineering Basics.
©Ian Sommerville 2000 Software Engineering, 6th edition. Slide 1 Component-based development l Building software from reusable components l Objectives.
1 SYS366 Lecture 1: Introduction to Systems. 2 What is Software Development? Software Development implies developing some software – but it does not involve.
Operating Systems Lecture 4. Agenda for Today Review of previous lecture Operating system structures Operating system design and implementation UNIX/Linux.
David Adams ATLAS ATLAS Distributed Analysis David Adams BNL March 18, 2004 ATLAS Software Workshop Grid session.
4/2/03I-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Software Architecture and Design Readings: Ambler, Chap. 7 (Sections to start.
Presented By: Muhammad Tariq Software Engineer Android Training course.
Tutorial build Main ideas –Reuse as much previously obtained configuration information as possible: from Babel, cca-spec-babel, etc. –Extract all irrelevant.
ALMA Common Software Basic Track Component implementation guidelines.
ALMA Common Software Basic Track Test Driven Development Unit testing and TAT.
The Systems Development Life Cycle
 Repository Model  Client-Server Model  Layered Model  Modular decomposition styles  Object Models  Function Oriented Pipelining  Control Styles.
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
ACS Component Simulator J. Ibsen European Southern Observatory Garching – January 2007ESO.
CSC 480 Software Engineering Lecture 18 Nov 6, 2002.
Installation Tutorial Paola Sivera ESO ACS 2.1 for Linux RH7.2.
ICALEPCS’ GenevaACS in ALMA1 Allen Farris National Radio Astronomy Observatory Lead, ALMA Control System.
ESO - Garching 23 June – 02 July, 2003 ACS Course Transparent XML De-/Serialization in Java H. Sommer.
EPICS Application Development At The Canadian Light Source Glen Wright.
Configuration Management CSCI 5801: Software Engineering.
J.P. Wellisch, CERN/EP/SFT SCRAM Information on SCRAM J.P. Wellisch, C. Williams, S. Ashby.
 Programming - the process of creating computer programs.
CSC 480 Software Engineering Test Planning. Test Cases and Test Plans A test case is an explicit set of instructions designed to detect a particular class.
CSC 1010 Programming for All Lecture 2 Introduction to Python Some material based on material from Marty Stepp, Instructor, University of Washington.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Session 4 Lecture # 3 - September 28, 2004.
Configuring and Running the OPC.NET Generic Clients 1.
310414IMPLEMENTATION1 IMPLEMENTATIONIMPLEMENTATION SOFTWARE ENGINEERING SOFTWARE ENGINEERING.
1st ACS Workshop UTFSM, Valparaiso, Chile ACS Course The Big Picture of ACS H. Sommer, G.Chiozzi.
1 SYS366 Week 1 - Lecture 1 Introduction to Systems.
ALMA Common Software Basic Track Project Lifecycle.
ESO - Garching 08 – 09 March, st ALMA Common Software Workshop ACS Container/Component Model.
ALMA Common Software Basic Track Configuration Database.
ACS on VxWorks B.Gustafsson European Southern Observatory ESO Feb ESO.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
Maven. Introduction Using Maven (I) – Installing the Maven plugin for Eclipse – Creating a Maven Project – Building the Project Understanding the POM.
Review of Definitions Software life cycle: –Set of activities and their relationships to each other to support the development of a software system Software.
IS 350 Course Introduction. Slide 2 Objectives Identify the steps performed in the software development life cycle Describe selected tools used to design.
Tinyos Introduction to Programming Pritee Parwekar.
ALMA Common Software Basic Track
J2EE Application Development
Operating Systems Lecture 4.
Code Architecture View
Topics Introduction Hardware and Software How Computers Store Data
Tango in a Nutshell 31/12/2018.
Software Installation, release 4.0
Presentation transcript:

7 th ACS Workshop 2010 Antofagasta, Chile ACS Project Lifecycle Matias Mora (based on presentation by G. Chiozzi and J. Ibsen)

7 th ACS Workshop 2010 Antofagasta, Chile Introduction ACS related development: Short cycles Functionalities added incrementaly Main steps during each cycle: Requirements capture Implementation Integration

7 th ACS Workshop 2010 Antofagasta, Chile Requirements Capture Goal: group functionalities in high-level “components”, identified by their interfaces Language independent Steps: Requirements identification → Use cases Interfaces identification and component breakdown Subsystem/module creation

7 th ACS Workshop 2010 Antofagasta, Chile Implementation [1] Steps: Interfaces implementation (language specific) Component simulation Component and high level tests implementation Component functionality implementation

7 th ACS Workshop 2010 Antofagasta, Chile Implementation [2] Previous steps are not sequential! Tests are an integral part of the implementation (test-driven development) Test layers: Unit tests Component tests End-to-end/Subsystem tests

7 th ACS Workshop 2010 Antofagasta, Chile Implementation [3] Unit tests: implementation language specific; written by component developer Component tests: component interface specific; language independent; written by component developer or integration team End-to-end/Subsystem tests: overall subsystem requirements related; written by the integration team

7 th ACS Workshop 2010 Antofagasta, Chile Integration Deploy all the components together in an integrated configuration database (CDB) Complexity depends on the number of components and interactions between components Main focus on high-level/end-to-end test execution

7 th ACS Workshop 2010 Antofagasta, Chile Finally:...start all over again!

7 th ACS Workshop 2010 Antofagasta, Chile Questions?

7 th ACS Workshop 2010 Antofagasta, Chile Software Engineering Basics Matias Mora (based on presentation by M. Zamparelli)

7 th ACS Workshop 2010 Antofagasta, Chile Software Module Set of related files grouped together in a directory structure Includes Makefile, implementation and tests Usually, a single component is stored in a single software module

7 th ACS Workshop 2010 Antofagasta, Chile Directory Structure /idl Generic interface definition /include Language specific header files (C++) /src Source code /lib Application/test code libs* /bin Executables* /test Test code (separated from app. code) … (*) Populated by Makefile

7 th ACS Workshop 2010 Antofagasta, Chile ACS Makefile Project wide set of rules, centrally managed ( $ACSROOT/include/acsMakefile ) Each developer has to add only the module specific part → file names Based on a normal Makefile Strictly correlated to the environment variables and software module standards

7 th ACS Workshop 2010 Antofagasta, Chile IDL_FILES Python StubsJava StubsC++ Stubs ACE/TAO JacORB Omniorb ACS XmlIdl compiler Java Component Wrappers for Container XSDBIND (XSDBIND_INCLUDE) Java Entity Classes COMPONENT_HELPERS Java Component Helper Classes ACSERRDEF PythonJavaC++ Hierarchical Include directories Real Time Linux Kernel Modules RTAI_MODULES XML_IDL

7 th ACS Workshop 2010 Antofagasta, Chile Test directory Place for all module specific test files Contains an own Makefile Usually contains a small CDB for component testing (also deployment example)

7 th ACS Workshop 2010 Antofagasta, Chile ACSROOT Default location of installed ACS binaries and libraries Directory structure similar to module structure Reference through the $ACSROOT environment variable Populated during build, if no INTROOT defined

7 th ACS Workshop 2010 Antofagasta, Chile INTROOT Location for binaries and libraries for system parts under development Directory structure almost identical to ACSROOT Reference through the $INTROOT environment variable Populated through Makefile build ( make install )

7 th ACS Workshop 2010 Antofagasta, Chile Template Utility Tool to create ACS directory structures Also provides templates for files according to SE standards (Makefile, C++ headers and sources, etc.) Executable: getTemplateForDirectory

7 th ACS Workshop 2010 Antofagasta, Chile Questions?