2009-07-28 11 views
1

Ich habe gerade angefangen, mit domänenspezifischen Tools-Entwicklung zu spielen, und ich spiele mit Visual Studio SDK DSL Tools. Ich habe jedoch gehört, dass Microsoft eine weitere Initiative zur bereichsspezifischen Entwicklung namens "Oslo" hat.Was ist der Unterschied zwischen "DSL Tools" und "Oslo"?

Mein Eindruck ist, dass sich DSL Tools auf grafische domänenspezifische Sprachen konzentriert, während Oslo sich auf Text konzentriert, aber ich bin mir nicht sicher.

Darf jemand auf die Unterschiede zwischen "DSL Tools" und "Oslo" hinweisen?

Antwort

1

Die wichtigsten zwei Unterschiede sind die Vision und die Teilung.

Die Vision, weil DSL Tools den Fokus auf den Aufbau von domänenspezifischen Entwicklungsumgebungen innerhalb von Visual Studio oder einer Visual Studio Shell legen, während Oslo eine einfachere Datenprogrammierung ermöglicht und als Nebenprodukt auch Tools für den Aufbau von DSLs bietet hilft Ihnen, Ihre Daten in selbst erstellten Sprachen zu spezifizieren.

Die Abteilung, weil die zwei Investitionen in verschiedenen Abteilungen gemacht werden, also völlig verschiedene Teams. Wir hoffen, und sie sagen, die Teams sprechen miteinander, aber niemand weiß es wirklich.

Für die Zukunft ist es wahrscheinlich, dass Oslo (in zwei Wochen nicht mehr Oslo genannt) die Infrastruktur für DSL-Tools (Metamodell, Datenbank, Abfragesprache) bereitstellt. Zumindest können wir eine gewisse Integration zwischen den beiden erwarten.

2

Sie haben Recht. Das DSL-Toolkit wird verwendet, um einen grafischen DSL-Designer zu erstellen. Dieser Designer kann dann innerhalb von Visual Studio (oder in Ihrem eigenen Host-Programm) ausgeführt werden, um Instanzen des DSL-Modells zu erstellen. Im Kontext von Visual Studio können diese Instanzen dann zum Generieren von Code oder anderen textbasierten Artefakten verwendet werden, indem die in Visual Studio integrierte T4-Textvorlagen-Engine verwendet wird.

Beachten Sie auch, dass der Designer keine grafische Designoberfläche benötigt. Nachdem das Domänenmodell erstellt wurde, können Sie es aus einer hierarchischen Exploreransicht oder über Code auffüllen. Eines der Dinge, die von Ihrem Domänenmodell für Sie generiert werden, ist eine stark typisierte API für den Zugriff auf Instanzen des Modells.