لغة مواصفات التطبيق الموزعة

لغة برمجة DASL (لغة مواصفات التطبيق الموزعة) هي لغة برمجة عالية المستوى ، مطورة أصلاً في مختبرات Sun Microsystems بين عامي 1999 و 2003 كجزء من مشروع Ace. كانت أهداف المشروع هي تمكين التطوير السريع للتطبيقات المستندة إلى الويب استنادًا إلى بنية J2EE من Sun ، والقضاء على منحنى التعلم الحاد للتفاصيل الخاصة بالمنصة.
يعرّف DASL تطبيق كنموذج مجال بواحد أو أكثر من نماذج العرض التقديمي المنطقي ، حيث يتكون نموذج العرض المنطقي من تصميم الرقصات لعناصر نموذج المجال الموصوفة في مجموعة من النماذج مع الإجراءات المرفقة. ينشئ DASL واجهة المستخدم الرسومية مباشرةً من العرض التقديمي المنطقي.
تعد DASL فريدة من نوعها بين لغات برمجة التطبيقات الحديثة من حيث قدرتها على إنشاء واجهة مستخدم رسومية حديثة لتطبيق ما دون مطالبة المبرمج بتعريف واجهة المستخدم بشكل صريح ، مع السماح للمبرمج بالتحكم في مظهر واجهة المستخدم الرسومية التي تم إنشاؤها.
لغة DASL تعريفية جزئية وإجرائية جزئيًا. وصف بنية الكائن / البيانات والمثابرة ووصف العرض التقديمي المنطقي. قيود السلوك الأساسية والكائنات التصريحية ، في حين يتم تحديد سلوكيات الكائن الإضافية إجرائياً كطرق. يمكن تعريف الاستعلامات إما بشكل تعريفي أو بواسطة طرق الكتابة.
تعد بيئة اللغة والتنمية بمثابة إدراك عملي لنهج الهندسة المعمارية (MDA). يستخدم المبرمج DASL لإنتاج طراز مستقل عن النظام الأساسي أو PIM ، ويقوم منتجو أكواد اللغة تلقائيًا بإنتاج ونشر النموذج المخصص للنظام الأساسي أو PSM. يمكن تقديم PSMs جديدة عن طريق كتابة مولدات الرموز الجديدة.

فوائد النهج

تتمثل إحدى الفوائد الرئيسية لنهج لغة DASL في لغات برمجة الجيل الثالث (3GL) في أنه يمكن تحديد تطبيقات المؤسسة بطريقة موجزة ودقيقة للغاية تعبر عن منطق التطبيق بوضوح. عادةً ما يمكن تطبيق تطبيق مؤسسة صغير في DASL في 8-10K أسطر من رمز DASL ، والذي يترجم المحول البرمجي DASL بعد ذلك عادةً إلى 200K من خطوط Java و XML و SQL وغيرها من أدوات التنفيذ. رقم الخط 200K نموذجي للتطبيقات المكافئة المكتوبة باستخدام 3GLs.
يمكن رؤية اختصار DASL أيضًا من حيث محتوى التمثيلين (DASL مقابل رمز التطبيق الذي تم إنشاؤه في Java / XML / SQL وما إلى ذلك). يصف معظم كود DASL منطق الأعمال والعمليات التجارية الخاصة بالتطبيق ، بغض النظر عن البرامج الوسيطة للنشر والأطر وآليات العرض التقديمي. يمثل منطق الأعمال الأساسي هذا عادةً 2-5٪ فقط من رمز التطبيق الذي تم إنشاؤه. وبالتالي ، فإن كتابة رمز التطبيق وفهمه والمحافظة عليه أسهل بكثير على مستوى DASL مما هو عليه في مستوى الكود الذي تم إنشاؤه ، والذي ينتشر فيه منطق العمل ضمن مختلف أدوات التنفيذ.
ميزة أخرى لاستخدام DASL لكتابة التطبيقات ، بدلاً من لغات الجيل الثالث التقليدية و IDEs هي أن كود DASL مستقل عن البرامج الوسيطة وأطر عمل واجهة المستخدم الرسومية وطوبولوجيا الشبكة وتقنيات التنفيذ الأخرى. كما يتم تطوير برامج وسيطة وأطر عمل جديدة ، يمكن ترحيل برامج DASL الحالية إليها دون الحاجة إلى إعادة تنفيذها.
على سبيل المثال ، أنتجت مولدات الشفرة DASL الأصلية شاشات HTML التقليدية. في وقت لاحق ، تمت كتابة مولدات أكواد DASL لاستخدام أطر عمل مثل Apache Struts ، وتقنيات مثل JavaScript في المستعرض ، لإنتاج تجربة أكثر تفاعلية. اليوم ، يتم كتابة مولدات DASL الجديدة التي تنتج تطبيقات الإنترنت الغنية. وبالتالي يمكن تحويل تطبيقات DASL الحالية إلى تطبيقات إنترنت غنية من خلال إعادة تجميعها بأحدث مولدات الشفرات.

