TANGO | |
---|---|
Sorts | gratis och öppen källkod |
Utvecklaren | TANGO-konsortiet |
Operativ system | plattformsoberoende |
Första upplagan | 19 april 2001 |
senaste versionen |
|
Licens | GNU LGPL och GNU GPL |
Hemsida | tango-controls.org |
TANGO (från engelska TAco Next Generation Objects ) är ett gratis objektorienterat system designat för att styra acceleratorer , experimentella anläggningar, såväl som olika hård- och mjukvara. TANGO-systemet är aktivt utvecklat av gemenskapen av (främst) synkrotronoperatörer
TANGO är ett distribuerat styrsystem. Den kan köras på en eller hundratals maskiner. TANGO använder den omniorb implementeringen av CORBA som sitt nätverksprotokoll. Den huvudsakliga interaktionsmodellen är klient-server-modellen. Kommunikation mellan klienter och servrar kan vara synkron, asynkron eller händelsestyrd.
TANGO bygger på principerna om objekt- och tjänsteorientering. TANGO-objektmodellen stöder metoder, attribut och egenskaper. I TANGO är alla objekt enhetsrepresentationer.
TANGO innehåller en databas som lagrar alla enheter som är registrerade i systemet, en snabb applikationsutvecklingsmiljö och ett stort antal hjälpverktyg.
JIVE är en oberoende Java -applikation designad för att visa och redigera TANGO-databasen. JIVE är skrivet i Swing och kräver en Java Virtual Machine större än 1.8.0 för att köras.
POGOPOGO är en kodgenerator för TANGO-enhetsservrar.
Astor är en mjukvaruhanterare för TANGO-systemet. Astor kan:
TANGO-systemet innehåller också ett inbyggt arkiveringssystem som använder antingen MySQL eller Oracle . Arkiveringssystemet låter dig spara den data du behöver från enheter.
TANGO används främst för att ge tillgång till utrustning över ett lokalt nätverk. I detta fall kan utbudet av utrustning variera från de enklaste I/O-registren som skickar enskilda bytes till de mest komplexa detektorsystemen eller till och med hela anläggningsstyrsystem. Åtkomst till hårdvaran programmeras i processer som kallas Device Server . Enhetsservern implementerar klasser som ger åtkomst till hårdvaran. Under drift skapar enhetsservern enhetsinstanser som representerar de logiska enheterna för hårdvarukomponenterna. Klienten interagerar med enheter med hjälp av TANGO-protokollet.
TANGO distribueras huvudsakligen under två licenser. Biblioteken är licensierade under GNU Lesser General Public License (LGPL). Utvecklingsverktygen och enhetsservrarna är licensierade (om inget annat anges) under GNU General Public License (GPL). Vissa bibliotek/komponenter distribueras också under MIT- eller Apache 2.0 -licenser.
Konsortiet är en grupp institutioner som aktivt utvecklar TANGO. För att gå med i konsortiet måste ett institut underteckna ett Memorandum och aktivt delta i utvecklingen av TANGO. Konsortiet består för närvarande av följande institut:
Syftet med konsortiet är att garantera utvecklingen av TANGO.
TANGO-systemet används [2] :