1 / 22

From Research to Startup: Experiences in Interoperability

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

Download Presentation

From Research to Startup: Experiences in Interoperability

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. The ASF+SDF Experience Bergstra, Heering, Klint Alg. Specification, 1989 • Describe language: • SDF: abstract + concrete syntax • ASF: language processors • Generate tools • Parser, pretty printer, structure editor • Type checker, evaluator, transformer … • Meta-Environment Van Deursen, Heering, Klint Language Prototyping, 1996 Klint, TOSEM 1993

  3. editor pp parser trans eval do ack-event value event msg msg P2 Pn P1 P3 msg (Meta) Environment Architecture • Heterogeneous tools • Annotated terms • ToolBus coordination architecture Bergstra, Klint, SCP, 1998

  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. 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. 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. 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. Cobol sources fact extraction facts type inference item/feature selection concept analysis concept lattice types repository concept refinement concept visualisation Object Identification

  9. Cobol sources fact extraction facts type inference item/feature selection concept analysis concept lattice types repository concept refinement concept visualization Object Identification • Tools used: SDF, jasfix, grok, MySQL, concept, dot, Tcl/Tk • Wired by perl/make • Pragmatic, fine for research

  10. Cobol sources fact extraction facts type inference item/feature selection concept analysis concept lattice types repository concept refinement concept visualization Object Identification • Cobol Grammar: • Reused & modified • Other tools out of sync

  11. Cobol sources fact extraction facts type inference item/feature selection concept analysis concept lattice types repository concept refinement concept visualization Object Identification ICSE99, IWPC2000

  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. DocGen ICSM 1999, WCRE 2000 • 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

  14. DocGen Architecture Mainframe Cobol Programs DocGen Analyzer SQL Documentation Server Page Request Documentation Clients

  15. Analysis Interoperability Mainframe • Source + key properties • Island grammars • Use 3d party parser? Cobol Programs DocGen Analyzer SQL Documentation Server Page Request Documentation Clients

  16. Query/view Interoperability Mainframe Cobol Programs DocGen Analyzer SQL Documentation Server Page Request Metric tools Graph visualization Clustering tools Documentation Clients

  17. call comments controlflow copy copyrecord created sourceInfo source subsystems summaries words The DocGen Data Model entities flatfileInfo flatfileOps flatFileRecords parameters • Evolve data model as we get along

  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. 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. 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. 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. 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)

More Related