Automated Design Of Photonic Devices