Problem Statements and ideas - FOSSHack 2026

Design and Implementation of a Smart Routing and Process Validation Engine for a Process Flow Diagram (PFD) Tool

The existing Chemical-PFD-Web-Desktop platform allows users to design Process Flow Diagrams (PFDs). However, the current system lacks intelligent routing and validation capabilities.

Objective

Develop a Smart Process Logic Engine that enhances diagram intelligence using algorithmic logic.

Task 1 — Smart Auto-Routing Algorithm

When a user connects two components:

  1. The connection line should automatically:
    • Avoid overlapping with other components
    • Avoid intersecting existing connections
    • Take the shortest valid orthogonal path (horizontal/vertical)
  2. The connection should dynamically adjust when components are moved.

Participants must design their own routing logic (grid-based, pathfinding, etc.).

Task 2 — Process Validation Engine (Graph-Based)

Treat the PFD as a directed graph and implement validation checks:

  1. Detect isolated components (not connected)
  2. Detect invalid circular loops without processing unit
  3. Ensure at least one inlet and one outlet exist
  4. Validate that all components are part of a continuous process flow

Participants must:

  1. Convert the diagram into a graph structure
  2. Use graph traversal algorithms (DFS/BFS or equivalent)
  3. Provide real-time validation feedback in UI

Expected Deliverables

  1. Working implementation integrated into the existing codebase
  2. Documentation explaining:
    • Algorithm design
    • Data structures used
    • Complexity considerations
  3. Demonstration with test cases

Evaluation Criteria

  1. Correctness of routing logic
  2. Accuracy of validation engine
  3. Efficiency of algorithms
  4. Code quality and modularity
  5. UI feedback clarity

Additional Guidelines

Scope:
Participants may choose either:

  • Web version (React-based)
  • Desktop version (PyQt-based)
    or implement in both for bonus evaluation.

Constraints:

  1. No external auto-routing libraries allowed.
  2. Core algorithm must be implemented manually.
  3. AI tools may be used for guidance, but logic explanation is mandatory.