Język modelowania - Modeling language

Język modelowania jest jakiś sztuczny język , który może być używany do wyrażania informacji lub wiedzy lub systemy w strukturze , która jest wyznaczona przez spójny zestaw zasad. Reguły służą do interpretacji znaczenia elementów konstrukcji.

Przegląd

Język modelowania może być graficzny lub tekstowy.

  • Języki modelowania graficznego wykorzystują technikę diagramów z nazwanymi symbolami, które reprezentują koncepcje i linie łączące symbole i reprezentują relacje oraz różne inne zapisy graficzne reprezentujące ograniczenia.
  • Języki modelowania tekstu mogą wykorzystywać ustandaryzowane słowa kluczowe wraz z parametrami lub terminami i wyrażeniami języka naturalnego w celu tworzenia wyrażeń interpretowalnych przez komputer.

Przykładem graficznego języka modelowania i odpowiadającego mu tekstowego języka modelowania jest EXPRESS .

Nie wszystkie języki modelowania są wykonywalne, a ich użycie niekoniecznie oznacza, że ​​programiści nie są już potrzebni. Wręcz przeciwnie, wykonywalne języki modelowania mają na celu zwiększenie produktywności wykwalifikowanych programistów, aby mogli rozwiązywać trudniejsze problemy, takie jak przetwarzanie równoległe i systemy rozproszone .

W literaturze pojawia się wiele języków modelowania.

Rodzaje języków modelowania

Typy graficzne

Przykładowe języki graficznego modelowania z zakresu informatyki, zarządzania projektami i inżynierii systemów:

Przykłady języków modelowania graficznego w innych dziedzinach nauki.

Typy tekstowe

Modele informacyjne mogą być również wyrażane w sformalizowanych językach naturalnych, takich jak gellish. Gellish ma warianty języka naturalnego, takie jak Gellish Formal English i Gellish Formal Dutch ( Gellish Formeel Nederlands ) itp. Gellish Formal English to język reprezentacji informacji lub język modelowania semantycznego, który jest zdefiniowany w Gellish English Dictionary-Taxonomy, który ma postać taksonomię-ontologię (podobnie dla niderlandzkiego). Gellish Formal English nadaje się nie tylko do wyrażania wiedzy, wymagań i słowników, taksonomii i ontologii, ale także informacji o poszczególnych rzeczach. Wszystkie te informacje są wyrażone w jednym języku i dlatego mogą być zintegrowane, niezależnie od tego, czy są przechowywane w bazach danych centralnych, rozproszonych czy federacyjnych. Modele informacyjne w Gellish Formal English składają się ze zbiorów wyrażeń Gellish Formal English, które wykorzystują terminy języka naturalnego i sformalizowane zwroty. Na przykład model informacji geograficznej może składać się z wielu wyrażeń języka żelijskiego w języku formalnym, takich jak:

- the Eiffel tower <is located in> Paris
- Paris <is classified as a> city

natomiast wymagania informacyjne i wiedzę można wyrazić na przykład w następujący sposób:

- tower <shall be located in a> geographical area
- city <is a kind of> geographical area

Takie wyrażenia z języka żelsko-formalnego używają nazw pojęć (takich jak „miasto”) i fraz, które reprezentują typy relacji (takie jak „jest położony w” i „jest sklasyfikowany jako a⟩), które należy wybrać z słownika taksonomii żeludzkiego języka angielskiego ( lub własnego słownika domeny). Gellish English Dictionary-Taxonomy umożliwia tworzenie bogatych semantycznie modeli informacji, ponieważ słownik zawiera ponad 600 standardowych typów relacji i zawiera definicje ponad 40000 pojęć. Model informacyjny w Gellish może wyrażać fakty lub składać oświadczenia, pytania i odpowiedzi.

Bardziej szczegółowe typy

W dziedzinie informatyki pojawiły się ostatnio bardziej specyficzne typy języków modelowania.

Algebraiczny

Języki modelowania algebraicznego (AML) to języki programowania wysokiego poziomu służące do opisywania i rozwiązywania problemów o dużej złożoności dla obliczeń matematycznych na dużą skalę (tj. problemów typu optymalizacji na dużą skalę). Jedną ze szczególnych zalet AML, takich jak AIMMS , AMPL , GAMS , Mosel , OPL i OptimJ, jest podobieństwo ich składni do matematycznego zapisu problemów optymalizacji. Pozwala to na bardzo zwięzłą i czytelną definicję problemów z dziedziny optymalizacji, która jest wspierana przez pewne elementy języka, takie jak zbiory, indeksy, wyrażenia algebraiczne, potężny indeks rzadki i zmienne obsługujące dane, ograniczenia o dowolnych nazwach. Sformułowanie algebraiczne modelu nie zawiera wskazówek, jak go przetwarzać.

Behawioralne

