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

Slides:



Advertisements
Similar presentations
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Advertisements

NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
110/29/12 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
1 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer Science.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
NOTICE! 10/1/20151 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of.
** NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
1/10/2010 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Requirements and Design ASN2CSV MDH: -Guido Di Campli -Giovanni Piemontese -Paolo D’Amelio FER: -Ivan Škugor -Željko Krpetić -Željko Knežević.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
1 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer Science.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer Science.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
9/23/2009 NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
10/5/2009 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
10/9/2011 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
1 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer Science.
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
** These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer Science.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
10/9/2011 These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
NOTICE! These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Presentation transcript:

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!

Selected Topics in Software Engineering - Distributed Software Development

ASN.1 to CSV converter generator Project Current state presentation MDH: Guido Di Campli Giovanni Piemontese Paolo D’Amelio FER: Ivan Škugor Željko Krpetić Željko Knežević Steering group: Igor Čavrak at FER Rikard Lang at MDH M.Sc. Branko Beslać (Ring datacom)

What we will talk about? Problems Solution modification Interfaces Alternative solution GUI General project status

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

Problems – testing a lot of tools Open Source -SNACC/eSNACC -ASN1C -Libtasn Commercial software -ASN.1 analyzer (Japan) -ASN1C ASN1 Compiler (Objective systems) -MARBEN™ ASNSDK TCE

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)

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

Old software architecture

Solution modifications

Interfaces 1.Between tree generator and GUI 2.Between GUI and Custom code generator

Example ASN.1 Grammar 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 }

First interface - XML

Second interface – Xpath format

Alternative solution

BER

BER to XML

(Quasi) CSV

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

GUI

General project status Activity w45w46w47w48w49w50w51w52w1 w2w2w3 Project plan Requirements analysis & definition System Design Tree view generator Converter generator GUI Integration Testing Final Product Project status : slightly behind

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

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