How does one implement an interface in erlang? What is the structure of the modules or how is it setup?
I have a layered architecture and want to implement the interface
The closest concept in Erlang is user-defined behaviour. However, they tend to be used quite rarely. Note that the only thing which is checked is existence and arity of functions. You can't test that the module actually implements some behaviour; you just call the callback functions and if the module happens to "accidentally" export functions with same names, you are out of luck.