Języki behawioralne są zaprojektowane do opisywania obserwowalnego zachowania złożonych systemów składających się z komponentów, które działają współbieżnie. Języki te koncentrują się na opisie kluczowych pojęć, takich jak: współbieżność, niedeterminizm, synchronizacja i komunikacja. Podstawy semantyczne języków behawioralnych to rachunek procesów lub algebra procesów .

Specyficzne dla dyscypliny

Język modelowania specyficznego dla dyscypliny (DspM) koncentruje się na elementach wynikowych powiązanych z określonym etapem cyklu życia oprogramowania. Dlatego taki język oferuje odrębne słownictwo, składnię i notację na każdym etapie, takim jak odkrywanie, analiza, projektowanie, architektura, skrócenie itp. Na przykład w fazie analizy projektu modelarz stosuje określoną notację analityczną, aby dostarczyć diagram propozycji analizy. Jednak w fazie projektowania logiczny zapis projektu jest używany do zobrazowania relacji między jednostkami oprogramowania. Ponadto najlepsze praktyki w zakresie języka modelowania dla danej dyscypliny nie uniemożliwiają praktykom łączenia różnych notacji na jednym diagramie.

Specyficzne dla domeny

Modelowanie specyficzne dla domeny (DSM) to metodologia inżynierii oprogramowania służąca do projektowania i tworzenia systemów, najczęściej systemów informatycznych, takich jak oprogramowanie komputerowe. Polega ona na systematycznym użyciu graficznego języka specyficznego dla domeny (DSL) do reprezentowania różnych aspektów systemu. Języki DSM zwykle obsługują abstrakcje wyższego poziomu niż języki modelowania ogólnego przeznaczenia, więc wymagają mniej wysiłku i mniej szczegółów niskiego poziomu, aby określić dany system.

Specyficzne dla frameworka

Ramy specyficzny język modelowania (FSML) jest rodzajem języka specyficzne dla domeny modelowania, który jest przeznaczony do ram aplikacji obiektowego. FSML definiują dostarczane przez framework abstrakcje jako koncepcje FSML i rozkładają abstrakcje na funkcje. Funkcje reprezentują etapy implementacji lub wybory.

Koncepcję FSML można skonfigurować, wybierając funkcje i podając wartości dla funkcji. Taka konfiguracja koncepcji reprezentuje sposób, w jaki koncepcja powinna być zaimplementowana w kodzie. Innymi słowy, konfiguracja koncepcji opisuje, w jaki sposób należy uzupełnić framework, aby stworzyć implementację koncepcji.

Modelowanie informacji i wiedzy

Połączone dane i inżynieria ontologiczna wymagają „języków gospodarza” do reprezentowania jednostek i relacji między nimi , ograniczeń między właściwościami jednostek i relacji oraz atrybutów metadanych . JSON-LD i RDF to dwa główne (i semantycznie prawie równoważne) języki w tym kontekście, przede wszystkim dlatego, że wspierają reifikację i kontekstualizację zdań, które są podstawowymi właściwościami wspierającymi logikę wyższego rzędu niezbędną do rozumowania o modelach. Typowym przykładem takiego rozumowania jest transformacja modelu .

Zorientowany obiektowo

Języki modelowania obiektowego to języki modelowania oparte na ustandaryzowanym zestawie symboli i sposobach ich rozmieszczania w celu modelowania (części) obiektowego projektowania oprogramowania lub projektowania systemu.

Niektóre organizacje intensywnie wykorzystują je w połączeniu z metodologią tworzenia oprogramowania, aby przejść od wstępnej specyfikacji do planu wdrożenia i przekazać ten plan całemu zespołowi programistów i interesariuszy. Ponieważ język modelowania jest językiem wizualnym i na wyższym poziomie abstrakcji niż kod, używanie modeli zachęca do generowania wspólnej wizji, która może zapobiec problemom związanym z odmienną interpretacją na późniejszym etapie rozwoju. Często do konstruowania tych modeli używane są narzędzia do modelowania oprogramowania, które następnie mogą być zdolne do automatycznego tłumaczenia na kod.

Wirtualna rzeczywistość

Język Virtual Reality Modeling Language (VRML), przed 1995 rokiem znany jako Virtual Reality Markup Language, jest standardowym formatem plików do przedstawiania trójwymiarowej (3D) interaktywnej grafiki wektorowej, zaprojektowanym specjalnie z myślą o sieci WWW.

Inni

Aplikacje

Różne rodzaje języków modelowania są stosowane w różnych dyscyplinach, w tym informatyce , zarządzaniu informacją , modelowaniu procesów biznesowych , inżynierii oprogramowania i inżynierii systemów . Języki modelowania mogą być użyte do określenia:

  • wymagania systemowe,
  • struktury i
  • zachowania.

Języki modelowania mają być używane do precyzyjnego określania systemów, tak aby interesariusze (np. klienci, operatorzy, analitycy, projektanci) mogli lepiej zrozumieć modelowany system.

