إكسبريس (لغة نمذجة البيانات)

EXPRESS هو معيار للغة نمذجة البيانات العامة لبيانات المنتجات . تم وضع EXPRESS بشكل رسمي في معيار المنظمة الدولية للمقاييس (ISO) لتبادل نموذج المنتج STEP (ISO 10303) ، وتم توحيده كمعيار ISO 10303-11. [ 1 ]
ملخص
تُعرّف نماذج البيانات رسميًا كائنات البيانات والعلاقات بينها في مجال اهتمام محدد. تشمل بعض التطبيقات الشائعة لنماذج البيانات دعم تطوير قواعد البيانات وتمكين تبادل البيانات في مجال اهتمام معين. تُحدد نماذج البيانات بلغة نمذجة البيانات. [ 2 ] تُعدّ EXPRESS لغة نمذجة بيانات مُعرّفة في معيار ISO 10303-11، وهو دليل مرجعي للغة EXPRESS. [ 3 ]
يمكن تعريف نموذج بيانات EXPRESS بطريقتين: نصية ورسومية. يُعد التمثيل النصي ضمن ملف ASCII هو الأهم لأغراض التحقق الرسمي وكإدخال لأدوات مثل SDAI . أما التمثيل الرسومي، فهو غالبًا ما يكون أكثر ملاءمة للاستخدام البشري، كالشرح والتوضيح. مع ذلك، لا يستطيع التمثيل الرسومي، المسمى EXPRESS-G، تمثيل جميع التفاصيل التي يمكن صياغتها في الشكل النصي.
تُشبه لغة إكسبريس لغات برمجة أخرى مثل باسكال . ضمن مخطط البيانات (SCHEMA)، يُمكن تعريف أنواع بيانات مُختلفة إلى جانب القيود الهيكلية والقواعد الخوارزمية. من أبرز ميزات إكسبريس إمكانية التحقق الرسمي من صحة مجموعة من أنواع البيانات، وذلك بالتحقق من جميع القواعد الهيكلية والخوارزمية.
إكسبريس-جي
EXPRESS-G هي لغة ترميز رسومية قياسية لنماذج المعلومات . [ 4 ] وهي لغة مكملة للغة EXPRESS لعرض تعريفات الكيانات والأنواع، والعلاقات، والعددية. [ 5 ] تدعم هذه اللغة الرسومية مجموعة فرعية من لغة EXPRESS. من مزايا استخدام EXPRESS-G مقارنةً بـ EXPRESS إمكانية عرض بنية نموذج البيانات بطريقة أكثر وضوحًا. أما من عيوب EXPRESS-G، فهو عدم إمكانية تحديد القيود المعقدة بشكل رسمي. يوضح الشكل 1 مثالًا على ذلك. يمكن استخدام نموذج البيانات الموضح في الشكل لتحديد متطلبات قاعدة بيانات لمجموعة أقراص صوتية مدمجة (CD). [ 2 ]
مثال بسيط

يبدو نموذج بيانات EXPRESS البسيط كما في الشكل 2، ويكون الكود كالتالي:
عائلة المخططات؛ الكيان الشخص النوع الفائق المجرد لـ (واحد من (ذكر، أنثى))؛ الاسم: نص؛ الأم: اختياري أنثى؛ الأب: اختياري (ذكر)؛ END_ENTITY; كيان أنثى نوع فرعي من (شخص)؛ END_ENTITY; الكيان: ذكر نوع فرعي من (شخص)؛ END_ENTITY; END_SCHEMA;
يُضمّن نموذج البيانات ضمن مخطط EXPRESS المسمى Family . يحتوي هذا المخطط على كيان من النوع الفائق Person، وله نوعان فرعيان هما Male و Female . وبما أن Person مُعرّف ككيان مجرد (ABSTRICT)، فلا يُمكن أن يوجد إلا نوع فرعي واحد فقط، إما Male أو Female. لكل كيان Person سمة اسم إلزامية، وسمات اختيارية للأم والأب . يوجد نمط قراءة ثابت لسمات بعض أنواع الكيانات.
- يمكن للمرأة أن تلعب دور الأم لشخص ما
- يمكن للرجل أن يلعب دور الأب لشخص ما
مكعبات بناء إكسبريس
أنواع البيانات
يقدم EXPRESS سلسلة من أنواع البيانات، مع رموز أنواع البيانات المحددة في تدوين EXPRESS-G: [ 2 ]

