1 / 12

Transformation and Visualization of Abstractions using the Intentional Programming System

Talk given at the 1st International Symposium on Generative and Component-based Software Engineering, 1999.

lutzroeder
Download Presentation

Transformation and Visualization of Abstractions using the Intentional Programming System

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. Transformation and Visualization of Abstractions using the Intentional Programming System Lutz Roeder September 1999

  2. Programming 2000 _ ! “ # $ % & ‘ ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ _

  3. Raise Abstraction Level Recycling existing C++ language… Visual Basic: 50% source code and 50% UI language… • Improve Software Productivity Text editor… Syntax errors… • Enable Software Maintenance Using text search and replace… Out of sync architecture diagrams… Programming 2000

  4. Parsing Syntactic Analysis Abstract Syntax Tree Semantic Analysis Code Generation Target Code Source Documents Syntax is Limited !!! Source Code (Syntax)

  5. Source Documents Code is Data Visual Rendering Editing Visualization Abstract Source Tree Transformation Debugging Target Code

  6. Declaration DCL Reference if cond then else Parameterization Abstract Source Tree Intention (Abstraction) Intention Instance Tree Element

  7. int Type x DCL = Literal “3” while < “5” Example Tree User Project { int x; x = 3; while (x < 5) { } Used Libraries }

  8. ( 5 if ) > x x if { < Constant “5” List } \n Indent _( )_ if > x 5 { \n } Rendering Source Graph Regions Display Tree

  9. while list cond body if break continue label goto Transformation { continue: if (<cond>) { <body>; goto continue; } break; }; Expansion

  10. Legacy Parsers Rendering Type-in Reduction Debugger Version Control Extension Libraries Code Generation Target Code Environment Abstract Source Tree

  11. Environment

  12. Raise Abstraction Level …by allowing new abstractions and new notations. (e.g. matrix library, string concatenation, foreach, …) • Improve Software Productivity …by making source more accessible for tools. (e.g. auto-complete, search, reference search, …) • Enable Software Maintenance …by enabling source tree level re-factoring. (e.g. auto-rename references, replace API, …) Summary

More Related