Bardziej dojrzałe języki modelowania są precyzyjne, spójne i wykonywalne. Oczekuje się, że nieformalne techniki tworzenia diagramów zastosowane z narzędziami do rysowania dostarczą użytecznych graficznych reprezentacji wymagań systemowych, struktur i zachowań, które mogą być przydatne do komunikacji, projektowania i rozwiązywania problemów, ale nie mogą być używane programowo. Oczekuje się jednak, że wykonywalne języki modelowania zastosowane z odpowiednią obsługą narzędzi zautomatyzują weryfikację i walidację systemu , symulację i generowanie kodu z tych samych reprezentacji.

Jakość

Przegląd języków modelowania jest niezbędny, aby móc określić, które języki są odpowiednie dla różnych ustawień modelowania. W terminach ustawienia uwzględniamy interesariuszy, dziedzinę i powiązaną wiedzę. Ocena jakości języka jest środkiem, który ma na celu osiągnięcie lepszych modeli.

Ramy oceny

Tutaj jakość języka jest określana zgodnie z ramami jakości modeli SEQUAL opracowanymi przez Krogstie, Sindre i Lindland (2003), ponieważ jest to struktura, która łączy jakość języka z ramą ogólnej jakości modeli. W tym kontekście do opisu jakości języka wykorzystywanych jest pięć obszarów, które mają wyrażać zarówno konceptualną, jak i wizualną notację języka. Nie będziemy zagłębiać się w szczegółowe wyjaśnienie podstawowych ram jakości modeli, ale skoncentrujemy się na obszarach używanych do wyjaśnienia ram jakości języka.

Adekwatność domeny

Struktura określa zdolność do reprezentowania domeny jako stosowności domeny. Stwierdzenie adekwatności może być nieco niejasne, ale w tym konkretnym kontekście oznacza zdolność do wyrażenia . W idealnym przypadku powinieneś być w stanie wyrazić tylko rzeczy, które są w domenie, ale być wystarczająco silnym, aby uwzględnić wszystko, co jest w domenie. To wymaganie może wydawać się nieco surowe, ale celem jest uzyskanie wizualnie wyrażonego modelu, który zawiera wszystko, co dotyczy domeny i wyklucza wszystko, co nie jest odpowiednie dla domeny. Aby to osiągnąć, język musi dobrze rozróżniać, które notacje i składnie są korzystne do zaprezentowania.

Odpowiedniość uczestnika

Aby ocenić adekwatność uczestnika, staramy się określić, jak dobrze język wyraża wiedzę posiadaną przez interesariuszy. Wiąże się to z wyzwaniami, ponieważ wiedza interesariuszy jest subiektywna. Wiedza interesariuszy jest zarówno ukryta, jak i jawna. Oba rodzaje wiedzy mają charakter dynamiczny. W tych ramach pod uwagę brany jest tylko typ wiedzy jawnej. Język powinien w dużym stopniu wyrażać całą jawną wiedzę interesariuszy dotyczącą dziedziny.

Adekwatność modelarza

W ostatnim akapicie stwierdzono, że wiedza interesariuszy powinna być prezentowana w dobry sposób. Ponadto konieczne jest, aby język był w stanie wyrazić całą możliwą wiedzę jawną interesariuszy. Żadna wiedza nie powinna pozostać niewyrażona z powodu braków w języku.

Adekwatność zrozumiałości

Adekwatność zrozumiałości zapewnia, że ​​aktorzy społeczni rozumieją model dzięki konsekwentnemu używaniu języka. Aby to osiągnąć, ramy zawierają zestaw kryteriów. Ogólne znaczenie, jakie mają one wyrażać, polega na tym, że język powinien być elastyczny, łatwy do zorganizowania i łatwy do odróżnienia różnych części języka wewnętrznie, jak również od innych języków. Poza tym cel powinien być tak prosty, jak to tylko możliwe, a każdy symbol w języku ma unikalną reprezentację.

Wiąże się to również ze strukturą wymagań rozwojowych. .

Odpowiedniość narzędzia

Aby zapewnić, że faktycznie modelowana domena nadaje się do analizy i dalszego przetwarzania, język musi zapewnić możliwość automatycznego rozumowania. Aby to osiągnąć, musi zawierać formalną składnię i semantykę. Kolejną zaletą formalizacji jest możliwość wykrywania błędów na wczesnym etapie. Nie zawsze język najlepiej dopasowany do aktorów technicznych jest taki sam, jak dla aktorów społecznych.

Adekwatność organizacyjna

Użyty język jest odpowiedni do kontekstu organizacyjnego, np. język jest ustandaryzowany w organizacji lub jest obsługiwany przez narzędzia wybrane jako standardowe w organizacji.

Zobacz też

Bibliografia

Dalsza lektura

Zewnętrzne linki