لغة البرمجة Scenic هي لغة مخصصة لمواصفة السيناريوهات وتوليد المشاهد. تم اقتراحها لتصميم وتحليل أنظمة الإدراك، خاصة تلك التي تعتمد على تعلم الآلة. تناولت الأبحاث المتعلقة بها مشكلات تدريب أنظمة الإدراك على التعامل مع الأحداث النادرة، واختبار أدائها تحت ظروف مختلفة، وتصحيح الأخطاء. وأظهرت كيف يمكن للغة برمجة احتمالية مساعدة في التعامل مع هذه المشكلات من خلال تحديد توزيعات تمثل أنواعًا مثيرة للاهتمام من المدخلات وعينات هذه التوزيعات لتوليد مجموعات تدريب واختبار متخصصة. وبشكل أكثر عمومية، يمكن استخدام مثل هذه اللغات في أنظمة السيبرانية والروبوتات لكتابة نماذج البيئة، وهو شرط أساسي لأي تحليل رسمي.
تركز اللغة على أنظمة مثل السيارات الذاتية القيادة والروبوتات، حيث تكون البيئة مشهدًا، أي تكوينًا من الكائنات الفيزيائية والعوامل. تم تصميم لغة مخصصة للمجال، تسمى Scenic، لوصف السيناريوهات التي تكون توزيعاتًا على المشاهد. كلغة برمجة احتمالية، تتيح Scenic تعيين توزيعات لميزات المشهد، بالإضافة إلى فرض قيود صارمة وناعمة على المشهد بشكل استعلامي. وقد طورت تقنيات متخصصة لأخذ عينات من التوزيع الناتج، مستفيدة من الهيكل الذي توفره بنية النحو المخصصة لـ Scenic.
وأخيرًا، تم تطبيق Scenic في دراسة حالة على شبكة عصبية تصاعدية مصممة لاكتشاف السيارات في صور الطرق، مما أدى إلى تحسين أدائها متجاوزة الأساليب الحالية في توليد البيانات الاصطناعية.