UML ewoluuje w kierunku języka uniwersalnego
- Marian Łakomy,
- 08.10.2001
Ivar Jacobson, jeden z twórców Unified Modelling Language (UML), podczas tegorocznej konferencji UML World 2001 prognozował, że ten język modelowania w niedalekiej przyszłości stanie się uniwersalnym językiem programowania.
Ivar Jacobson, jeden z twórców Unified Modelling Language (UML), podczas tegorocznej konferencji UML World 2001 prognozował, że ten język modelowania w niedalekiej przyszłości stanie się uniwersalnym językiem programowania.
Na drodze takiej ewolucji nie stoją przeszkody techniczne. Istnieją natomiast bariery ekonomiczne, wynikające z ogromnych inwestycji, jakie poczyniono kupując zintegrowane pakiety IDE, wyposażone w kompilatory, debuggery i kreatory do tworzenia interfejsu graficznego.
Do tej pory I. Jacobson, wiceprezes rozwoju w Rational Corp., nie mylił się w przewidywaniach. Już w 1985 r. prognozował bowiem, że składanie aplikacji z komponentów stanie się standardem. W roku 1995 jego firma Objectory AB połączyła się z Rational w celu stworzenia rozwiązań, które ułatwiłyby tworzenie aplikacji osobom nie związanym bezpośrednio z programowaniem. Tak powstał UML, dzisiaj ułatwiający pracę rzeszom analityków, projektantów aplikacji i programistów na całym świecie. Obecnie Ivar Jacobson dostrzega cztery czynniki, które mają uczynić UML językiem jeszcze bardziej popularnym i przystępnym zarówno dla osób nie mających doświadczenia w kodowaniu, jak i programistów:
Rational, IBM, BEA, Microsoft, Sun i Component Source zapoczątkowały inicjatywę OMG (Object Management Group), zmierzającą do stworzenia standardu używania komponentów, opartego na UML. Rational opracowuje narzędzia, pozwalające na wielokrotne używanie nie tylko komponentów, ale też innych zasobów aplikacji (modeli, dokumentacji, kodu, projektu).
Co najmniej kilka pokoleń programistów wychowało się w przekonaniu, że najważniejsze jest tworzenie programu, nie jest natomiast istotne, ile błędów w nim się pojawi - przecież kiedyś je się usunie. Efektywność współczesnych pakietów IDE w szybkim tworzeniu kodu przyczynia się do utrwalania tego poglądu. I. Jacobson proponuje nowe narzędzia generują- ce z modelu nie tylko kod, ale również sekwencje testowe do potwierdzania poprawności kodu i weryfikacji specyfikacji.
Z powodu różnorodności platform, pośrednich warstw oprogramowania (middleware), ram aplikacyjnych i języków programowanie nigdy nie było tak trudne jak obecnie. Jednym z proponowanych sposobów ułatwienia pracy programisty będzie udostępnienie mu inteligentnych agentów, zajmujących się takimi zagadnieniami, jak protokoły komunikacyjne, różnice systemowe czy obsługa transakcji. Agenci na podstawie określonych reguł będą pro- aktywnie wspomagać pracę programisty, sugerując mu kolejne kroki.
Twórcy aplikacji pracują obecnie na dwóch poziomach: modelu UML i środowisku programistycznym Java lub C++. Tworzenie modelu w UML i generowanie kodu Java w jednym narzędziu, a następnie ulepszanie go w oddzielnym pakiecie IDE musi prowadzić do błędów. Istniejące IDE są tworzone z myślą o obsłudze całego procesu tworzenia aplikacji. Powoduje to powielanie właściwości narzędzi do modelowania i programowania. Zdaniem I. Jacobsona, współczesne IDE dodają tylko ok. 10-20% kodu do programu generowanego przez pakiet UML.