Either via passing in some data when generateing specification or parsing a file and generating the erlang that will define the device.