Modelling a Plugin System

When building an infrastructure which require some kind of controlled extensibility one of the most common approaches is to consider a plug-in system. But how should it be considered in the requirements and design? The best approach seems to be specify and close the interface with the plug-in subsystem in the main system and afterwards […]