EXPRESS (veri modelleme dili) - EXPRESS (data modeling language)

Şekil 1. Bir ses kompakt disk (CD) koleksiyonu için bir veri tabanının gereksinimleri, EXPRESS-G gösteriminde sunulmuştur.

EKSPRES bir standart veri modelleme dil için ürün veri. EXPRESS, Ürün Değişimi modeli için ISO Standardında resmileştirilmiştir ADIM (ISO 10303) ve ISO 10303-11 olarak standardize edilmiştir.[1]

Genel Bakış

Veri modelleri resmen tanımla veri nesneleri ve bir ilgi alanı için veri nesneleri arasındaki ilişkiler. Veri modellerinin bazı tipik uygulamaları, veritabanları ve belirli bir ilgi alanı için veri alışverişinin sağlanması. Veri modelleri, bir veri modelleme dilinde belirtilir.[2] EXPRESS, EXPRESS Language Reference Manual ISO 10303-11'de tanımlanan bir veri modelleme dilidir.[3]

Bir EXPRESS veri modeli metinsel ve grafiksel olmak üzere iki şekilde tanımlanabilir. Resmi doğrulama için ve aşağıdaki gibi araçlar için girdi olarak SDAI bir içindeki metinsel temsil ASCII dosya en önemlisidir. Öte yandan grafiksel gösterim, açıklama ve öğreticiler gibi insan kullanımı için genellikle daha uygundur. EXPRESS-G olarak adlandırılan grafiksel gösterim, metin biçiminde formüle edilebilen tüm ayrıntıları temsil edemez.

EXPRESS, aşağıdaki gibi programlama dillerine benzer: Pascal. Bir SCHEMA içinde, yapısal kısıtlamalar ve algoritmik kurallarla birlikte çeşitli veri türleri tanımlanabilir. EXPRESS'in temel bir özelliği, bir veri türü popülasyonunu resmi olarak doğrulama olanağıdır - bu, tüm yapısal ve algoritmik kuralları kontrol etmektir.

EKSPRES-G

EXPRESS-G, aşağıdakiler için standart bir grafik gösterimidir: bilgi modelleri.[4] Varlık ve tür tanımlarını, ilişkileri ve önem derecesini görüntülemek için EXPRESS diline eşlik eder.[5] Bu grafik gösterim, EXPRESS dilinin bir alt kümesini destekler. EXPRESS-G'yi EXPRESS'e göre kullanmanın avantajlarından biri, bir veri modelinin yapısının daha anlaşılır bir şekilde sunulabilmesidir. EXPRESS-G'nin bir dezavantajı, karmaşık kısıtlamaların resmi olarak belirlenememesidir. Şekil 1 bir örnektir. Şekilde sunulan veri modeli, bir ses kompakt disk (CD) koleksiyonu için bir veri tabanının gereksinimlerini belirtmek için kullanılabilir.[2]

Basit örnek

Şekil 2. Aile şeması için bir EXPRESS-G diyagramı

Basit bir EKSPRES veri modeli şekil 2'ye benzer ve kod şuna benzer:

SCHEMA Ailesi; ENTITY Kişi ÖZET SUPERTYPE OF (ONEOF (Erkek, Kadın)); isim: STRING; anne: İSTEĞE BAĞLI Kadın; baba: İSTEĞE BAĞLI Erkek; END_ENTITY; ENTITY Kadın SUBTYPE OF (Kişi); END_ENTITY; ENTITY Erkek SUBTYPE / (Kişi); END_ENTITY; END_SCHEMA;

Veri modeli EXPRESS şeması içine alınır Aile. Süper tip bir varlık içerir Kişi iki alt tür ile Erkek ve Kadın. Dan beri Kişi sadece ABSTRACT olarak bildirilir (ONEOF) alt türlerinden biri Erkek veya Kadın var olabilir. Bir kişinin her oluşumunda bir zorunlu isim öznitelik ve isteğe bağlı öznitelikler anne ve baba. Bazı varlık türlerinin nitelikleri için sabit bir okuma stili vardır:

  • a Kadın rolünü oynayabilir anne için Kişi
  • a Erkek rolünü oynayabilir baba için Kişi