- نوع بيانات الكيان: يُعد هذا النوع أهم أنواع البيانات في لغة إكسبريس. وسنتناوله بمزيد من التفصيل لاحقًا. يمكن ربط أنواع بيانات الكيان بطريقتين: إما من خلال شجرة الأنواع الفرعية والأنواع الرئيسية، أو من خلال السمات.
- نوع بيانات التعداد: قيم التعداد عبارة عن سلاسل نصية بسيطة مثل أحمر، أخضر، وأزرق في تعداد RGB. في حال تعريف نوع التعداد على أنه قابل للتوسيع، يمكن توسيعه في مخططات أخرى.
- نوع البيانات المحدد: هذا يزيد من تخصيص أنواع البيانات الأخرى - على سبيل المثال، تعريف نوع بيانات موجب من النوع عدد صحيح بقيمة > 0.
- تحديد نوع البيانات: تُحدد عمليات التحديد خيارًا أو بديلًا بين خيارات مختلفة. أكثرها شيوعًا هي عمليات التحديد بين أنواع الكيانات المختلفة. أما عمليات التحديد التي تتضمن أنواعًا مُحددة فهي أقل شيوعًا. في حال تعريف نوع تعداد على أنه قابل للتوسيع، يُمكن توسيعه في مخططات أخرى.
- نوع بيانات بسيط
- السلسلة النصية: هذا هو النوع البسيط الأكثر استخدامًا. يمكن أن تكون سلاسل EXPRESS بأي طول ويمكن أن تحتوي على أي حرف (ISO 10646/Unicode).
- البيانات الثنائية: نادراً ما تُستخدم هذه البيانات. وهي تغطي عدداً من البتات (وليس البايتات). في بعض التطبيقات، يقتصر حجمها على 32 بت.
- منطقي: على غرار نوع البيانات المنطقية، يحتوي النوع المنطقي على القيم الممكنة TRUE و FALSE بالإضافة إلى UNKNOWN.
- منطقي: مع القيم المنطقية TRUE و FALSE.
- الرقم: نوع بيانات الرقم هو نوع بيانات أساسي لكل من الأعداد الصحيحة والأعداد الحقيقية. تستخدم معظم التطبيقات نوع البيانات المزدوج لتمثيل نوع البيانات الحقيقي، حتى لو كانت القيمة الفعلية عددًا صحيحًا.
- Integer: يمكن أن يكون للأعداد الصحيحة EXPRESS من حيث المبدأ أي طول، ولكن معظم التطبيقات تقيدها بقيمة 32 بت موقعة.
- حقيقي: من الناحية المثالية، تكون القيمة الحقيقية في EXPRESS غير محدودة في الدقة والحجم. ولكن عمليًا، يتم تمثيل القيمة الحقيقية بقيمة عددية عشرية من نوع double.
- أنواع بيانات التجميع: أنواع التجميع الممكنة هي: مجموعة (SET)، وحقيبة (BAG)، وقائمة (LIST)، ومصفوفة (ARRAY). بينما تُعتبر المجموعتان SET وBAG غير مُرتبة، فإنّ المجموعتين LIST وARRAY مُرتبة. قد تحتوي الحقيبة BAG على قيمة مُحددة أكثر من مرة، وهذا غير مسموح به في المجموعة SET. المصفوفة ARRAY هي التجميع الوحيد الذي يُمكن أن يحتوي على عناصر غير مُحددة. هذا غير ممكن في المجموعات SET وLIST وBAG. يُمكن أن تكون عناصر التجميع من أي نوع بيانات آخر.
تجدر الإشارة إلى بعض الأمور العامة المتعلقة بأنواع البيانات.
- يمكن تعريف أنواع البيانات المُنشأة ضمن مخطط EXPRESS. وتُستخدم بشكل أساسي لتعريف الكيانات، ولتحديد نوع سمات الكيان وأعضاء التجميع.
- يمكن استخدام أنواع البيانات بطريقة تكرارية لإنشاء أنواع بيانات أكثر تعقيدًا. على سبيل المثال، من الممكن تعريف قائمة (LIST) أو مصفوفة (ARRAY) أو استعلام (SELECT) لبعض الكيانات أو أنواع البيانات الأخرى. أما جدوى تعريف هذه الأنواع من البيانات فهي مسألة أخرى.
- يُحدد EXPRESS بعض القواعد التي تُمكن من تخصيص نوع البيانات بشكل أكبر. وهذا أمر مهم بالنسبة للسمات المُعاد تعريفها للكيانات.
- يمكن استخدام أنواع البيانات العامة للإجراءات والوظائف والكيانات المجردة.
سمة الكيان
تتيح سمات الكيانات إضافة "خصائص" إلى الكيانات وربط كيان بآخر ضمن دور محدد. ويحدد اسم السمة هذا الدور. ويمكن لمعظم أنواع البيانات أن تُستخدم مباشرةً كنوع للسمة، بما في ذلك التجميع.
توجد ثلاثة أنواع مختلفة من السمات: السمات الصريحة، والسمات المشتقة، والسمات العكسية. ويمكن إعادة تعريف جميع هذه السمات في نوع فرعي. بالإضافة إلى ذلك، يمكن إعادة تعريف السمة الصريحة كسمة مشتقة في نوع فرعي. ولا يمكن إجراء أي تغيير آخر على نوع السمات.
- السمات الصريحة هي تلك التي لها قيم مباشرة مرئية في ملف STEP.
- تستمد السمات المشتقة قيمها من تعبير. في معظم الحالات، يشير التعبير إلى سمات أخرى لهذه النسخة. وقد يستخدم التعبير أيضًا دوال EXPRESS.
- لا تضيف السمات العكسية "معلومات" إلى الكيان، ولكنها تقوم فقط بتسمية وتقييد سمة صريحة للكيان من الطرف الآخر.
رموز السمات المحددة لترميز EXPRESS-G: [ 2 ]