سمات اللغة

يجمع DASL بين بناء الجملة التعريفي مع بناء جملة إجرائي يشبه Java. يتيح الجزء التعريفي للغة تعريف التطبيقات بمستوى أعلى من التجريد من لغات الجيل الثالث مثل Java. في DASL ، لا يصف المبرمج التواصل بين العمليات بين عمليات العميل أو خوادم الويب أو خوادم التطبيقات أو قواعد البيانات أو تفاصيل واجهة المستخدم الخاصة بالتطبيق المطلوب. بدلاً من ذلك ، يصف مبرمج التطبيق على أنه مجموعة من كائنات المجال ذات الصلة (بما في ذلك سلوكهم) ، وكمجموعة من النماذج والإجراءات المشروحة بخصائص التخطيط الأساسية.
على عكس DSLs المتخصصة للغاية ، DASL كاملة تورينج. يمكن التعبير عن سلوك كائنات المجال باستخدام مزيج من بناء الجملة التعريفي والإجرائي. على سبيل المثال ، يتم التعبير عن القيود المفروضة على الكائنات وسمات الكائن بشكل تعريفي ، ولكن يمكن تعريف القيد نفسه إما كتعبير تعريفي أو إجرائيًا.
يحتوي تطبيق DASL على مكونين أساسيين: مواصفات كائن الأعمال (BOS) التي تصف نموذج مجال الكائن ، الذي يتكون من كائنات دائمة وعابرة تمثل مجال التطبيق ، ومواصفات استخدام التطبيق (AUS) التي تصف الإجراءات أو حالات الاستخدام التي قد يتم تنفيذها على نموذج المجال. تعد AUS أساسًا تصميم الرقصات لكائنات المجال في سلسلة من الأشكال والإجراءات.
يقوم مبرمج DASL بنمذجة واجهة المستخدم الرسومية للتطبيق من خلال التعليق على نماذج وإجراءات AUS المنطقية مع الخصائص التي تصف التخطيط الأساسي للبيانات على الصفحة. بدلاً من اعتبارات واجهة المستخدم التي تهيمن على مواصفات التطبيق ، في DASL يكون التفاعل المنطقي بين المستخدم ونموذج المجال مركزيًا ، وتستمد واجهة المستخدم من التفاعل المنطقي. ويعتقد أن DASL هي فريدة من نوعها بين لغات أخرى في هذا الصدد.

وصف كامل للغة

تم وصف لغة DASL في تقرير فني منشور في Sun Sun Labs يسمى The DASL Language: Programmer's Guide and Reference Manual. يتوفر هذا التقرير الفني أيضًا كجزء من مكتبة ACM الرقمية مثل http://dl.acm.org/citation.cfm?id=1698172&dl=ACM&coll=DL&CFID=800729170&CFTOKEN=37871889

داخل صن مايكروسيستمز

في عام 1999 ، بدأ باحثان من صن ، هما بروس دانيلز وبوب جولدبيرج ، مشروعًا بحثيًا في صن لابز أطلق عليه اسم "مشروع الآس" ، بهدف تبسيط إنشاء تطبيقات جافا القائمة على الويب. تم تطوير لغة Ace المعروفة الآن باسم DASL من قِبل Goldberg و Daniels والعديد من الزملاء الآخرين كجزء من هذا المشروع.
تم عرض مشروع Ace واللغة في مقال نُشر في يونيو 2002 على موقع الويب الخاص بشركة Sun ، وكذلك في إصدار يناير 2003 من Computing Research News بعنوان Sun Microsystems Laboratories: License to Innovate.
قام بروس دانيلز بعرض "Project Ace" ، وهي بيئة تطوير Ace DASL ، كجزء من خطاب جيمس جوسلينج الرئيسي في مؤتمر JavaONE في مارس 2002.
على الجانب التجاري من Sun Microsystems ، تم استخدام لغة DASL لتنفيذ الواجهة العامة لـ Sun Grid Compute Utility ، والمعروفة باسم GridPortal.

خارج صن مايكروسيستمز

على الرغم من أن Sun Microsystems لم تصدر تطبيقًا تجاريًا للغة DASL ، فقد أتاحت في الماضي التكنولوجيا لشركاء محددين وأجرت تجارب باستخدام التكنولوجيا. يتم الرجوع إلى DASL على بوابة رابطة آلات الحوسبة ، بما في ذلك ورقة مقدمة في مؤتمر OOPSLA 2004 ، في ورقات حول تطوير البرمجيات المدفوعة بالنماذج ، وعلى موقع Sun / Oracle على الويب الذي يصف Project Ace. تم تقديم عرض توضيحي لـ Ace DASL كجزء من الكلمة الرئيسية لجيمس جوسلينج في مؤتمر جافا ون 2004.