Saya menemukan bahwa seringkali entitas "pemasaran" tidak sesuai persis dengan entitas internal. Dalam kasus seperti itu, lebih masuk akal untuk memperkenalkan entitas pada tingkat abstraksi yang berbeda, yang membuat perbedaan terminologi menjadi titik diperdebatkan.
Misalnya, kami memiliki model yang mewakili hierarki. Setiap level dalam hierarki memiliki istilah yang terkait dengannya berdasarkan bagaimana hierarki digunakan untuk memodelkan hubungan dunia nyata, tetapi secara internal tidak ada perbedaan perilaku dari satu level hierarki ke level berikutnya. Terminologi pada dasarnya hanya nama untuk tingkat itu dalam hierarki, jadi untuk simpul tertentu di pohon nama hanya menggambarkan apa simpul itu; itu tidak menentukan perilaku tertentu.
Juga, pohon itu multi-root, jadi ada beberapa node tanpa orangtua. Meskipun secara konseptual ada root (pada dasarnya akan mewakili alam semesta), dan memasukkannya ke dalam model akan banyak operasi yang lebih sederhana, tidak ada "istilah pemasaran" untuk itu.
Tentu saja, berbagai komponen dalam sistem kami menggunakan terminologi yang berbeda. Mereka dikembangkan pada waktu yang berbeda oleh tim yang berbeda, dan kami tidak memiliki kendali atas semuanya. Sebenarnya, pada titik tertentu, seseorang menambahkan atau menghapus level dalam satu komponen, dan level lainnya bergeser relatif satu sama lain. Tiga level yang sama diwakili oleh A, B, dan C dalam satu komponen, tetapi sebagai B, C, dan D di komponen lainnya.
Mengambil langkah maju dalam abstraksi dan hanya memodelkan segala sesuatu sebagai "simpul" atau sesuatu yang sama generiknya membuat model-model ini jauh lebih mudah untuk dipertimbangkan. Setiap node tahu apa itu "istilah pemasaran", dan tipe yang mewakili istilah pemasaran tertentu bisa tahu apa arti istilah itu dalam setiap konteks.