Presentation is loading. Please wait.

Presentation is loading. Please wait.

From Research to Startup: Experiences in Interoperability Arie van Deursen Leon Moonen 23 January 2001.

Similar presentations


Presentation on theme: "From Research to Startup: Experiences in Interoperability Arie van Deursen Leon Moonen 23 January 2001."— Presentation transcript:

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)


Download ppt "From Research to Startup: Experiences in Interoperability Arie van Deursen Leon Moonen 23 January 2001."

Similar presentations


Ads by Google