Ein pragmatischer Ansatz zur Architekturerstellung schließt auch die Umsetzbarkeit der Architektur mit ein. Ein Architekturmodell ist allerdings immer noch eine Form der Abstraktion im Vergleich zur Implementierung. Um die Komplexität der Systeme zu bewältigen, ist diese Abstraktion auch notwendig. Ein Architekt muss beim Entwurf die Kernideen für die Problemlösung betrachten und darf nicht ständig die effiziente Umsetzung in die Programmiersprache, also Detailaspekte, im Kopf haben. Die Umsetzung des Architekturmodells in die Zielsprache und die damit verbundenen Optimierungsmöglichkeiten sind Aufgabe eines separaten Programmiermodells. Die Erstellung des Programmiermodells ist ganz klar auch die Aufgabe des Architekten, da er nur mit einer effizienten Umsetzung Einflussfaktoren wie Ressourcenknappheit und geringe Performance adressieren kann.
Abbildung 2: Modell eines Fahrerinformationssystems
Die Abbildung zeigt das Modell eines Fahrerinformationssystems. Die Klassen des Modells wurden um Stereotypen, wie beispielsweise Singleton oder Inline, ergänzt. Diese Stereotypen bilden einen Teil des Programmiermodells. Das Programmiermodell gibt vor, wie bestimmte Modellkonstrukte in die Zielsprache umgesetzt werden.
So kann eine Singleton-Klasse bei der Realisierung in der Programmiersprache C durch ein klassisches C-Modul mit Variablen und Funktionen umgesetzt werden, da nur ein einziges Objekt dieser Klasse existiert. Im Gegensatz dazu würde eine Klasse ohne diesen Stereotyp durch einen zusätzlichen Struct für die Attribute realisiert werden. Für jedes Objekt der Klasse müsste eine Variable dieser Struktur angelegt werden. Hinzu kämen weitere Stack-Belastungen durch die Übergabe der Objektzeiger bei Methodenaufrufen. Der Stereotyp Singleton ermöglicht somit erhebliche Optimierungen – ein intelligentes Programmiermodell vorausgesetzt.