-- | Transform a multicore status into a diagram
transformStatus :: Config -> SystemStatus -> Diagram
transformStatus cfg (SystemStatus mhist s) = Diagram ps' ms'
 where ps' = mapMaybe (transformProcessingUnit cfg s) ps
       ms' = map transformMessage ms
       (MultiCoreStatus ps ms) = historyPresent mhist

-- | Transforms a processing unit into a group box
transformStatus :: Config -> SystemStatus -> Diagram
transformStatus cfg (SystemStatus mhist s) = Diagram ps' ms'
 where ps' = mapMaybe (transformProcessingUnit cfg s) ps
       ms' = map transformMessage ms
       (MultiCoreStatus ps ms) = historyPresent mhist

-- | Transforms a processing unit into a group box
transformStatus cfg (SystemStatus mhist s) = Diagram ps' ms'
 where ps' = mapMaybe (transformProcessingUnit cfg s) ps
       ms' = map transformMessage ms
       (MultiCoreStatus ps ms) = historyPresent mhist

-- | Transforms a processing unit into a group box