ParaSoft

Od wysokiej technologii do prowadzenia sklepów i supermarketów

Od wysokiej technologii do prowadzenia sklepów i supermarketów

Firma ParaSoft Corp. powstała w roku 1987, w Stanach Zjednoczonych. Jej głównym celem było i jest nadal, wytwarzanie zaawansowanych narzędzi do produkcji oprogramowania, przeznaczonego głównie do pracy na superkomputerach i stacjach roboczych. Polska filia ParaSoft Corp. została założona w roku 1990. Do jej zadań należy przede wszystkim wytwarzanie programów przeznaczonych do prowadzenia różnego rodzaju sklepów. Programy te pracują na komputerach klasy PC.

Przy produkcji programów firma ParaSoft wykorzystuje najnowsze technologie. Dzięki temu jej produkty odznaczają się wysoką jakością i dobrze zaspokajają potrzeby i wymagania klientów. Chcąc poznać zasady pracy ParaSoft Corp. musimy cofnąć się kilka lat wstecz i zobaczyć jak to się wszystko zaczęło?

Twórcami ParaSoft było kilku absolwentów słynnej Politechniki Kalifornijskiej - California Institute of Technology (CALTECH). Jednocześnie pod koniec lat osiemdziesiątych został ukończony projekt, zainicjowany w roku 1982, którego celem była produkcja pierwszych na świecie komputerów równoległych. Założyciele firmy ParaSoft doskonale zdawali sobie sprawę z faktu, że ta technologia ma wielką przyszłość i będzie mogła być wykorzystywana przy rozwiązywaniu wielu problemów.

Programowanie równoległe

Głównym atutem techniki programowania równoległego jest przyspieszenie wykonywania programu. Jest to możliwe dzięki podzieleniu pracy przeznaczonej do wykonywania dla programu, na mniejsze części. Następnie te fragmenty wykonywane są w tym samym czasie nie na jednym, a na wielu komputerach.

Problemy występujące przy programowaniu równoległym są bardzo podobne do tych, które pojawiają się przy zarządzaniu zespołem ludzi.

Rozważmy prosty przykład ilustrujący ten problem. Wyobraźmy sobie, że naszym zadaniem jest wybudowanie muru. Może to zrobić jeden murarz pracując przez określony czas. Ten sam mur jednak, może powstać o wiele szybciej, jeżeli zatrudnimy kilku murarzy! Aby praca przebiegała sprawnie, każdy murarz odpowiedzialny jest za wybudowanie określonego fragmentu muru. Przez większą część czasu zatem, murarze pracują niezależnie. Interakcje między budującymi występują tylko wtedy, gdy sąsiadujący murarze, muszą połączyć swoje odcinki muru. Aby mur był jednolity i nie sprawiał wrażenia "posklejanego" z wielu kawałków, budujący muszą uzgadniać położenie każdej granicznej warstwy cegieł. Proces uzgadniania nosi nazwę - procesu komunikacji.

Zupełnie podobnie wygląda wykonanie jednego zadania przy użyciu wielu komputerów. Praca przeznaczona do wykonania zostaje podzielona na niezależne części, nad każdą z nich pracuje inny komputer. Kiedy kończy on swoją część pracy i zbliża się do granicy, gdzie nastąpić ma interakcja, sąsiednie komputery (oczywiście chodzi tu o sąsiedztwo fragmentów programu)przekazują sobie wzajemnie informacje o tym (proces komunikacji).

Programowanie równoległe jest techniką dość skomplikowaną. Podstawowa trudność polegana synchronizacji pracy między komputerami i takim rozdzieleniu zadań, aby wykluczyć ich wzajemne "wchodzenie sobie w drogę".

Pierwszy produkt wprowadzony na rynek przez firmę ParaSoft, noszący nazwę Express, pomagał przezwyciężyć te problemy w programowaniu. Express to system narzędzi do programowania równoległego. W jego skład wchodzą, m.in.: system przesyłania wiadomości, równoległy debugger, równoległy monitor wykonania programu, system graficzny i system input/output.

Program pracuje na większości komputerów równoległych i sprzedawany jest na całym świecie. Szczególnie dobrze został przyjęty w USA i Japonii. Przy wykorzystaniu Expressu napisano wiele aplikacji przyspieszających wykonanie programów przeznaczonych do przeszukiwania baz danych, projektowania statków kosmicznych i samolotów. Powstał nawet program do natychmiastowego odnajdywania skradzionych samochodów!

ParaSoft Corp. nadal pracuje nad rozwijaniem technologii równoległej. Obecnie głównym celem firmy, jest udoskonalenie jej produktu - równoległego kompilatora ASPAR. ASPAR umożliwia automatyczną (bez pomocy człowieka), zamianę programu napisanego na normalny komputer, na program pracujący na maszynach równoległych. Proces automatycznej zamiany jest niezmiernie skomplikowany i wymaga bardzo wysokiej technologii analizy kodu źródłowego. Ta bezsprzecznie cenna technologia jest domeną ParaSoftu.

