Dağıtılmış Uygulama Belirtim Dili - Distributed Application Specification Language

DASL Programlama Dili (Dağıtılmış Uygulama Spesifikasyon Dili), orijinal olarak şu tarihte geliştirilen yüksek seviyeli, güçlü bir şekilde yazılmış Sun Microsystems Laboratuvarları 1999 ve 2003 yılları arasında Ace Projesi. Projenin hedefleri, Sun'ın J2EE mimarisine dayalı web tabanlı uygulamaların hızlı bir şekilde geliştirilmesini sağlamak ve platforma özgü ayrıntıların dik öğrenme eğrisini ortadan kaldırmaktı.

DASL, bir uygulamayı bir etki alanı modeli bir veya daha fazlası ile mantıksal sunum modelleri mantıksal bir sunum modeli, ekli eylemlerle birlikte bir dizi formda açıklanan etki alanı modeli nesnelerinin bir koreografisinden oluşur. DASL, grafiksel kullanıcı arayüzü doğrudan mantıksal sunumdan.

DASL, programcının oluşturulan grafik kullanıcı arayüzünün görünümünü ve hissini kontrol etmesine izin verirken, programcının kullanıcı arayüzünü açıkça tanımlamasına gerek kalmadan bir uygulama için modern bir grafik kullanıcı arayüzü oluşturma yeteneği açısından modern uygulama programlama dilleri arasında benzersizdir.

DASL dili kısmen açıklayıcı ve kısmen prosedüreldir. Nesne / veri yapılarının ve sürekliliğin açıklaması ve mantıksal sunumun açıklaması bildirim amaçlıdır. Temel nesne kısıtlamaları ve davranışları bildirime dayalıyken, ek nesne davranışları yöntem olarak yordamsal olarak belirtilir. Sorgular, bildirimsel olarak veya yöntemler yazarak tanımlanabilir.

Dil ve geliştirme ortamı, model güdümlü mimarinin pratik bir gerçekleştirmesidir (MDA ) yaklaşmak. Programcı, platformdan bağımsız modeli veya PIM'i üretmek için DASL'yi kullanır ve dil kodu üreteçleri, platforma özgü modeli veya PSM'yi otomatik olarak üretir ve dağıtır. Yeni PSM'ler, yeni kod üreteçleri yazarak tanıtılabilir.

Yaklaşımın faydaları

DASL dil yaklaşımının 3. nesle göre önemli bir avantajı (3GL) programlama dilleri, kurumsal uygulamaların, uygulama mantığını açıkça ifade eden çok kısa ve kesin bir şekilde belirlenebilmesidir. DASL'deki küçük bir işletme uygulaması tipik olarak 8-10K satırlık DASL kodunda uygulanabilir ve DASL derleyicisi daha sonra tipik olarak 200K satır Java, XML, SQL ve diğer uygulama yapılarına çevirir. 200K satır şekli, 3GL'ler kullanılarak yazılan eşdeğer uygulamalara özgüdür.

DASL'nin kısalığı, iki temsilin içeriği açısından da görülebilir (DASL'ye karşı oluşturulan uygulama kodu Java / XML / SQL vb.). DASL kodunun çoğu, dağıtım ara yazılımından, çerçevelerden ve sunum mekanizmalarından bağımsız olarak uygulamaya özgü iş mantığını ve iş süreçlerini tanımlar. Bu temel iş mantığı genellikle üretilen uygulama kodunun yalnızca% 2-5'ini temsil eder. Bu nedenle, uygulama kodunu yazmak, anlamak ve sürdürmek, DASL düzeyinde, iş mantığının çeşitli uygulama yapıları içinde dağıldığı, üretilen kod düzeyinde olduğundan çok daha kolaydır.

