The first product line conference workshop on generative techniques
This presentation is the property of its rightful owner.
Sponsored Links
1 / 16

The First Product Line Conference Workshop on Generative Techniques PowerPoint PPT Presentation


  • 79 Views
  • Uploaded on
  • Presentation posted in: General

The First Product Line Conference Workshop on Generative Techniques. Software Generation by Extreme Abstraction Joerg Friedrich Marconi Communications Backnang, Germany ([email protected]). Motivation. 1.Decrease cost of software development and maintenance

Download Presentation

The First Product Line Conference Workshop on Generative Techniques

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


The first product line conference workshop on generative techniques

The First Product Line ConferenceWorkshop on Generative Techniques

Software Generation by

Extreme Abstraction

Joerg Friedrich

Marconi Communications

Backnang, Germany

([email protected])


Motivation

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

Approach:

Only reuse was judged to have the potential of significantly contributing towards these goals


We knew

We knew

Reuse has generally not worked well in the past

Reuse has worked where solutions to problem domains were provided in an easy to use way

People adopted reusable software when they could see immediate or short term benefits

Examples: OS, compilers, GUIs, DBMSEnable reuse by abstraction and specialisation


Domain model

Domain Model

Handwritten code

GlueCode

Varia-bilities

Commonalities

DSL defined, generated code

Static code


Feature notation

Feature Notation

One of the less matured tasks in feature modeling is that of feature description and notation

Generalized feature notations often do not fit a domain well, but are widely adopted (e.g. UML)

A tailored, domain specific notation cannot be widely adopted, but can be very powerful for its specific purpose

A tailored, domain specific notation substantially eases the task of developing application generators


Extreme abstraction procedure

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


Extreme abstraction dsl examples

Extreme Abstraction DSL Examples

Database

ERP

GUI

Protocols

Control

Delphi

SQL

SDL

MATLAB

xBase

State Charts

ABAP


Abstraction and specialisation

Abstraction and Specialisation

Enable abstraction by limitation to a specific problem domain

Examples:

SQL is limited to DBMS, but provides in this context powerful functionality at very high abstraction (e.g. select statements)

MATLAB is optimised for matrix operations. A matrix multiplication can be written in the most abstract way as C = A * B

A DSL can provide abstraction and ease adoption of reusable software


Domain example element management agent

Domain Example Element Management Agent

Management

Client (PC, WS)

Network

Management Server

MIB

Management

Client (PC, WS)

Management

Application

Management

Client (PC, WS)

Network

Element

Management

Agent

Element

Management

Agent

Element

Management

Agent

Element

Management

Agent


Domain example element management agent1

Domain Example Element Management Agent

Element Management Agents are part of all our products such as microwave radios, optical network units, SDH multiplexers

There exist well written standards that describe most of the requirements model

Element Management Agents cover the following functional areas:

Fault management

Configuration and name management

Performance management

Security management


Domain example element management agent2

Domain Example Element Management Agent

Element Management Agent

Operations

MIB

Agent

Application

Notifications

Managed Objects


Domain example element management agent3

Domain ExampleElement Management Agent

Information Model

Variabilities,

in DSL

AWP01

Application layer

Commonalities,

in static code

VMP01

OSI

TCP/IP

ECC

10Base-T

Physical layer


Element management agent

Element Management Agent


Element management agent1

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;


Experience i

Experience I

Have introduced this approach in 1994

Scoping had already been mostly done in the standardization process

Developed agents for PDH and SDH microwave radios, WLL radios, and PDH multiplexers

Agent development takes about 1 week after DSL specification by domain expert (mostly testing)

A typical agent is comprised of about 25 kLOC

Code expansion factors were about 10:1 with regard to the feature model

DSL design evolves as domain model is extended


Experience ii

Experience II

Development of the code generator incurred about 20% more effort than that spent on a previous traditional development of an agent

Development of DSL and code generator requires more skills than in traditional software development

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.

Maintenance is reduced to that of code generator and static code


  • Login