Insight - automatyczne wyszukiwanie błędów

Podczas pracy nad automatycznym równoległym kompilatorem inżynierowie ParaSoftu zauważyli, że technologia dokładnej analizy programu może być wykorzystana także do innych celów. Dokładne zrozumienie programu pozwala na zbudowanie narzędzia automatycznie odnajdującego błędy w programach. Narzędzie takie, noszące nazwę - Insight, to drugi produkt firmy ParaSoft. Insight automatycznie wykrywa błędy w programach napisanych w C i C++. Dość często Insight nazywany jest automatycznym debuggerem. Niezupełnie słusznie. Jeżeli bowiem użytkownik chce odszukać błąd wykorzystując normalny debugger musi wiedzieć, że błąd istnieje. Dopiero potem za pomocą debuggera izoluje instrukcje w kodzie źródłowym, która jest odpowiedzialna za ten błąd. Zupełnie inaczej jest w przypadku wykorzystania Insighta. Użytkownik nie musi wiedzieć, że w programie istnieje błąd i gdzie jest zlokalizowany. Insight sam go odnajdzie i poinformuje nas gdzie się znajduje.

Insight wykorzystuje bowiem do tego celu technikę instrumentacji. Program użytkownika jest czytany i analizowany. Następnie wszystkie instrukcje użytkownika są obkładane instrukcjami Insighta. Tak zinstrumentowany program zapisywany jest do zbioru pomocniczego i kompilowany. A potem program wykonywany jest jak w normalnej wersji. Podczas wykonywania programu instrukcje Insighta sprawdzają czy instrukcje użytkownika nie popełniają błędów. Jeżeli błąd zostanie wykryty Insight podaje komunikat o błędzie. Komunikat Insighta zawiera informacje: jaki błąd wystąpił i w której linii kodu się znajduje. Programiście pozostaje tylko poprawić błąd.

Błędy wykrywane przez Insight

* Problemy z pisaniem poza dozwoloną pamięcią.

* Użycie niezainicjalizowanych zmiennych.

* Błędy w użyciu malloc, free, new i delete.

* Problemy z cieknącą pamięcią - "memory leaks".

* Problemy przy wywoływaniu bibliotek systemowych.

* Problemy z formatami w instrukcjach i/o.

* Błędy w operacjach na pointerach.

* Niektóre błędy algorytmiczne.

Insight pracuje obecnie na większości maszyn z systemem Unix. Zaliczają się do nich: Sun, IBM, SG, HP, DEC, SCO. W czerwcu wchodzi do sprzedaży wersja Insight pracująca z programami w 32-bitowym DOS i Windows.

ParaSoft w Polsce - store Manager

Podczas gdy ParaSoft w Stanach Zjednoczonych pracuje nad narzędziami do produkcji oprogramowania, Parasoft w Polsce wytwarza produkty przeznaczone do prowadzenia firm. Firma ParaSoft w Polsce wypuściła na rynek wiele programów serii Manager, które umożliwiają kompleksowe prowadzenie różnego rodzaju firm.

Pierwszy program z tej serii - store Manager został wprowadzony na rynek w roku 1992. Program przeznaczony jest do prowadzenia placówek handlowych różnej wielkości. Od bardzo małych aż do dużych sieci sklepowych i supermarketów. Store Manager składa się z dwóch modułów: sklepowego i magazynowego. Moduł sklep służy do prowadzenia sprzedaży i pracuje na dowolnym komputerze klasy PC, a także na fiskalnych kasach komputerowych. Moduł magazyn przeznaczony jest do prowadzenia gospodarki magazynowej, prowadzenia statystyk i małej księgowości.

Podstawowe parametry programu Store Manager

- Nieograniczona liczba PLU.

- Ewidencje i kalkulacja VAT.

- 0-999 działów.

- 10 magazynów.

- Automatyczna kontrola przepływu towarów.

- Inwentaryzacje i remanenty.

- Kontrola zobowiązań i należności.

- Sprzedaż - detaliczna, paragony, faktury VAT, rachunki uproszczone, zwroty, reklamacje itp.

- Raporty kasowe.

Program Store Manager napisany jest w całości w języku C. Dzięki temu łatwo daje się przenosić między platformami. Przy pisaniu programu wykorzystano technikę programowania równoległego. Dzięki niej program może się skalować, czyli obsługiwać tak małe, jak i duże, placówki handlowe. Jest to możliwe dzięki wykorzystaniu rozproszonych baz danych. Program Store Manager jest najlepszym przykładem zastosowania wysokiej techniki programowania równoległego firmy ParaSoft, przy wytwarzaniu produktów przeznaczonych na rynek, dla przeciętnego odbiorcy.