Geleneksel 3. nesil diller ve IDE'ler yerine uygulamaları yazmak için DASL kullanmanın bir başka avantajı, DASL kodunun ara yazılımlardan, GUI sunum çerçevelerinden, ağ topolojisinden ve diğer uygulama teknolojilerinden bağımsız olmasıdır. Yeni ara yazılımlar ve çerçeveler geliştirilip geliştikçe, mevcut DASL programları, yeniden uygulamaya gerek kalmadan bunlara taşınabilir.

Örneğin, orijinal DASL kod üreteçleri geleneksel HTML ekranları üretti. Daha sonra DASL kod üreteçleri, daha etkileşimli bir deneyim oluşturmak için Apache Struts gibi çerçeveleri ve tarayıcıda JavaScript gibi teknolojileri kullanmak üzere yazılmıştır. Bugün, üreten yeni DASL jeneratörleri yazılıyor Zengin İnternet uygulamaları. Mevcut DASL uygulamaları, en son kod oluşturucularla yeniden derlenerek zengin internet uygulamalarına dönüştürülebilir.

Dil özellikleri

DASL, bildirim temelli bir sözdizimini Java benzeri bir yordamsal sözdizimi ile birleştirir. Dilin bildirimsel kısmı, uygulamaları Java gibi 3. nesil dillerden daha yüksek bir soyutlama düzeyinde tanımlamayı sağlar. DASL'de programcı, istemci süreçleri, web sunucuları, uygulama sunucuları, veritabanları veya istenen uygulamanın kullanıcı arayüzünün ayrıntıları arasındaki süreçler arası iletişimi tarif etmez. Bunun yerine, programcı uygulamayı bir dizi ilgili etki alanı nesneleri (davranışları dahil) ve temel düzen özellikleriyle açıklanmış bir dizi form ve eylem olarak tanımlar.

Oldukça uzmanlaşmış DSL'lerin aksine, DASL Turing tamamlandı. Etki alanı nesnelerinin davranışı, bildirimsel ve yordamsal sözdiziminin bir kombinasyonu kullanılarak ifade edilebilir. Örneğin, nesneler ve nesne öznitelikleri üzerindeki kısıtlamalar bildirimsel olarak ifade edilir, ancak kısıtlamanın kendisi bildirimsel bir ifade veya yordamsal olarak tanımlanabilir.

Bir DASL uygulamasının iki ana bileşeni vardır: Bir iş nesnesi özelliği (BOS), uygulamanın etki alanını temsil eden kalıcı ve geçici nesnelerden oluşan nesne etki alanı modelini ve bir uygulama kullanım özelliğini tanımlayan (AUS) etki alanı modelinde gerçekleştirilebilecek eylemleri veya kullanım durumlarını açıklayan. AUS, esasen etki alanı nesnelerinin bir dizi form ve eylem halinde koreografisidir.

DASL programcısı, mantıksal AUS formlarını ve eylemlerini sayfadaki verilerin temel düzenini tanımlayan özelliklerle açıklayarak uygulamanın grafik kullanıcı arayüzünü modeller. DASL'de, uygulama spesifikasyonuna hakim olan kullanıcı arayüzü hususlarından ziyade, kullanıcı ve alan modeli arasındaki mantıksal etkileşim merkezidir ve kullanıcı arayüzü mantıksal etkileşimden türetilir. DASL'nin bu açıdan diğer diller arasında benzersiz olduğuna inanılmaktadır.

Tam dil açıklaması

DASL dili, yayınlanmış bir Sun Labs teknik raporunda açıklanmaktadır: DASL Dili: Programcı Kılavuzu ve Referans Kılavuzu. Bu teknik rapor aynı zamanda ACM Dijital Kitaplığı'nın bir parçası olarak da mevcuttur. http://dl.acm.org/citation.cfm?id=1698172&dl=ACM&coll=DL&CFID=800729170&CFTOKEN=37871889

Sun Microsystems İçinde

1999 civarında, iki Sun araştırmacısı, Bruce Daniels ve Bob Goldberg, Sun Labs'de bir araştırma projesi başlattı. 'Ace Projesi', Java web tabanlı kurumsal uygulamaların oluşturulmasını basitleştirmek amacıyla. Şimdi DASL olarak bilinen Ace dili, Goldberg, Daniels ve diğer birçok meslektaş tarafından bu projenin bir parçası olarak geliştirildi.

