UML pomáhá zjednodušit reprezentaci vnitřní logiky programu.
„Unified Modeling Language“ neboli UML je jazyk navržený tak, aby ukázal, jak je organizován software; inženýři mohou použít UML k diagramu toku informací v programu, což jim umožní lépe porozumět tomu, jak jej lze zjednodušit nebo změnit. Při modelování toku informací rozlišuje UML mezi „aktivními objekty“, které mohou tento tok iniciovat, a „pasivními objekty“, které nemohou.
Objekty a třídy
Pokud jde o takzvané „objektově orientované“ programování, informatika rozlišuje mezi „objektem“ a „třídou“. Třída je a zobecněný popis množiny věcí – jako jsou proměnné nebo metody – zatímco „objekt“ je „instance“ této třídy s vlastní jedinečnou vlastnosti. Představte si třídy jako plán nebo šablonu; ve fyzickém světě by „psací nástroj“ mohl být považován za třídu s příklady „pero“ nebo „oranžová pastelka“ pro „předměty“ toho konkrétního typu třídy.
Video dne
Objekty v UML
UML zachovává podobný rozdíl mezi třídami a objekty a jsou reprezentovány stejným způsobem; Třídy UML obsahují široké popisy a objekty UML obsahují specifické hodnoty, které představují instance těchto popisů. Formálně řečeno je tedy „aktivním objektem“ v UML jakákoli instance „aktivní třídy“ a podobně „pasivní objekt“ je instancí „pasivní třídy“ – v teoretickém smyslu byste tyto termíny mohli považovat v podstatě za zaměnitelné.
Aktivní objekty
V UML existují aktivní třídy, a tedy aktivní objekty ve vlastním vláknu operací a mají svůj vlastní adresní prostor. Pokud se o provádění nebo činnosti kódu uvažuje jako o toku, mohou tento tok spustit nebo řídit aktivní objekty. Jinými slovy, aktivní objekty jsou sekvenční a něco dělají: upravují proměnné, mění chování programu a tak dále. V UML se aktivní třídy a objekty vyznačují silnějším okrajem než pasivní objekty.
Pasivní předměty
Pasivní objekty v UML obecně nemají schopnost upravit nebo zahájit tok provádění, protože musí čekat, až je zavolá jiný objekt. Místo toho se k ukládání informací obecně používají pasivní objekty a v mnoha případech mohou být tyto informace sdíleny mezi více jinými objekty. To může umožnit přístup k pasivním objektům souběžně, nikoli postupně. Aby bylo zajištěno, že data obsažená uvnitř mají vysokou integritu, umožňuje UML pasivním objektům trvat na tom, aby k nim bylo přistupováno postupně; pokud se dvě vlákna pokusí volat stejný sekvenční pasivní objekt, může tento objekt zpozdit druhé vlákno, dokud s ním první neskončí.