Download presentation
Presentation is loading. Please wait.
1
From Research to Startup: Experiences in Interoperability Arie van Deursen Leon Moonen 23 January 2001
2
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, Klint Alg. Specification, 1989 Van Deursen, Heering, Klint Language Prototyping, 1996 Klint, TOSEM 1993
3
3 (Meta) Environment Architecture Heterogeneous tools P1P1 P2P2 P3P3 PnPn msg … trans editor parser pp eval do ack-event value event Annotated terms ToolBus coordination architecture Bergstra, Klint, SCP, 1998
4
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
5
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/
6
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
7
7 Dealing with Data Flow Many data flow problems reimplemented for different languages Dhal Framework: map languages to common representation variable definitions and uses control flow (structured & unstructured) framework performs control flow normalization generic data flow solutions on Dhal Re-use DFA library Multi-language systems
8
8 Object Identification repository Cobol sources facts types concept lattice fact extraction type inference item/feature selection concept analysis concept refinement concept visualisation
9
9 Object Identification repository Cobol sources facts types concept lattice fact extraction type inference item/feature selection concept analysis concept refinement concept visualization Tools used: SDF, jasfix, grok, MySQL, concept, dot, Tcl/Tk Wired by perl/make Pragmatic, fine for research
10
10 Object Identification repository Cobol sources facts types concept lattice fact extraction type inference item/feature selection concept analysis concept refinement concept visualization Cobol Grammar: Reused & modified Other tools out of sync
11
11 Object Identification repository Cobol sources facts types concept lattice fact extraction type inference item/feature selection concept analysis concept refinement concept visualization ICSE99, IWPC2000
12
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
13
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
14
14 DocGen Architecture Mainframe Clients SQL Analyzer Documentation Server Cobol Programs Documentation Page Request DocGen
15
15 Analysis Interoperability Mainframe Clients SQL Analyzer Documentation Server Cobol Programs Documentation Page Request DocGen Source + key properties Island grammars Use 3d party parser?
16
16 Query/view Interoperability Mainframe Clients SQL Analyzer Documentation Server Cobol Programs Documentation Page Request DocGen Metric tools Graph visualization Clustering tools
17
17 The DocGen Data Model call comments controlflow copy copyrecord created sourceInfo source subsystems summaries words entities flatfileInfo flatfileOps flatFileRecords parameters Evolve data model as we get along
18
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
19
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)
20
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
21
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
22
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)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.