+ All Categories
Home > Documents > 12015-08-07 These materials are prepared only for the students enrolled in the course Distributed...

12015-08-07 These materials are prepared only for the students enrolled in the course Distributed...

Date post: 23-Dec-2015
Category:
Upload: adele-bridges
View: 223 times
Download: 0 times
Share this document with a friend
Popular Tags:
23
1 22-06-12 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!
Transcript
Page 1: 12015-08-07 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.

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!

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

223-04-19

Selected Topics in Software Engineering -

Distributed Software Development

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

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)

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

What we will talk about?

• Problems

• Solution modification

• Interfaces

• Alternative solution

• GUI

• General project status

423-04-19

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

Problems - Mapping of BER to CSV

- The BER file format (as described by the ASN.1 grammar) is a structured format, while CSV is a linear format

- There is NO direct 1:1 mapping from BER files to CSV files !

- In cooperation with our customer we found a solution- Data in each node of the grammar is represented with a

separate, different row in the CSV file- Each row has a type identifier at the beginning- It is not a real CSV file

523-04-19

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

Problems – testing a lot of tools

Open Source- SNACC/eSNACC- ASN1C- Libtasn1- ...

Commercial software- ASN.1 analyzer (Japan)- ASN1C ASN1 Compiler (Objective systems)- MARBEN™ ASNSDK TCE

623-04-19

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

Problems – eSNACC modification

- Modifying eSNACC turned out to be very difficult.- Even just compiling eSNACC from source code was

problematic- Finding and modifying  ASN.1 parsing routines was a

major problem- We found a better solution (using another ASN1C tool

and our own parsing routines)

723-04-19

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

Problems - Custom code generator

- Generating code for all possible cases could be a problem

- We extracted many rules from only one sample grammar (and of course, that was the simple one :)

- We decided to look for other solutions- We found that BER files have a 1:1 mapping with XML- Alternative solution : use a 3rd party BER to XML

converter, and then parse the XML file and generate CSV output

823-04-19

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

Old software architecture

923-04-19

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

Solution modifications

1023-04-19

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

Interfaces

1. Between tree generator and GUI

2. Between GUI and Custom code generator

1123-04-19

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

Example ASN.1 Grammar

1223-04-19

Nrtrde ::= [APPLICATION 1] SEQUENCE

{

specificationVersionNumber SpecificationVersionNumber OPTIONAL, -- *m.m.

releaseVersionNumber ReleaseVersionNumber OPTIONAL, -- *m.m.

sender Sender OPTIONAL, -- *m.m.

recipient Recipient OPTIONAL, -- *m.m.

sequenceNumber SequenceNumber OPTIONAL, -- *m.m.

fileAvailableTimeStamp FileAvailableTimeStamp OPTIONAL, -- *m.m.

utcTimeOffset UtcTimeOffset OPTIONAL, -- *m.m.

callEvents CallEventList OPTIONAL,

callEventsCount CallEventsCount OPTIONAL -- *m.m.

}

CallEventList ::= [APPLICATION 2] SEQUENCE OF CallEvent

CallEvent ::= CHOICE

{

moc Moc,

mtc Mtc,

gprs Gprs

}

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

First interface - XML

1323-04-19

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

Second interface – Xpath format

/Nrtrde[@type=‘SEQUENCE’]/CallEventList[@type=‘SEQUENCE OF’]/CallEvent[@type=‘CHOICE’]/Moc[@type=‘SEQUENCE’]/Imsi[@optional=‘YES’]

/Nrtrde[@type=‘SEQUENCE’]/CallEventList[@type=‘SEQUENCE OF’]/CallEvent[@type=‘CHOICE’]/Moc[@type=‘SEQUENCE’]/Imei[@optional=‘YES’]

/Nrtrde[@type=‘SEQUENCE’]/CallEventList[@type=‘SEQUENCE OF’]/CallEvent[@type=‘CHOICE’]/Moc[@type=‘SEQUENCE’]/CallEventDuration [@optional=‘YES’]

/Nrtrde[@type=‘SEQUENCE’]/CallEventList[@type=‘SEQUENCE OF’]/CallEvent[@type=‘CHOICE’]/Moc[@type=‘SEQUENCE’]/DialledDigits [@optional=‘YES’]

/Nrtrde[@type=‘SEQUENCE’]/CallEventList[@type=‘SEQUENCE OF’]/CallEvent[@type=‘CHOICE’]/Moc[@type=‘SEQUENCE’]/ChargeAmount [@optional=‘YES’]

1423-04-19

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

Alternative solution

1523-04-19

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

BER

1623-04-19

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

BER to XML

1723-04-19

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

(Quasi) CSV

1823-04-19

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

Custom code generator, xml2csv.c &XML to CSV converter

1923-04-19

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

GUI

2023-04-19

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

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                  

2123-04-19

Project status : slightly behind

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

Summary

- We learned a lot about the task and the standards that are involved

- Now we understand the problem much better, and our customer also understands the problem much better

- We hope that this presentation will help the steering team also understand the problem.

2223-04-19

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

Summary

- The official name of the project is "ASN.1 to CSV converter“

- The input file is in fact a BER file (The BER format specifies a self-describing and self-delimiting format for encoding ASN.1 data structures)

- The output file isn't actually in CSV format (because it's impossible to convert BER to that kind of format)

- We are not producing a converter but a converter generator, and that is significantly different

- We put a lot effort to understand all this things

2323-04-19


Recommended