Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Eclipse 4diac Wiki/Development/4DIAC-IDE Code Clean-up

< Eclipse 4diac Wiki
Revision as of 16:52, 28 March 2016 by Alois.zoitl.gmx.at (Talk | contribs) (Roadmap, Workplan, and Idea Collection for Reworking the 4DIAC-IDE modell)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Remove UI Model

  • Remove all UI model elements for the system configuration and get the system configuration editor working again4DIAC-IDE cset: f5ffcd
  • Remove Ui.Position and LibraryElement.Position4DIAC-IDE cset: 55530
  • ConnectionView
  • InterfaceElementView
  • FBView
  • ...

Redesign Mapping According to the following rules/steps

  • Mapping creates a copy of the FB in the resource’s FB Network
  • A mapping list located in the system keeps track between FBs in the application and their mapped FBs in the resources
    • Each FB gets a backward reference (eOpposite in EMF) to its entry in the mapping list

Helperfunktion: isMapped

    • Application FBs where this backward reference is null are not mapped
    • FBs located in a resource with a null backward reference are resource FBs
    • A mapping list entry needs the following helper functions simplifying navigation in the model for the mapping related commands
      • getFromFBNetwork: the FBNetwork of the application or subapplication the FB has been mapped from
      • getResource: the resource the FB has been mapped to
      • getDevice: the device the FB has been mapped to
  • On mapping a FB all incoming and outgoing connections are checked if the other end’s FB is also in the same resource. If this is the case the connection is also created in the resource
  • Deleting a mapped FB in a resource is equivalent to unmapp a FB
  • On unmapping a FB all connections in the resource are deleted
  • Deleting a connection in the application editor: If both ends of a connection are mapped than the according connection in the resource has to be deleted as well.
  • Deleting a connection in the resource editor where both ends are mapped (i.e., the connection exists in the application also): Show a pop-up dialog which informs that this connection will be also deleted in the (sub-)application. Provide OK and Cancel button.
  • If parameters of a mapped FB are edited/created the parameter needs to be synced in the resource

Clean-up 1499 model

  • Remove seldom used values that can be computed to reduce memory footprint of model
    • Connection: remove resourceConnection replace with helper function
      • isResourceConnection() { return getSourcFB().isMapped() && getDesitinationFB().isMapped(); }
    • Move source and destination into Connection object reduces effort for connection management
      • Helper functions in Event and Data-Connection to cast source and destination to events or data respectively
      • FB getSourceFB
      • FB getDestinationFB

Import IEC 61499 System Files

Goal: USe IEC 61499-2 XML as persistence format for 4DIAC

Points that need to be considered:

  • Develop an attribute framework that allows to store additional information like color of devices and segments
  • Typed elements would not need a type path model entry but could use only the paletteEntry and store the type path into the persistence model

Prepare Code for Eclipse Migration

  • Check for unused elements
  • Check if ISystemEditor can be replaced with DiagramWithflyoutpaltetteEditor (i.e, getSystem)
  • Correct copyright information
  • Fix paste in CFB editor


Implement new Subapplication Model

  • Harmonize Subapplication model elements with CFB to increase code reuse
  • Introduce explicit subapplication interface elements also for untyped subapplications

Back to the top