Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

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

2 Unpublished : Copyright Marconi Communications Limited. All Rights Reserved. www.marconi.com 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

3 Unpublished : Copyright Marconi Communications Limited. All Rights Reserved. www.marconi.com 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

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

5 Unpublished : Copyright Marconi Communications Limited. All Rights Reserved. www.marconi.com 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

6 Unpublished : Copyright Marconi Communications Limited. All Rights Reserved. www.marconi.com 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

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

8 Unpublished : Copyright Marconi Communications Limited. All Rights Reserved. www.marconi.com 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

9 Unpublished : Copyright Marconi Communications Limited. All Rights Reserved. www.marconi.com 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)

10 Unpublished : Copyright Marconi Communications Limited. All Rights Reserved. www.marconi.com 10 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

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

12 Unpublished : Copyright Marconi Communications Limited. All Rights Reserved. www.marconi.com 12 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

13 Unpublished : Copyright Marconi Communications Limited. All Rights Reserved. www.marconi.com 13 Element Management Agent

14 Unpublished : Copyright Marconi Communications Limited. All Rights Reserved. www.marconi.com 14 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;

15 Unpublished : Copyright Marconi Communications Limited. All Rights Reserved. www.marconi.com 15 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

16 Unpublished : Copyright Marconi Communications Limited. All Rights Reserved. www.marconi.com 16 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


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

Similar presentations


Ads by Google