140 likes | 254 Vues
This project aims to create a metatool that captures the characteristics of various design tools, facilitating interaction and improving user experience. By employing a UML-based tool description model, the metatool will enable users to visualize the design flow and automate tool interactions based on given requirements. The implementation will leverage Java for transportability and an AWT GUI for user-friendliness. Future work includes extending the tool description model and enhancing GUI features to improve scalability and usability.
E N D
A Design Metatool Rong Chen Mentors: Roberto Passerone, BassamTabbara Supervised by Prof. ALBERTO SANGIOVANNI-VINCENTELLI
The Problem • Current design tools • are powerful • can achieve different design goals • But, they • need users to help them interact with each other • hide inner design flow from users
Project Objective • Design a metatool to • capture different tools’ characteristics • show the design flow to users • make tools interact by themselves • be user-friendly (GUI)
Tool-Description Model • Describe tool characteristics • name • inputs and their formats • outputs and their formats • commands and options • etc.
Tool-Description Model • Build a tool-description model • language: UML • tools: Together/J • current model: small (a couple of classes) • expected model: large (many classes and packages) • scalability: good
Tool-Description Model Together/J PolisTool association visual design DataBase name command ... instance instance build-sg sg-to-c class dependence object
Tool-Description Model Together/J Public class PolisTool { public string name; private string command; ... private DataBase database1; } automaticaly genarated codes Public class DataBase { } …
Design Flow Navigation Internal model dependency o.s. sw build-sg c file esterel shift partition code size run time build-blif hw
Design Flow Navigation • Given input, find out all possible outputs • start from input node, visit all following nodes, then show nodes • Given input and output, find out design flow • start from input node, search output node, then show the path • Given output, find out necessary input • start from output node, retrieve all preceding nodes, then show nodes
Automated Tool Interaction • Objective • once given requirements, the whole design will be automatically carried out • Approach • the metatool interacts with O.S., gets run-time environment, launches different tools
Automated Tool Interaction metatool call ... Ptolemy VCC Polis Unix command done not done yet
Implementation • Language: Java • for good transportation • GUI design tool: AWT • for good transportation
Remarks • The core of the whole work is to build a proper tool-description model • Formal specification method (UML) is highly recommended here to maintain good scalability
Future Works • Future works • tool-description model needs to be further extended to include more tools • Inner data model needs to be developed to handle intermediate results • Enhanced GUI features are needed