For a "just monitoring" device it could not have any trouble once the ECU do the great of the processing activities before transferring data to/from CAN. So, would be possible to translate DTC Codes to a more friendly languages, define some alerts (eg.: out of safe range of AFR, engine temp as too hot/cold, some other relevant pressures), even some additional resources like calculations to give hints like shift up/down. For a piggyback use, probably would need an "special order" dock by having some more modules, once would need a more real time processing, fast enough to convert data on-the-fly and do the ECU read this new data to make you need (like "aftermarket" turbocharged, supercharged or even with nitrous vehicles). For a standalone EMS, it's really a topic for more engineering capable people, once it demands an amount of modules and controllers. And, unfortunately is not my case considering time and health conditions. So my focus tends to be restricted to a "monitor" device only.