EXPRESS Yapı taşları

Veri tipleri

EXPRESS, EXPRESS-G gösteriminin belirli veri türü sembolleriyle birlikte bir dizi veri türü sunar:[2]

A 02A Veri türü sembolleris.svg
  • Varlık veri türü: Bu, EKSPRES'teki en önemli veri türüdür. Aşağıda daha ayrıntılı olarak ele alınmıştır. Varlık veri türleri, bir alt üst tür ağacında ve / veya özniteliklerle iki şekilde ilişkilendirilebilir.
  • Numaralandırma veri türü: Numaralandırma değerleri, rgb-numaralandırması için kırmızı, yeşil ve mavi gibi basit dizelerdir. Bir numaralandırma türünün genişletilebilir olarak bildirilmesi durumunda, diğer şemalarda genişletilebilir.
  • Tanımlanmış veri türü: Bu, diğer veri türlerini daha da özelleştirir - örneğin,> 0 değerine sahip tamsayı türünde pozitif bir veri türü tanımlayın.
  • Veri türünü seçin: Bir seçim veya farklı seçenekler arasında bir alternatif tanımlamayı seçer. En yaygın olarak kullanılanlar, farklı varlık_türleri arasındaki seçimlerdir. Daha nadir, tanımlanmış türleri içeren seçimlerdir. Bir numaralandırma türünün genişletilebilir olarak bildirilmesi durumunda, diğer şemalarda genişletilebilir.
  • Basit veri türü
    • Dize: Bu, en sık kullanılan basit türdür. EXPRESS dizeleri herhangi bir uzunlukta olabilir ve herhangi bir karakteri içerebilir (ISO 10646 / Unicode).
    • İkili: Bu veri türü yalnızca çok nadiren kullanılır. Bir dizi biti kapsar (baytları değil). Bazı uygulamalar için boyut 32 bit ile sınırlıdır.
    • Mantıksal: Boolean veri türüne benzer şekilde, bir mantıksal olası değerler DOĞRU ve YANLIŞ ve ayrıca BİLİNMİYOR.
    • Boolean: DOĞRU ve YANLIŞ boole değerleriyle.
    • Sayı: Sayı veri türü, hem tam sayı hem de gerçek olan bir üst türdür. Gerçek değer bir tamsayı olsa bile, çoğu uygulama, bir gerçek_türü temsil etmek için bir çift tür kullanır.
    • Tamsayı: EXPRESS tamsayılar prensipte herhangi bir uzunluğa sahip olabilir, ancak çoğu uygulama onları işaretli bir 32 bit değerle sınırladı.
    • Gerçek: İdeal olarak bir EXPRESS gerçek değeri, doğruluk ve boyut açısından sınırsızdır. Ancak pratikte gerçek bir değer, double türünde bir kayan nokta değeri ile temsil edilir.
  • Toplama veri türü: Olası toplama_türü türleri SET, BAG, LIST ve ARRAY'dir. SET ve BAG sırasız iken LIST ve ARRAY sıralanır. Bir ÇANTA belirli bir değeri birden fazla içerebilir, SET için buna izin verilmez. Bir DİZİ, ayarlanmamış üyeler içerebilen tek kümedir. Bu SET, LIST, BAG için mümkün değildir. Bir kümenin üyeleri başka herhangi bir veri türünde olabilir.

Veri türleri için birkaç genel şeyden bahsedilecektir.

  • Oluşturulan veri türleri bir EXPRESS şeması içinde tanımlanabilir. Genellikle varlıkları tanımlamak ve varlık özniteliklerinin türünü ve toplu üyeleri belirtmek için kullanılırlar.
  • Veri türleri, giderek daha karmaşık veri türleri oluşturmak için özyinelemeli bir şekilde kullanılabilir. Örneğin. ya bazı varlıkların ya da diğer veri türlerinin bir SEÇİMİNİN bir DİZİSİNİN LİSTESİ tanımlamak mümkündür. Bu tür veri türlerini tanımlamak mantıklıysa, farklı bir sorudur.
  • EKSPRES, bir veri türünün nasıl daha fazla özelleştirilebileceğini birkaç kuralı tanımlar. Bu, varlıkların yeniden beyan edilen öznitelikleri için önemlidir.
  • GENERIC veri türleri prosedürler, işlevler ve soyut varlıklar için kullanılabilir.

