24
1 22-03-21 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer Science and Engineering, University of Mälardalen, Västerås, Sweden and at the Faculty of Electrical Engineering and Computing, University of Zagreb, Croatia (year 2003/2004). For all other purposes, authors’ written permission is needed! The purpose of these materials is to help students in better understanding of lectures in DSD and not their replacement! NOTICE!

12015-08-13 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer

Embed Size (px)

Citation preview

123-04-19

• These materials are prepared only for the students enrolled in

the course Distributed Software Development (DSD) at the

Department of Computer Science and Engineering,

University of Mälardalen, Västerås, Sweden and at the Faculty

of Electrical Engineering and Computing, University of Zagreb,

Croatia (year 2003/2004).

• For all other purposes, authors’ written permission is needed!

• The purpose of these materials is to help students in better

understanding of lectures in DSD and not their replacement!

NOTICE!

223-04-19

Selected Topics in Software Engineering -

Distributed Software Development

323-04-19

ASN.1 to CSV converter generator

Project Current state presentation2008-12-04

MDH:

Guido Di Campli

Giovanni Piemontese

Paolo D’Amelio

FER:

Ivan Škugor

Željko Krpetić

Željko Knežević

Steering group: Igor Čavrak at FERRikard Lang at MDHM.Sc. Branko Beslać (Ring datacom)

What we will talk about?

• Current status for:– eSNACC / custom code generator solution– XSL generator– Tree view generator– BER to XML conversion– GUI

• General project status

423-04-19

BER to CSV converter structure

523-04-19

Done (eSNACC)

Done

Work in progress

Sample output

void parse_nrtrde() {

/* Init variables */

....

nrtrde = ≺

if (nrtrde->callEvents == NULL) return;

node = nrtrde->callEvents->first;

do {

recordCount++;

callEvent = node->data;

switch (callEvent->choiceId) {

case CALLEVENT_MOC:

moc = callEvent->a.moc;

/* RECORD_TYPE */

s = sprintf(sql,"1, ");

/* O_P_MSISDN */

if (PRESENT(moc->connectedNumber)) {

PRINT(moc->connectedNumber);

} else if (PRESENT(moc->dialledDigits)) {

PRINT(moc->dialledDigits);

} else

s += sprintf(sql+s,", ");

623-04-19

eSNACC / custom code generator solution status

• Work on code generator algorithm– Learn more about ASN.1 and eSNACC – More testing on paper– Final implementation (C#)

• GUI <-> Code generator interface

723-04-19

XSL generator

823-04-19

Code generator/XSL generator

• XSLT– Converts XML to other format (even a CSV?)– We use it because it’s fast and simple to use– ANSI C compilant– It’s extendible

923-04-19

Example of generated XSL<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="text"/>

<xsl:template match="/">

<xsl:apply-templates select="/Nrtrde/specificationVersionNumber"/>

<xsl:apply-templates select="/Nrtrde/releaseVersionNumber"/>

</xsl:template>

<xsl:template match="/Nrtrde/specificationVersionNumber">

<xsl:value-of select="."/>

<xsl:value-of select="','"/>

</xsl:template>

<xsl:template match="/Nrtrde/releaseVersionNumber">

<xsl:value-of select="."/>

</xsl:template>

</xsl:stylesheet>

1023-04-19

ASN1 to XML (1/3)

1123-04-19

ASN1 to XML (2/3)

1223-04-19

ASN1 to XML (3/3)

1323-04-19

BER to XML (1/3)

1423-04-19

BER to XML (2/3)

1523-04-19

BER to XML (3/3)

1623-04-19

GUI Status 1/3

172008-12-18

GUI Features Status

Load XML in Treeview Ready

Select/Deselect elements on treeview Ready

Expand/Collapse elements on treeview Ready

Colors view on treeview Ready

Add Grammars using treeview Ready

Store information in Xpath Format Needs improvements

Output panel Probably it needs add-on

General GUI functionalities Needs improvements

Format panel selection Not started

Cleaner Ready

GUI Status 2/3

182008-12-18

= Done

= Almost done or needs improvements

= Not Done

GUI Status 3/3

192008-12-18

= Done

= Almost done or needs improvements

= Not Done

Treeview and colors meaning

202008-12-18

All childs are selected or node

has no child

No nodes selected

Parents have one/different

unchecked nodes

What we will do about GUI

1. Solving some Bugs (if is possible)

2. Enrich information about selected grammars

3. Add Format PanelBox

4. Graphic improvements

5. Testing

212008-12-18

GUI – screenshot

2223-04-19

General project status

Activityw45 w46 w47 w48 w49 w50 w51 w52 w1 w2 w3

Project plan                  

Requirements analysis & definition                  

System Design                  

Tree view generator                  

Converter generator                  

GUI                  

Integration                  

Testing                  

Final Product                  

2323-04-19

Project status : on track

• Any Questions ?

2423-04-19