from research to startup: experiences in interoperability
DESCRIPTION
From Research to Startup: Experiences in Interoperability. Arie van Deursen Leon Moonen 23 January 2001. The ASF+SDF Experience. Bergstra, Heering, Klint Alg. Specification , 1989. Describe language: SDF: abstract + concrete syntax ASF: language processors Generate tools - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: From Research to Startup: Experiences in Interoperability](https://reader034.vdocument.in/reader034/viewer/2022042901/56814d0b550346895dba439d/html5/thumbnails/1.jpg)
From Research to Startup: Experiences in Interoperability
Arie van DeursenLeon Moonen23 January 2001
![Page 2: From Research to Startup: Experiences in Interoperability](https://reader034.vdocument.in/reader034/viewer/2022042901/56814d0b550346895dba439d/html5/thumbnails/2.jpg)
2
The ASF+SDF Experience Describe language:
SDF: abstract + concrete syntax ASF: language processors
Generate tools Parser, pretty printer, structure editor Type checker, evaluator, transformer …
Meta-Environment
Bergstra, Heering, KlintAlg. Specification,
1989
Van Deursen, Heering, KlintLanguage Prototyping, 1996
Klint, TOSEM 1993
![Page 3: From Research to Startup: Experiences in Interoperability](https://reader034.vdocument.in/reader034/viewer/2022042901/56814d0b550346895dba439d/html5/thumbnails/3.jpg)
3
(Meta) Environment Architecture
Heterogeneous tools
P1P2
P3Pn
msg msg
msg
…transeditorparser pp
evaldo
ack-event value eventAnnotated terms
ToolBus coordination architecture
Bergstra, Klint, SCP, 1998
![Page 4: From Research to Startup: Experiences in Interoperability](https://reader034.vdocument.in/reader034/viewer/2022042901/56814d0b550346895dba439d/html5/thumbnails/4.jpg)
4
Independent Tools Size matters:
use sharing to deflate large data Format wars hard to avoid
AsFix 1, 2, and 1.5. (AsFix = local AST representation format)
Installing independent tools requires appropriate bundling
![Page 5: From Research to Startup: Experiences in Interoperability](https://reader034.vdocument.in/reader034/viewer/2022042901/56814d0b550346895dba439d/html5/thumbnails/5.jpg)
5
Agreeing on Grammars Abstract syntax ~ schema. Tools for one language share grammar?
Different tasks require different variations Evolving grammars implies divergence Our best attempt: a grammar base
Set of reference grammars. Maturity levels indicate stability/immutability
www.program-transformation.org/xt/
![Page 6: From Research to Startup: Experiences in Interoperability](https://reader034.vdocument.in/reader034/viewer/2022042901/56814d0b550346895dba439d/html5/thumbnails/6.jpg)
6
Talking to Industry Discuss maintenance problems with
ABN AMRO Bank Software house Roccade
Use language technology as basis for reverse and re-engineering research
Goal: Strengthen generic technology Start with Cobol instantiation
![Page 7: From Research to Startup: Experiences in Interoperability](https://reader034.vdocument.in/reader034/viewer/2022042901/56814d0b550346895dba439d/html5/thumbnails/7.jpg)
7
Dealing with Data Flow Many data flow problems reimplemented
for different languages Dhal Framework:
map languages to common representationvariable definitions and usescontrol flow (structured & unstructured)
framework performs control flow normalization
generic data flow solutions on Dhal
Re-useDFA library
Multi-languagesystems
![Page 8: From Research to Startup: Experiences in Interoperability](https://reader034.vdocument.in/reader034/viewer/2022042901/56814d0b550346895dba439d/html5/thumbnails/8.jpg)
8
Object Identification
repository
Cobolsources
facts
types conceptlattice
factextraction
typeinference
item/featureselection concept
analysis
conceptrefinement
conceptvisualisation
![Page 9: From Research to Startup: Experiences in Interoperability](https://reader034.vdocument.in/reader034/viewer/2022042901/56814d0b550346895dba439d/html5/thumbnails/9.jpg)
9
Object Identification
repository
Cobolsources
facts
types conceptlattice
factextraction
typeinference
item/featureselection concept
analysis
conceptrefinement
conceptvisualization
Tools used: SDF, jasfix, grok, MySQL, concept, dot, Tcl/Tk
Wired by perl/make Pragmatic, fine for research
![Page 10: From Research to Startup: Experiences in Interoperability](https://reader034.vdocument.in/reader034/viewer/2022042901/56814d0b550346895dba439d/html5/thumbnails/10.jpg)
10
Object Identification
repository
Cobolsources
facts
types conceptlattice
factextraction
typeinference
item/featureselection concept
analysis
conceptrefinement
conceptvisualization
Cobol Grammar:• Reused & modified• Other tools out of sync
![Page 11: From Research to Startup: Experiences in Interoperability](https://reader034.vdocument.in/reader034/viewer/2022042901/56814d0b550346895dba439d/html5/thumbnails/11.jpg)
11
Object Identification
repository
Cobolsources
facts
types conceptlattice
factextraction
typeinference
item/featureselection concept
analysis
conceptrefinement
conceptvisualization
ICSE99, IWPC2000
![Page 12: From Research to Startup: Experiences in Interoperability](https://reader034.vdocument.in/reader034/viewer/2022042901/56814d0b550346895dba439d/html5/thumbnails/12.jpg)
12
Spinning Off Software Improvement Group (SIG):
Documentation Generation Program Transformation Strategic Consultancy
Mission: Help companies with their legacy problems Transfer of CWI reengineering technology
Employees: 2000, 2001, 2002: 4, 8, 16
![Page 13: From Research to Startup: Experiences in Interoperability](https://reader034.vdocument.in/reader034/viewer/2022042901/56814d0b550346895dba439d/html5/thumbnails/13.jpg)
13
DocGen Analyze Cobol system and
redocument it using hypertext and graphs.
Operational characteristics: Processing 50.000.000 lines of code ASP: operate via Internet On-site installation No bugs please
ICSM 1999,WCRE 2000
![Page 14: From Research to Startup: Experiences in Interoperability](https://reader034.vdocument.in/reader034/viewer/2022042901/56814d0b550346895dba439d/html5/thumbnails/14.jpg)
14
DocGen ArchitectureMainframe
Clients
SQL
Analyzer
Documentation Server
CobolPrograms
Documentation
PageRequest
DocGen
![Page 15: From Research to Startup: Experiences in Interoperability](https://reader034.vdocument.in/reader034/viewer/2022042901/56814d0b550346895dba439d/html5/thumbnails/15.jpg)
15
Analysis InteroperabilityMainframe
Clients
SQL
Analyzer
Documentation Server
CobolPrograms
Documentation
PageRequest
DocGen
• Source + key properties• Island grammars• Use 3d party parser?
![Page 16: From Research to Startup: Experiences in Interoperability](https://reader034.vdocument.in/reader034/viewer/2022042901/56814d0b550346895dba439d/html5/thumbnails/16.jpg)
16
Query/view InteroperabilityMainframe
Clients
SQL
Analyzer
Documentation Server
CobolPrograms
Documentation
PageRequest
DocGen
Metric toolsGraph visualization
Clustering tools
![Page 17: From Research to Startup: Experiences in Interoperability](https://reader034.vdocument.in/reader034/viewer/2022042901/56814d0b550346895dba439d/html5/thumbnails/17.jpg)
17
The DocGen Data Model
callcommentscontrolflowcopycopyrecordcreated
sourceInfosourcesubsystemssummarieswords
entitiesflatfileInfoflatfileOpsflatFileRecord
sparameters
Evolve data model as we get along
![Page 18: From Research to Startup: Experiences in Interoperability](https://reader034.vdocument.in/reader034/viewer/2022042901/56814d0b550346895dba439d/html5/thumbnails/18.jpg)
18
Data Model Conversion Customer request:
Reuse DocGen data for other tool set Extend DocGen with data from this tool set Exchange through XML
Planned approach: Describe source and target model Generate reader & visitor for source data Refine visitor to construct target data
![Page 19: From Research to Startup: Experiences in Interoperability](https://reader034.vdocument.in/reader034/viewer/2022042901/56814d0b550346895dba439d/html5/thumbnails/19.jpg)
19
Presentation Describe structure of pages
Using a grammar JJForester generates Java classes +
visitors Composing a page:
Construct abstract structure Use visitor to emit HTML
(You want XML? Specialize visitor)
![Page 20: From Research to Startup: Experiences in Interoperability](https://reader034.vdocument.in/reader034/viewer/2022042901/56814d0b550346895dba439d/html5/thumbnails/20.jpg)
20
Summary: Experience Report ToolBus-based cooperation Grammar-based data exchange Collect reference grammars Benefit from code generation DHAL data flow framework DocGen Cobol data model Open up tools with jdbc, http, JavaDoc
![Page 21: From Research to Startup: Experiences in Interoperability](https://reader034.vdocument.in/reader034/viewer/2022042901/56814d0b550346895dba439d/html5/thumbnails/21.jpg)
21
Discussion (I) Systematic interoperability is not for
free: Opening up tools and adhering to
standards takes effort Standards may evolve What is the reward? Who gets the reward?
Start with bilateral cooperations
![Page 22: From Research to Startup: Experiences in Interoperability](https://reader034.vdocument.in/reader034/viewer/2022042901/56814d0b550346895dba439d/html5/thumbnails/22.jpg)
22
Discussion (II) Encourage explicit schemas:
Collect and discuss the schemas we use Distribute schemas (Susan’s zoo) Sooner or later they may get reused, or
even refactored into a reference schema. Strengthen communication
Use on line forum a la wiki?(lightweight collaborative web discussion forum)