Unpublished : Copyright Marconi Communications Limited. All Rights Reserved. www.marconi.com 1 The First Product Line Conference Workshop on Generative.

Slides:



Advertisements
Similar presentations
Test Case Generation for testing SNMP agents
Advertisements

© Copyright 2007 Exempler Telecom Test Automation System Exempler - We pride ourselves with providing lightweight robust engineering solutions.
October 10-13, 2006 San Diego Convention Center, San Diego California VoIP/SOA Integration Impact on IT Apps, Processes, & Overall Business.
© 2007 Cisco Systems, Inc. All rights reserved.ISCW-Mod3_L7 1 Network Security 2 Module 6 – Configure Remote Access VPN.
Maurizio Pighin, University of Udine, Italy Venezia, marzo 2001 Workshop SALADIN Slide 1 Maurizio Pighin Dipartimento di Matematica e Informatica.
Design Patterns.
Chapter 7 System Models.
1 Copyright © 2002 Pearson Education, Inc.. 2 Chapter 1 Introduction to Perl and CGI.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
© 2008 The MathWorks, Inc. ® ® Using Instant Messaging to Usability Test an API Rachel Cobleigh Donna Cooper.
Introduction to Product Family Engineering. 11 Oct 2002 Ver 2.0 ©Copyright 2002 Vortex System Concepts 2 Product Family Engineering Overview Project Engineering.
ASYCUDA Overview … a summary of the objectives of ASYCUDA implementation projects and features of the software for the Customs computer system.
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
3 Copyright © 2005, Oracle. All rights reserved. Designing J2EE Applications.
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
Use of ITU-T languages in Nokia
Flexible Airborne Architecture
0 - 0.
Addition Facts
Cathy N. Hartman University of North Texas Libraries October 10, 1998 Cathy N. Hartman University of North Texas Libraries October 10, 1998.
|epcc| NeSC Workshop Open Issues in Grid Scheduling Ali Anjomshoaa EPCC, University of Edinburgh Tuesday, 21 October 2003 Overview of a Grid Scheduling.
Communicating over the Network
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design 1.
Overview Environment for Internet database connectivity
Proud Members of the Consulting Group, LLC
Week 2 The Object-Oriented Approach to Requirements
Configuration management
What is it? What is it used for?
Chapter 5 – Enterprise Analysis
© 2011 TIBCO Software Inc. All Rights Reserved. Confidential and Proprietary. Towards a Model-Based Characterization of Data and Services Integration Paul.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 8: Subnetting IP Networks Network Fundamentals.
INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid.
Legacy Systems Older software systems that remain vital to an organisation.
ICS 434 Advanced Database Systems
Component-Based Software Engineering Main issues: assemble systems out of (reusable) components compatibility of components.
IONA Technologies Position Paper Constraints and Capabilities for Web Services
COMOS Mobile Solutions 1.0 Simplified global collaboration
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 EN0129 PC AND NETWORK TECHNOLOGY I NETWORK LAYER AND IP Derived From CCNA Network Fundamentals.
Lecture 6: Software Design (Part I)
Introduction to Databases
Executional Architecture
Template v5 October 12, Copyright © Infor. All Rights Reserved. 1 Learn LN User interface concepts Bram Vijfhuizen Principal.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 VLANs LAN Switching and Wireless – Chapter 3.
© 2006 Cisco Systems, Inc. All rights reserved. ICND v2.3—2-1 Extending Switched Networks with Virtual LANs Introducing VLAN Operations.
Addition 1’s to 20.
Requirements Analysis 1. 1 Introduction b501.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis Introduction.
Week 1.
Building an EMS Database on a Company Intranet By: Nicholas Bollons Sally Goodman.
1 1/15/ :37 Chapter 14Network Management1 Rivier College CS575: Advanced LANs Chapter 14: Network Management.
From Model-based to Model-driven Design of User Interfaces.
Copyright 2002 Prentice-Hall, Inc. Chapter 4 Automated Tools for Systems Development 4.1 Modern Systems Analysis and Design Third Edition.
Experiment Management System CSE 423 Aaron Kloc Jordan Harstad Robert Sorensen Robert Trevino Nicolas Tjioe Status Report Presentation Industry Mentor:
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Model Driven Engineering Technologies © Copyright IBM Corporation 2007 IBM Haifa Labs Telecom Service Evolution Environment Feb 2008 Shiri Kremer-Davidson.
CSC271 Database Systems Lecture # 4.
An Introduction to Software Architecture
4 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved. Computer Software Chapter 4.
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
L9 - April 5, 2006copyright Thomas Pole , all rights reserved 1 Lecture 9: Reuse Driven Processes and Text Ch. 7: Programming with Models.
1 CMPT 275 High Level Design Phase Modularization.
Experiment Management System CSE 423 Aaron Kloc Jordan Harstad Robert Sorensen Robert Trevino Nicolas Tjioe Status Report Presentation Industry Mentor:
Chapter 4 Automated Tools for Systems Development Modern Systems Analysis and Design Third Edition 4.1.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2000 Lecture # 2 - September 14, 2004.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
Software Maintenance
An Introduction to Software Architecture
Presentation transcript:

Unpublished : Copyright Marconi Communications Limited. All Rights Reserved. 1 The First Product Line Conference Workshop on Generative Techniques Software Generation by Extreme Abstraction Joerg Friedrich Marconi Communications Backnang, Germany

