SE401:Group19

From Marks Wiki
Jump to navigation Jump to search


File:FbenchLogo.jpg
FBench
FBench is an open source integrated development environment (IDE) for the simulation and visualisation of control systems. These systems are represented as function block diagrams which are edited from within the FBench application.


Project Details

Category: Software Tools (SE)
Project Code: 19
Supervisor: Dr Valeriy Vyatkin
Second Examiner: Dr Gerald Weber
Students: Inhoi Park[email] and Tom Mitchell[email]
Description: A cool editor of visual programs (presented as function block diagrams) is much needed! There are several tool prototypes available but none of them is up to the modern level of graphical user interface design. Something as intuitive as iPhone’s GUI needs to be developed. The desired functions include quick and easy navigation in large networks of function blocks (zoom-unzoom, opening/exiting blocks), easy re-factoring, visualising of real-time data, etc. The editor will be a part of a bigger open –source tool called FBench, which has been developing through the past 2 years by the “Industrial Informatics” research group. The written in Java FBench is an integrated development environment for control systems. The functions are integrated using a simple mechanism of plug-ins similar to that of Eclipse. The editor need to be developed as plug-in for FBench . The required skills for this project are: strong enthusiasm and background about software design, especially in the area of human-computer interaction.

Goals

Outcome: Visual editor for function block diagrams with advanced user interface.
Specific editor ideas:

(Preliminary - to be prioritised)

Priority High Medium Low Complete
Status Pending On Hold In Progress Complete
Feature Priority Time estimate Status Actual time
Highlight all connections coming out of the selected block Complete 2 Weeks Complete 3 Weeks
Tool box for library elements Complete 2 Weeks Complete 2 Weeks
Zoom Complete 1 Week Complete 1 Week
Colouring of connections on hover Complete 1 Week Complete 1 Week
Make block type clearer (different font) Complete 1 Week Complete 1/2 Week
Selection of multiple elements Complete 2 Weeks Complete 3 Weeks
Allow the user to make connections by dragging the mouse Complete 2 Weeks Complete 2 Weeks
Widen lines that overlap Complete 2 Weeks Complete 2 Weeks
Allow independent zooming on different tabs High 1 Week On Hold
Cut/Copy and Paste

(Dependent on selection of multiple elements)

High 1 Week Pending
Combine multiple selected function blocks into a composite block

(Dependent on selection of multiple elements)

High 2 Weeks Pending
Undo/redo High 3 Weeks Pending
Layers Medium 2 Weeks Pending
Connection Buses Medium 2 Weeks Pending
Multi-point lines Medium 2 Weeks Pending
Have connections automatically avoid collision with blocks Medium 3 Weeks Pending
Edit blocks in place Low 2 Weeks Pending
Overall block hierarchy browser Low 1 Week Pending
Snap grid Low 1 Week Pending
Algorithm to optimally arrange blocks Low 3 Weeks Pending
Add connector pins to blocks Low 1 Week Pending

Ideas for future development

  • Fully graphical arc connection and re-connection [VV]
  • Consider possibility of showing FB interface [VV]
  • Show (and browse through) the hierarchy of FBs (like tree) [VV]

Project Documentation

Project Progress

Progress is outlined in the goals priority/status table above.

Meeting Minutes

  • Team Meeting
  1. 20th Mar 1pm
  2. 27th Mar 1pm
  3. 31th Mar 1pm
  4. 2nd Apr 1pm
  5. 9th Apr 1pm
  6. 14th - 21st Apr
  7. 23rd Apr - 5th May
  8. 7th May - 21st May
  9. 26th May - 11th June
  10. 23rd June
  11. 7th July


  • Lecturer Meeting
  1. 20th Mar 1.30pm
  2. 4th Apr 2pm
  3. 11th Apr 2pm
  4. 29th Apr 2.30pm - Interim Report meeting.
  5. 16th May 3pm
  6. 23rd May 2pm
  7. 30th May 2pm
  8. 13th June
  9. 20th June

Resources

Useful Links

References

<references />