Ace projesi ve dili, Haziran 2002'de Sun'ın web sitesinde yayınlanan bir makale yanı sıra Ocak 2003 sayısında Bilgisayar Araştırma Haberleri başlıklıSun Microsystems Laboratories: Yenilikçilik Lisansı.

Ace DASL geliştirme ortamı olan 'Project Ace', Bruce Daniels tarafından James Gosling'in açılış konuşması JavaONE konferans Mart 2002'de.

Sun Microsystems'in iş tarafında, DASL dili, genel arabirimi Sun Grid Compute Utility, olarak bilinir GridPortal.

Sun Microsystems dışında

Sun Microsystems, DASL dilinin ticari bir uygulamasını yayınlamamasına rağmen, geçmişte teknolojiyi seçilen ortakların kullanımına sunmuş ve teknolojiyi kullanarak denemeler gerçekleştirmiştir. DASL, Bilgi İşlem Makineleri Derneği Portalda sunulan bir bildiri de dahil olmak üzere OOPSLA 2004 Konferansı, içinde Modele Dayalı Yazılım Geliştirme ile ilgili makaleler ve Sun / Oracle web sitesinde açıklayan As Projesi. James Gosling'in 2004 Java One Konferansı'ndaki açılış konuşmasının bir parçası olarak Ace DASL'ın bir gösterimi yapıldı.

Sun Microsystems dışında Devam Eden Geliştirme

DASL dili üzerine araştırma ve geliştirme, 2006 ile 2010 yılları arasında RD3 Yazılımında devam etti. DASL için RD3 dil geliştirmeleri ve kod üreteçleri, dili genişletilebilir hale getirdi ve dilin kapsamını dinamik HTTP stilinden genişletti. Web uygulamaları -e zengin internet uygulamaları. HTML ön uçları üretmeye ek olarak, Adobe Flex (Flash) ön uçları oluşturmak için DASL kod üreteçleri oluşturuldu. Mütevazı kaynaklarla, HTML5'in yanı sıra iPhone ve Android'e özgü uygulamalar da kolayca oluşturulabilir.

Dil, dinamik tanımlayabilmesi için genişletildi web siteleri ve alana özgü web portalları o dahil bulut uygulamaları. Örneğin, RD3 web sitesi bir DASL "programı" uygulanmıştır.

RD3 DASL dili, mantıksal sunumun bir parçası olarak formlar ve iç içe geçmiş formlar kavramını destekler. Bilgi ve eylemler mantıksal olarak gruplanabilir ve kullanıcı arayüzü açıklamalar kullanılarak kontrol edilebilir. Dile, organizasyon şemaları ve aile ağaçları gibi yinelemeli ilişkilerin sunumu ve navigasyonu eklendi.

DASL dili yapıldı genişletilebilir. Üçüncü taraf bir programcı bir kod üreteci yazabilir Eklenti Java'da belirli bir DASL'yi hedefledi nesne sınıf veya form, bu nesne veya formun özel bir pencere öğesi kullanılarak sunulmasına izin verir. Özelleştirilmiş widget'lar kullanıcının tarayıcısı içinde hesaplama yapabilir, bu nedenle DASL tarafından üretilen uygulama sunumu artık Turing tamamlanmıştır.

DASL, programcının kullanıcı arayüzünü açıkça tanımlamasına gerek kalmadan bir uygulama için modern bir grafik kullanıcı arayüzü oluşturma yeteneği açısından modern uygulama programlama dilleri arasında benzersizdir. Programcı, basit açıklamaları kullanarak DASL tarafından üretilen kullanıcı arayüzünü değiştirebilir. Programcı, kod üreteci eklentilerini kullanarak, belirli bir istenen kullanıcı arayüzünü oluşturmak için DASL'yi genişletebilir.