Varlık-Öznitelik

Varlık öznitelikleri, varlıklara "özellikler" eklemeye ve bir varlığı belirli bir roldeki diğeriyle ilişkilendirmeye izin verir. Özniteliğin adı rolü belirtir. Çoğu veri türü doğrudan bir öznitelik türü olarak işlev görebilir. Bu, toplamayı da içerir.

Açık, türetilmiş ve ters öznitelikler olmak üzere üç farklı öznitelik türü vardır. Ve tüm bunlar bir alt tipte yeniden beyan edilebilir. Buna ek olarak, açık bir öznitelik, bir alt tipte türetilmiş olarak yeniden beyan edilebilir. Öznitelik türlerinde başka hiçbir değişiklik mümkün değildir.

  • Açık öznitelikler, bir STEP Dosyasında görülebilen doğrudan değerlere sahip olanlardır.
  • Türetilmiş özellikler, değerlerini bir ifadeden alır. Çoğu durumda ifade, BU örneğin diğer özelliklerine atıfta bulunur. İfade ayrıca EKSPRES işlevlerini de kullanabilir.
  • Ters öznitelikler bir varlığa "bilgi" eklemez, ancak yalnızca diğer uçtan bir varlığa açık bir özniteliği adlandırır ve sınırlar.

EXPRESS-G gösteriminin belirli öznitelik sembolleri:[2]

A 02B Öznitelik sembolleris.svg

Süper türler ve alt türler

Bir varlık, bir veya birkaç başka varlığın alt türü olarak tanımlanabilir (çoklu mirasa izin verilir!). Bir üst tür, herhangi bir sayıda alt türe sahip olabilir. STEP'te çok karmaşık alt süper tip grafikler oluşturmak çok yaygın bir uygulamadır. Bazı grafikler 100 veya daha fazla varlığı birbiriyle ilişkilendirir.

Bir varlık örneği, tek bir varlık için (soyut değilse) veya böyle bir alt süper tip grafikteki varlıkların karmaşık bir kombinasyonu için oluşturulabilir. Büyük grafikler için olası kombinasyonların sayısının astronomik aralıklarda artması muhtemeldir. Olası kombinasyonları kısıtlamak için ONEOF ve TOTALOVER gibi özel süper tip kısıtlamaları getirildi. Ayrıca, bir varlık, yalnızca bu varlıktan hiçbir örneğin oluşturulamayacağını, yalnızca soyut olmayan bir alt tür içeriyorsa oluşturulamayacağını zorlamak için soyut olarak ilan edilebilir.

Algoritmik kısıtlamalar

Varlıklar ve tanımlanmış veri türleri aşağıdakilerle daha da kısıtlanabilir: NEREDE kurallar. NEREDE kurallar aynı zamanda genel kuralların bir parçasıdır. Bir NEREDE kural, TRUE olarak değerlendirilmesi gereken bir ifadedir, aksi takdirde bir EXPRESS şemasının popülasyonu geçerli değildir. Türetilmiş öznitelikler gibi bu ifade, EXPRESS prosedürlerini daha fazla çağırabilen EXPRESS işlevlerini çağırabilir. Fonksiyonlar ve prosedürler, bir programlama diline çok benzer şekilde yerel değişkenler, parametreler ve sabitlerle karmaşık ifadelerin formüle edilmesini sağlar.