Unpublished : Copyright Marconi Communications Limited. All Rights Reserved. 2 Motivation 1.Decrease cost of software development and maintenance 2.Reduce development time 3.Increase software quality 4.Enable domain experts to generate new software l Approach: Only reuse was judged to have the potential of significantly contributing towards these goals

Unpublished : Copyright Marconi Communications Limited. All Rights Reserved. 3 We knew l Reuse has generally not worked well in the past l Reuse has worked where solutions to problem domains were provided in an easy to use way l People adopted reusable software when they could see immediate or short term benefits l Examples: OS, compilers, GUIs, DBMS Enable reuse by abstraction and specialisation

Unpublished : Copyright Marconi Communications Limited. All Rights Reserved. 4 Domain Model Varia- bilities Commonalities Glue Code Static code DSL defined, generated code Handwritten code

Unpublished : Copyright Marconi Communications Limited. All Rights Reserved. 5 Feature Notation l One of the less matured tasks in feature modeling is that of feature description and notation l Generalized feature notations often do not fit a domain well, but are widely adopted (e.g. UML) l A tailored, domain specific notation cannot be widely adopted, but can be very powerful for its specific purpose l A tailored, domain specific notation substantially eases the task of developing application generators

Unpublished : Copyright Marconi Communications Limited. All Rights Reserved. 6 Extreme Abstraction Procedure 1.Develop a domain model using e.g. the FODA method. 2.Separate domain model in feature model (variabilities), requirements model (commonalities), and „glue code“ 3.For the feature model, design a domain specific language (DSL) that can describe the domain at the highest level of abstraction 4.Develop a code generator for this DSL 5.Develop software that captures all commonalities, and interfaces with the DSL generated code

Unpublished : Copyright Marconi Communications Limited. All Rights Reserved. 7 Extreme Abstraction DSL Examples GUI Database ERP Database ERP Protocols Control Delphi SQL xBase ABAP SDL State Charts MATLAB

Unpublished : Copyright Marconi Communications Limited. All Rights Reserved. 8 Abstraction and Specialisation l Enable abstraction by limitation to a specific problem domain l Examples: n SQL is limited to DBMS, but provides in this context powerful functionality at very high abstraction (e.g. select statements) n MATLAB is optimised for matrix operations. A matrix multiplication can be written in the most abstract way as C = A * B l A DSL can provide abstraction and ease adoption of reusable software

Unpublished : Copyright Marconi Communications Limited. All Rights Reserved. 9 Domain Example Element Management Agent Element Management Agent Element Management Agent Network MIB Management Application Management Server Element Management Agent Element Management Agent Element Management Agent Element Management Agent Element Management Agent Element Management Agent Network Management Client (PC, WS) Management Client (PC, WS) Management Client (PC, WS) Management Client (PC, WS) Management Client (PC, WS) Management Client (PC, WS)

Unpublished : Copyright Marconi Communications Limited. All Rights Reserved Domain Example Element Management Agent l Element Management Agents are part of all our products such as microwave radios, optical network units, SDH multiplexers l There exist well written standards that describe most of the requirements model l Element Management Agents cover the following functional areas: n Fault management n Configuration and name management n Performance management n Security management

Unpublished : Copyright Marconi Communications Limited. All Rights Reserved Domain Example Element Management Agent MIB Agent Application Element Management Agent Managed Objects Operations Notifications

Unpublished : Copyright Marconi Communications Limited. All Rights Reserved Domain Example Element Management Agent VMP01 OSI ECC TCP/IP 10Base-T AWP01 Information Model Application layer Physical layer Commonalities, in static code Variabilities, in DSL

Unpublished : Copyright Marconi Communications Limited. All Rights Reserved Element Management Agent

Unpublished : Copyright Marconi Communications Limited. All Rights Reserved Element Management Agent FUNCTION GROUP SISA 0; ALARMS(3); (0,7) INT_A[0] = SIS_INT_A[0]; /* Internal alarm, urgent */ (0,2) Conf[0] = GE, LE: SIS_CON[0] | SD_FMT[0] | SD_FMT[1] KR: SIS_CON[0] | SD_FMT[0]; USER DATA(2,2); (0,0) BF_FREI[0] = SIS_BF_FREI[0]; (0,1) BF_GSTO[0] = SIS_BF_GSTO[0]; END FUNCTION GROUP; FUNCTION GROUP TX 0xE1; ALARMS(2); (0,6) INT_B = GE: (SD_INT_A[A] ^ SD_INT_A[B]) | SD_INT_B[A] | SD_INT_B[B] aa: SD_INT_B; (1,5) LOSB = GE: SD_LOS[B] aa: 0; (1,4) LOSA = GE: SD_LOS[ACTIVE_TX] aa: SD_LOS[A] | SD_LOS[ACTIVE_TX]; END FUNCTION GROUP;

Unpublished : Copyright Marconi Communications Limited. All Rights Reserved Experience I l Have introduced this approach in 1994 l Scoping had already been mostly done in the standardization process l Developed agents for PDH and SDH microwave radios, WLL radios, and PDH multiplexers l Agent development takes about 1 week after DSL specification by domain expert (mostly testing) l A typical agent is comprised of about 25 kLOC l Code expansion factors were about 10:1 with regard to the feature model l DSL design evolves as domain model is extended

Unpublished : Copyright Marconi Communications Limited. All Rights Reserved Experience II l Development of the code generator incurred about 20% more effort than that spent on a previous traditional development of an agent l Development of DSL and code generator requires more skills than in traditional software development l Procedure requires well defined and controlled interfaces towards network management system and managed objects. This has been the major stumbling stone for a wider adoption. l Maintenance is reduced to that of code generator and static code