الأنواع الفائقة والأنواع الفرعية
يمكن تعريف الكيان كنوع فرعي لكيان واحد أو عدة كيانات أخرى ( يُسمح بالوراثة المتعددة !). يمكن أن يحتوي النوع الرئيسي على أي عدد من الأنواع الفرعية. من الممارسات الشائعة في STEP إنشاء رسوم بيانية معقدة للغاية للأنواع الفرعية والرئيسية. تربط بعض الرسوم البيانية 100 كيان أو أكثر ببعضها البعض.
يمكن إنشاء مثيل للكيان إما لكيان واحد (إن لم يكن مجردًا) أو لمجموعة معقدة من الكيانات في رسم بياني فرعي-فائق. بالنسبة للرسوم البيانية الكبيرة، من المرجح أن يزداد عدد التركيبات الممكنة بشكل هائل. ولتقييد هذه التركيبات، تم استحداث قيود خاصة على النوع الفائق، مثل ONEOF وTOTALLOVER. علاوة على ذلك، يمكن تعريف كيان ما على أنه مجرد لضمان عدم إمكانية إنشاء مثيل له وحده، بل فقط إذا كان يحتوي على نوع فرعي غير مجرد.
القيود الخوارزمية
يمكن تقييد الكيانات وأنواع البيانات المُعرَّفة بشكل أكبر باستخدام قواعد WHERE . تُعدّ قواعد WHERE جزءًا من القواعد العامة. قاعدة WHERE هي تعبير يجب أن يُقيّم إلى TRUE، وإلا فإنّ ملء مخطط EXPRESS غير صالح. وكما هو الحال مع السمات المشتقة، يمكن لهذه التعبيرات استدعاء دوال EXPRESS، والتي بدورها قد تستدعي إجراءات EXPRESS. تسمح الدوال والإجراءات بصياغة عبارات معقدة باستخدام متغيرات محلية ومعاملات وثوابت - على غرار لغة البرمجة.
تستطيع لغة EXPRESS وصف القواعد المحلية والعالمية. على سبيل المثال:
ENTITY area_unit SUBTYPE OF ( named_unit ); WHERE WR1 : ( SELF \ named_unit . dimensions . length_exponent = 2 ) AND ( SELF \ named_unit . dimensions . mass_exponent = 0 ) AND ( SELF \ named_unit . dimensions . time_exponent = 0 ) AND ( SELF \ named_unit . dimensions . electric_current_exponent = 0 ) AND ( SELF \ named_unit . dimensions . thermodynamic_temperature_exponent = 0 ) AND ( SELF \ named_unit . dimensions . amount_of_substance_exponent = 0 ) AND ( SELF \ named_unit . dimensions . luminous_intensity_exponent = 0 ); END_ENTITY ; -- area_unitيوضح هذا المثال أن وحدة المساحة يجب أن يكون طولها مربعًا. ولتحقيق ذلك، يجب أن تكون قيمة الخاصية dimensions.length_exponent مساويةً لـ 2، بينما يجب أن تكون جميع الأسس الأخرى لوحدات النظام الدولي للوحدات الأساسية مساويةً لـ 0.
مثال آخر:
TYPE day_in_week_number = INTEGER ; WHERE WR1 : ( 1 <= SELF ) AND ( SELF <= 7 ); END_TYPE ; -- day_in_week_numberأي أن قيمة الأسبوع لا يمكن أن تتجاوز 7.
وبالتالي، يمكنك وصف بعض القواعد لكياناتك. يمكن الاطلاع على مزيد من التفاصيل حول الأمثلة المذكورة في معيار ISO 10303-41 .
انظر أيضاً
- موضوعات متعلقة بمنظمة المعايير الدولية (ISO)
- ISO 10303 : معيار ISO للتمثيل وتبادل بيانات المنتجات الصناعية القابلة للتفسير بواسطة الحاسوب.
- ISO 10303-21 : صيغة تبادل البيانات STEP ذات بنية ASCII
- ISO 10303-22 : واجهة الوصول القياسية للبيانات، وهي جزء من أساليب تنفيذ STEP
- تحدد المواصفة القياسية ISO 10303-28 : STEP-XML استخدام لغة الترميز القابلة للتوسيع (XML) لتمثيل مخطط EXPRESS
- ISO 13584-24 : يتم تحديد النموذج المنطقي لـ PLIB في EXPRESS
- ISO 13399 : معيار ISO لتمثيل وتبادل بيانات أدوات القطع
- تم تحديد فئات المؤسسة الصناعية ISO/PAS 16739 في EXPRESS
- قائمة أجزاء STEP (ISO 10303)
- مواضيع أخرى ذات صلة
مراجع
تتضمن هذه المقالة موادًا متاحة للعموم من المعهد الوطني للمعايير والتكنولوجيا
- ↑ ISO 10303-11:2004 أنظمة الأتمتة الصناعية والتكامل - تمثيل بيانات المنتج وتبادلها - الجزء 11: طرق الوصف: دليل مرجعي للغة EXPRESS
- 1 2 3 4 مايكل ر. مكاليب (1999). "نموذج بيانات مفاهيمي لأنظمة الإسناد" . المعهد الوطني للمعايير والتكنولوجيا. أغسطس 1999.
- ↑ معيار ISO الدولي 10303-11:1994، أنظمة الأتمتة الصناعية والتكامل - تمثيل وتبادل بيانات المنتج - الجزء 11: طرق الوصف: دليل مرجع لغة EXPRESS، المنظمة الدولية للتوحيد القياسي، جنيف، سويسرا (1994).
- ↑ 4 نظرة عامة على لغة EXPRESS-G مؤرشفة بتاريخ 9 نوفمبر 2008 في Wayback Machine . تم الاطلاع عليها بتاريخ 9 نوفمبر 2008.
- ↑ للحصول على معلومات حول تدوين EXPRESS-G، راجع الملحق ب من دليل مرجع لغة EXPRESS (ISO 10303-11).
للمزيد من القراءة
- ISO 10303 ، الصفحة الرئيسية لـ STEP، معيار تبادل بيانات نماذج المنتجات
- دوغلاس أ. شينك وبيتر ر. ويلسون، نمذجة المعلومات بطريقة إكسبريس ، مطبعة جامعة أكسفورد، 1993، رقم ISBN 978-0-19-508714-7
- مؤسسة لغة إكسبريس ، وهي منظمة مكرسة لتعزيز عائلة لغة إكسبريس
- نمذجة البيانات
- لغات نمذجة البيانات
- ISO 10303
- لغات النمذجة
