Add a specification

This specification is a prototype to get the process started. It should not be considered final by any means and will change.