Systemy wspomagające procesy projektowania

Transkrypt

Systemy wspomagające procesy projektowania
Piotr Kalinowski
Seminarium z historii komputerów:
Systemy wspomagania procesów projektowania
Proces projektowania
Systemy mogą być bardzo złożonymi strukturami. Równie złożony jest proces ich
projektowania, przez który tutaj rozumieć będę cały ciąg czynności mających na celu
określenie jak zbudowany ma być system. Składa się on oczywiście z różnych etapów:
• modelowanie, w szczególności tworzenie modeli matematycznych;
• symulacja, mająca na celu zebranie dodatkowych informacji o zachowaniu systemu;
• identyfikacja różnych parametrów obiektów wchodzących w skład systemu;
• analiza i optymalizacja.
Komputery można zastosować na każdym z tych etapów. Najwcześniej były one
wykorzystywane do tworzenia modeli matematycznych. Podczas tej czynności nieraz
napotyka się równania, których nie potrafimy rozwiązać matematycznie i wówczas trzeba
korzystać z metod numerycznych. Tutaj pojawia się komputer, jako programowalny
kalkulator automatyzujący obliczenia. Dzięki niemu można przeprowadzić je znacznie
szybciej oraz bardziej precyzyjnie, z mniejszą ilością błędów. Za przykład niech posłuży
sam ENIAC, który przecież stworzono, aby obliczał tablice balistyczne dla wojska. Owe
tablice są niczym innym, jak właśnie modelem matematycznym dział.
Później, wraz z rozwojem techniki komputerowej, możliwe stało się zastosowanie
komputerów do symulacji. Obiekty wchodzące w skład systemu można symulować za
pomocą innych elementów. Dzięki temu można badać ich zachowanie bez faktycznego
dostępu do tychże. Najpierw dokonywano symulacji za pomocą układów elektronicznych,
które modelowały zależności pomiędzy wyjściem a wejściem obiektu. Sporządzenie
odpowiedniego układu było już w miarę proste i być może tanie w porównaniu z
wykorzystaniem właściwego obiektu. Symulacja stała się jeszcze bardziej opłacalna, gdy
zaczęto jej dokonywać poprzez odpowiedni algorytm realizowany komputerowo. Teraz
jedyny koszt to stworzenie odpowiedniego algorytmu, który na dodatek jest bardziej
elastyczny. Łatwiej zmieniać różne jego parametry, dzięki czemu można go bez problemy
stosować do modelowania różnych obiektów.
W przypadku identyfikacji komputery mogą zostać wykorzystane zarówno do
zbierania danych pomiarowych, jak i do ich analizy, tworzenia wykresów, bądź obliczania
parametrów obiektów.
Projektowanie w sensie potocznym
Potocznie projektowanie jest głównie utożsamiane z rysowaniem różnego typu
schematów – czy to będą rysunki jakiegoś budynku w przypadku architektury, czy też
schematy układów elektronicznych bądź urządzeń mechanicznych. Jest to także bardzo
ważny element, w którym jednocześnie można wykorzystać precyzję komputera oraz
możliwości wiążące się z elektronicznym przetwarzaniem danych. Na historii tych
zastosowań właśnie skupię się w tej pracy.
Możliwości współczesnych systemów
• Wielokrotne używanie gotowych komponentów, dzięki czemu pewnych podstawowych
elementów nie trzeba za każdym razem projektować od nowa. Przykładem mogą być
różnego typu układu elektroniczne, ale także na przykład okno programu komputerowego
– aplikacje działające w trybie graficznym mogą korzystać z biblioteki gotowych
komponentów, dzięki czemu wytwórcy oprogramowania nie muszą już tworzyć
•
•
•
•
•
•
poszczególnych kontrolek. Zamiast tego mogą zająć się określaniem interakcji pomiędzy
nimi.
Automatyzacja tworzenia pewnych prostych elementów oraz ich dostosowywania do
konkretnego projektu.
Weryfikacja zgodności ze specyfikacją. Oprogramowanie może na bieżąco sprawdzać
tworzony projekt pod kątem zgodności ze specyfikacją dostarczoną przez klienta, a także
zestawem reguł wykorzystywanych w procesie projektowania wewnątrz danej firmy.
Oszczędza to czas i pieniądze.
Symulacja prototypu, bez konieczności faktycznej jego budowy. Pozwala to szybko i
tanio analizować dziesiątki projektów w celu wybrania tego najlepiej spełniającego
założenia.
Automatyczne generowanie dokumentacji, która może być przekazana do archiwum,
klientowi, bądź innym działom firmy, choć w dzisiejszych czasach coraz częściej
wewnątrz firmy wykorzystywana jest dokumentacja w postaci elektronicznej. Można
więc przesłać bezpośrednio pliki projektu do odpowiedniego działu, który zajmie się na
przykład analizą kosztów.
Analiza metodą FEM (Finite Elements Method), gdzie geometryczny model obiektu
podzielony na mnóstwo małych fragmentów jest używany do przybliżenia jego
zachowania i wyliczenia odpowiednich parametrów bądź zbadania zgodności z
założeniami projektowymi. Dzięki komputerom można to wykonywać szybko i
precyzyjnie.
Automatyczne budowanie prototypów, gdzie system CAD podłączony jest bezpośrednio
do systemu CAM (Computer Aided Manufacturing), który z kolei na przykład za pomocą
technik stereolitografii potrafi konstruować fizyczny model obiektu, bądź nawet sam
obiekt. Badania laboratoryjne wskazują, że do budowy można wykorzystać metale
przewodzące co pozwoli na całkowite zautomatyzowanie na przykład budowy telefonów
komórkowych.
Ograniczenia systemów CAD
Systemy wspomagania procesów projektowania zawsze borykały się z pewnymi
problemami, które można podzielić głównie na ograniczenia sprzętowe i programowe. Do
ograniczeń sprzętowych należą możliwości obliczeniowe komputerów, które nie zawsze
pozwalały na płynną pracę z obiektami trójwymiarowymi, ale także problem urządzeń
wskazujących oraz służących do prezentacji danych. Nie zawsze umożliwiały precyzyjną i
interaktywną pracę z komputerem.
O ograniczeniach programowych niech świadczy fakt, że w roku 1974, 6 z 10
największych systemów CAD większość kodu poświęcało na ominięcie ograniczeń
systemów operacyjnych. W dzisiejszych czasach jest to już może mniej istotne, podobnie jak
ograniczenia sprzętowe.
Ograniczeniem, które zapewne długo jeszcze, jeśli w ogóle, nie uda się usunąć jest
znaczenie czynnika ludzkiego. Projektowanie jest i będzie złożonym procesem decyzyjnym,
który wykorzystuje nie tylko ludzką intuicję, ale także kreatywność – zdolność do twórczego
myślenia i rozwiązywania problemów. Czy komputery będą kiedykolwiek w stanie
samodzielnie myśleć?
Numerical Control
Termin ten określa proces sterowania maszynami przemysłowymi za pomocą zestawu
liczb wraz z pewnymi poleceniami. Prowadzono badania na ten temat w MIT na przełomie
lat 40. i 50. Później do wysyłania poleceń do tychże maszyn zaprzęgnięto komputery. Była
to swego rodzaju rewolucja przemysłu produkcyjnego. Dzięki takiemu podejściu stało się
łatwe cięcie różnego rodzaju krzywych, oprócz prostych, z którymi bez problemu poradzić
sobie mógł człowiek.. Teraz można było łatwo i precyzyjnie tworzyć nawet bardziej złożone
obiekty trójwymiarowe. Zwiększało to także elastyczność produkcji. Maszyny te można
podłączać bezpośrednio do systemów typu CAD, które sterują nimi bez żadnych etapów
pośrednich.
Graficzny interfejs użytkownika – rys historyczny
Aby efektywnie wspomagać proces decyzyjny, komputer musi działać interaktywnie i
komunikować się z użytkownikiem w sposób wygodny, aby ten nie tracił większości czasu
na przygotowanie danych dla komputera. Po to powstały graficzne interfejsy użytkownika –
aby umożliwić wygodną i efektywną pracę z komputerem. Pierwszym prawdziwym
interfejsem, choć jeszcze nie graficznym, był NLS – oNLine System, stworzony w latach 60.
w Stanford Research Institute przez Douglasa Engelbarta. Prezentował on już dane
korzystając z wielu okien oraz umożliwiał interakcję poprzez wynalezioną na tę okoliczność
mysz komputerową. Tutaj także pokazały się łącza hipertekstowe.
Grafika została dodana w Xerox Palo Alto Research Center (PARC), gdzie powstał
paradygmat WIMP – Windows, Icons, Mouse, Pointer. Jest on wykorzystywany
powszechnie w dzisiejszym oprogramowaniu – oparta na nim jest większość interfejsów
użytkownika stosująca kontrolki – przyciski, menu, ikony. Pomysł został wykorzystany
pierwszy raz w 1973 przy tworzeniu eksperymentalnego komputera Xerox Alto. Był to
jedynie projekt badawczy posiadający 128 kB pamięci operacyjnej rozszerzalne do 512 kB i
ważny krok na drodze do współczesnych komputerów PC. Wiele pomysłów zostało
przeniesionych z niego na komputera Xerox 8010 – Star. Tego ostatniego jednak nie uważa
się za sukces komercyjny – sprzedano jedynie 25 tys. sztuk. Pierwszym komercyjnym
sukcesem GUI był komputer Macintosh z roku 1984. Wykorzystano w nim także „metaforę
biurkową” - dane były zorganizowane w pliki, te zaś w foldery. Komputery firmy Apple do
dziś są sprzedawane na całym świecie i mają grono wiernych użytkowników.
W 1985 roku powstało DESQView – nakładka na system DOS pozwalająca
uruchamiać wiele programów jednocześnie. Korzystała z nakładających się okien, ale
wyłącznie w trybie tekstowym. W tymże roku ogłoszona zostaje wersja 1.0 systemu
Microsoft Windows, choć ten system odniósł prawdziwy sukces dopiero po wydaniu wersji
3.0 w 1990, która zresztą zapożyczyła wiele z Workplace Shell z systemu OS/2 2.0. Jakie
były dalsze losy systemu Windows, każdy widzi.
Na wzmiankę zasługuje również X Window System – otwarty projekt serwera
graficznego dla systemów typu Unix®.
Urządzenia wskazujące
Z systemami typu CAD nieodłącznie związana była kwestia odpowiednich urządzeń
wejściowych. Odpowiednich oznacza precyzyjnych i wygodnych do pracy z grafiką. W roku
1957 powstało pióro świetlne, wykorzystane w komputerze Lincoln TX-0. Pracowało ono z
monitorami kineskopowymi i było bodaj pierwszym urządzeniem wskazującym
pozwalającym na wygodną pracę z grafiką. Później jednak zmieniono działanie monitorów i
powstała mysz komputerowa.
Mysz opracował Douglas Engelbart w latach 60. podczas pracy nad systemem NLS.
Mierzyła przesunięcie na osiach za pomocą dwóch prostopadłych względem siebie kółek
toczących się po nawierzchni. W roku 1970 Bill English wprowadził kulkę. Teraz to ona
dotykała powierzchni, po której przesuwana była mysz, a jej obroty były mierzone przez
dwie przylegające do niej rolki. Ta zasada jest wykorzystywana w myszach mechanicznych
do dzisiaj.
Początki systemów typu CAD
Pierwszym systemem graficznym był stworzony w latach 50. na użytek sił
powietrznych Stanów Zjednoczonych SAGE (Semi Automatic Ground Environment).
Analizował on dane radarowe, które potem wyświetlał na kilku monitorach kineskopowych.
W roku 1957 powstał natomiast PRONTO – język programowania Numerical Control.
Swoistym przełomem w systemach CAD była praca doktorska Ivana Sutherlanda z
MIT – Sketchpad. Ten system działający na komputerze Lincoln TX-2, który musiał być do
tego celu specjalnie przygotowany, aby mógł działać interaktywnie, wprowadzał wiele
innowacji. Zawierał pierwszy graficzny, interaktywny interfejs użytkownika,
wykorzystujący pióro świetlne. Umożliwiał także precyzyjne określanie wybranych
właściwości obiektów graficznych, takich jak długość linii, czy kąt pomiędzy dwoma
liniami. Teraz już nie trzeba było polegać na precyzji rysownika podczas tworzenia szkicu.
Można było wykorzystać precyzję komputera. Ponadto istotny jest fakt, że Sketchpad
wykorzystywał do przedstawiania obiektów geometrycznych idee obiektów i instancji. Był
na przykład główny rysunek i jego duplikaty takie, że zawierały wszystkie zmiany
wprowadzone do głównego rysunku. To były początki programowania zorientowanego
obiektowo.
Nieco później ITEK tworzy The Electronic Drafting Machine wykorzystujący
procesor PDP - 1, a w roku 1964 firma MAGI wypuszcza pierwszy komercyjny program do
modelowania obiektów – Synthia Vision. W tym czasie używane były proste algorytmy do
wyświetlania zbiorów linii na płaszczyźnie, które miały oddawać trójwymiarowość
obiektów. Dopiero później opracowano bardziej zaawansowane algorytmy i w ogóle
powstała idea modelowania trójwymiarowego z użyciem komputera. Idee te zrodziły się na
uniwersytecie w Cambridge, gdzie od roku 1965 prowadzono badania nad systemami CAD
za sprawą Donalda Welbourn. Tam też powstał DUCT, który miał to realizować i został
zakupiony między innymi przez Volkswagena i Daimler-Benz. Cechą wyróżniającą go
spośród innych systemów była także znakomita dokumentacja napisana przez Welbourna,
dzięki której łatwo można było rozpocząć pracę z tym systemem. Prace nad nim ukończono
w 1974 roku.
W roku 1971 powstała firma MCS, w której pracował dr Hanratty nieraz określany
jako ojciec systemów CAD. Firma ta ma być, według analityków, twórcą 70% kodu
odpowiedzialnego za mechaniką obiektów i obecnego w dzisiejszych systemach. W roku
1972 natomiast po raz pierwszy zaprezentowano system CAD/CAM. Wykonał on bryłę
przypominającą kształtem dzbanek. Rok później zostaje ogłoszony AutoDraft – pierwszy
system graficzny gotowy od razu do użytku.
W latach 70. system typu CAD to był minikomputer, sporych jak na obecne czasy
rozmiarów. Miał do 512 kB pamięci operacyjnej i 300 MB przestrzeni dyskowej oraz
kosztował 125 000 USD. Dopiero w roku 1982 powstał AutoCAD – pierwszy program tego
typu na komputery klasy PC. Jego twórcy chcieli napisać program, który kosztowałby
poniżej 1000$ i nie wymagał niezwykle kosztownego sprzętu. Udało im się. W roku 1987
ich program w toku dalszego rozwoju zostanie wzbogacony o bardzo zaawansowane
elementy interfejsu użytkownika, jak np. rozwijane menu, a w roku 1992 wyjdzie w wersji
dla systemu DOS. Teraz do wykonywania rysunków technicznych nie będą już potrzebne
ogromne i kosztowne stacje robocze.
Podsumowanie
W ciągu ostatniego półwiecza nastąpił ogromny rozwój systemów typu CAD,
wspomagających człowieka w pracach projektowych. Ich możliwości są obecnie bardzo
duże, jednak kluczowym elementem każdego takiego systemu jest, i jeszcze długo
pozostanie, człowiek – jego wyobraźnia oraz kreatywność.
Rozwój tych systemów wymagał diametralnej zmiany w sposobie pracy z
komputerem, co z kolei wiązało się z rozwojem zarówno sprzętu jak i myśli ludzkiej. Coraz
potężniejsze komputery umożliwiały coraz wygodniejszą i bardziej wydajną pracę, w tym
także z modelami trójwymiarowymi. Rozwój robotyki umożliwił sprzęgnięcie systemów
wspomagających projektowanie bezpośrednio z systemami produkcji. Rozwój urządzeń
wskazujących i terminali do prezentacji danych był także niezbędny, aby możliwa była
precyzyjna i wygodna praca – aby komputer mógł faktycznie zastąpić deskę kreślarską.
Prawdopodobnie najbardziej przełomowa, i to nie tylko dla takich systemów, była
zmiana sposobu pracy z komputerem z wsadowego na interaktywny. Wymagało to
zwiększenia możliwości obliczeniowych, aby mogły na bieżąco reagować, oraz rozwinięcia
(ponownie!) odpowiednich urządzeń wejściowych. Ale istotne też było wprowadzenie idei
obiektów do programowania oraz przede wszystkim stworzenie odpowiedniego środowiska
pracy na poziomie oprogramowania – mowa tu oczywiście o graficznych interfejsach
użytkownika i „metaforze biurkowej”, które czynią komputer bliższy użytkownikowi i
umożliwiają tym samym bardziej efektywne wykorzystanie jego możliwości. W efekcie
powstały komputery przyjazne dla człowieka – takie, jakimi obserwujemy je dzisiaj.
Bibliografia
1. CAD Systems. Proceedings of the IFIP Working Conference on Computer-Aided Design
Systems North-Holland Publishing Company, 1977
2. http://en.wikipedia.org, hasła CAD, Numerical Control, Computer Numerical Control
Sketchpad, GUI History
3. http://mbinfo.mbdesign.net/CAD-History.htm autorstwa Mariana Bozdoca

Podobne dokumenty