Jak już wspomnieliśmy, technika skalowania pozwala programowi Store Manager na rozprzestrzenianie się. W przypadku obsługi małego sklepu, moduły sklep i magazyn pracują na jednym komputerze. Jeżeli zaś mamy do czynienia z dużym sklepem, każdy program sklep działający na stanowisku sprzedażnym, pracuje z rozproszoną bazą danych, która jest dostępna dla jednego lub wielu programów magazynowych. Dzięki tej technologii, program Store Manager doskonale nadaje się do obsługi dużych sklepów za pomocą PC, można więc zrezygnować z zastosowania, dawniej koniecznych, minikomputerów np. AS400. Ponieważ można wykorzystać komputery PC, program Store Manager wzbudza duże zainteresowanie, szczególnie w Stanach Zjednoczonych i Japonii. Obecnie trwają prace wdrożeniowe nad zastosowaniem programu w instalacjach pilotujących właśnie w tych dwóch krajach.

Dodatkowo program Store Manager pracuje z programami księgowymi - Small Business Manager i Business Manager z serii Manager. Program Small Business Manager zawiera małą księgę podatkową, natomiast Business Manager to pełny program księgowy. Oba programy pozwalają na niezmiernie łatwe prowadzenie księgowości i mogą być wykorzystywane do obsługi nie tylko placówek handlowych, ale także każdego rodzaju firm.

Analiza finansowa firmy - Statistical Manager

Do opracowania danych statystycznych o firmie służy kolejny program z serii Manager - Statistical Manager. Pozwala on na analizę finansową firmy. Podaje ważne statystyki dotyczące sprzedaży, przepływu pieniędzy, kontrahentów i dostawców. System ten może być nazwany systemem do popierania decyzji. Jest on nieodzowny do właściwego prowadzenia przedsiębiorstwa. Podobnie jak system księgowy, Statistical Manager jest całkowicie zintegrowany z resztą serii i działa opierając się na rozproszonych bazach danych.

Jak wykorzystując serię Manager można efektywnie prowadzić firmę? Rozpatrzmy to na przykładzie dużego supermarketu.

Zakładamy, że jest to duży sklep sprzedający ok. 40 tys. różnych produktów. Zakładamy również, że panuje w nim spory ruch, zatem sklep wymaga ok. 15 stanowisk kasowych. Przy obowiązujących obecnie przepisach, taki supermarket musi korzystać z fiskalnych systemów kasowych(rys. przedstawia plan sklepu).

Powierzchnię supermarketu podzielono na trzy części: obszar sprzedaży, magazyn, miejsce zarządzania.

W obszarze sprzedaży, przed głównym wyjściem ustawiono stanowiska kasowe. Na ogół stosuje się komputerowe kasy fiskalne. Można jednak wykorzystać także kasy niekomputerowe z wewnętrzną pamięcią. Jeżeli stosuje się kasy komputerowe, wówczas cały system połączony jest siecią Ethernet. Kasy służą do ciągłej sprzedaży i mogą, ale nie muszą, współpracować z systemem kodów paskowych. W części magazynowej do tej samej sieci podłączone są zwykłe komputery PC, służące do przyjmowania towarów i prowadzenia gospodarki magazynowej. W obszarze kierownictwa są co najmniej dwa komputery. Jeden służy do prowadzenia księgowości, a drugi wykorzystywany jest przez kierownictwo do podejmowania decyzji.

Komputery wykonujące różne czynności realizują różne programy. I tak, kasy komputerowe wykonują moduł sklep z pakietu Store Manager. Komputery w magazynie - moduł magazyn. Komputer w księgowości realizuje program Business Manager, a komputer w kierownictwie - Statistical Manager.

Wszyscy użytkownicy sieci mają dostęp do tej samej rozproszonej bazy danych. Proszę zauważyć, że dzięki technologii programowania rozproszonego udało nam się wyeliminować konieczność istnienia jednostki centralnej lub dedykowanego serwera. W ten sposób znacznie obniżyliśmy koszty i, w sposób widoczny, zmniejszyliśmy natężenia ruchu w sieci.

Powyższy przykład jasno dowodzi, że wysoka technologia programowania równoległego jest bardzo pomocna przy produkcji stosunkowo prostych systemów. Nie tylko obniża ich koszt, ale też znacznie poprawia jakość. Firma przywiązuje dużą wagę do jakości wytwarzanych produktów, dlatego też przy ich produkcji stosujemy Insight - program do automatycznego wykrywania błędów. Podnosi to niezmiernie jakość produktów i zapobiega niespodziewanym zawieszeniom programów. Bardzo ważne dla poprawy jakości produktów są stosowane automatyczne sposoby testowania... Ale to już temat na kolejny artykuł.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200