EXPRESS dili, yerel ve genel kuralları tanımlayabilir. Örneğin:

 ENTITY area_unit   ALT TİP NIN-NİN (name_unit); NEREDE   WR1: (KENDİNEname_unit.boyutları.length_exponent = 2) VE        (KENDİNEname_unit.boyutları.mass_exponent = 0) VE        (KENDİNEname_unit.boyutları.time_exponent = 0) VE        (KENDİNEname_unit.boyutları.electric_current_exponent = 0) VE        (KENDİNEname_unit.boyutları.          thermodynamic_temperature_exponent = 0) VE        (KENDİNEname_unit.boyutları.amount_of_substance_exponent = 0) VE        (KENDİNEname_unit.boyutları.luminous_intensity_exponent = 0); END_ENTITY; - alan_birimi

Bu örnek, alan_birimi varlığının uzunluğunun kare değerine sahip olması gerektiğini açıklar. Bunun için boyutlar.length_exponent özniteliği 2'ye eşit olmalı ve temel SI birimlerinin diğer tüm üsleri 0 olmalıdır.

Başka bir örnek:

 TÜR day_in_week_number = TAM; NEREDE   WR1: (1 <= KENDİNE) VE (KENDİNE <= 7); END_TYPE; - day_in_week_number

Yani hafta değerinin 7'yi geçemeyeceği anlamına gelir.

Ve böylece, varlıklarınıza bazı kurallar tanımlayabilirsiniz. Verilen örneklerle ilgili daha fazla ayrıntı şurada bulunabilir: ISO 10303 -41

Ayrıca bakınız

ISO ile ilgili konular
  • ISO 10303: Endüstriyel ürün verilerinin bilgisayar tarafından yorumlanabilir gösterimi ve değişimi için ISO standardı.
  • ISO 10303-21: ASCII yapısına sahip STEP'in veri değişim formu
  • ISO 10303-22: Standart veri erişim arayüzü, STEP uygulama yöntemlerinin bir parçası
  • ISO 10303-28: STEP-XML, EXPRESS şemasını temsil etmek için Genişletilebilir İşaretleme Dili'nin (XML) kullanımını belirtir
  • ISO 13584 -24: PLIB'nin mantıksal modeli EXPRESS'te belirtilir
  • ISO 13399: Kesici takım verilerinin gösterimi ve değişimi için ISO standardı
  • ISO / PAS 16739: Industry Foundation Classes EXPRESS'te belirtilmiştir
  • STEP (ISO 10303) parçalarının listesi
Diğer ilgili konular

Referanslar

Bu makale içerirkamu malı materyal -den Ulusal Standartlar ve Teknoloji Enstitüsü İnternet sitesi https://www.nist.gov.

  1. ^ ISO 10303-11: 2004 Endüstriyel otomasyon sistemleri ve entegrasyon - Ürün verilerinin gösterimi ve değişimi - Bölüm 11: Açıklama yöntemleri: EXPRESS dili başvuru kılavuzu
  2. ^ a b c d Michael R. McCaleb (1999). "Veri Sistemlerinin Kavramsal Veri Modeli". Ulusal Standartlar ve Teknoloji Enstitüsü. Ağustos 1999.
  3. ^ ISO Uluslararası Standardı 10303-11: 1994, Endüstriyel otomasyon sistemleri ve entegrasyon - Ürün veri gösterimi ve değişimi - Bölüm 11: Tanımlama yöntemleri: EXPRESS dili referans kılavuzu, Uluslararası Standardizasyon Örgütü, Cenevre, İsviçre (1994).
  4. ^ 4 EXPRESS-G Diline Genel Bakış Arşivlendi 2008-11-09'da Wayback Makinesi. 9 Kasım 2008 erişildi.
  5. ^ EXPRESS-G notasyonu hakkında bilgi için, EXPRESS Dil Referans Kılavuzu Ek B'ye bakın (ISO 10303-11)

daha fazla okuma

  • ISO 10303 ana sayfası STEP, Ürün Model Verilerinin Değişimi Standardı
  • Douglas A. Schenck ve Peter R. Wilson, EXPRESS Yöntemiyle Bilgi Modellemesi, Oxford University Press, 1993, ISBN  978-0-19-508714-7