• No results found

GE-Twitter: Kostnadseffektiv processtyrning via Twitter

N/A
N/A
Protected

Academic year: 2022

Share "GE-Twitter: Kostnadseffektiv processtyrning via Twitter"

Copied!
32
0
0

Loading.... (view fulltext now)

Full text

(1)

Sj ¨alvst ¨andigt arbete i informationsteknologi 10 juni 2017

GE-Twitter

Kostnadseffektiv processtyrning via Twitter

Daniel Ghandahari Arman Vatandoust Johan Windahl

Civilingenj ¨orsprogrammet i informationsteknologi

(2)

Institutionen f ¨or informationsteknologi

Bes ¨oksadress:

ITC, Polacksbacken L ¨agerhyddsv ¨agen 2

Postadress:

Box 337 751 05 Uppsala

Hemsida:

http:/www.it.uu.se

Abstract

GE-Twitter

Kostnadseffektiv processtyrning via Twitter Daniel Ghandahari

Arman Vatandoust Johan Windahl

The project enables process control of healthcare equipment through the social network service Twitter. Machine operators should be able to con- trol machines through their computer, tablet or mobile device, without physically having to be in contact with the machine. The project so- lution has been designed by programming against Twitter’s application programming interface, that is, utilizing the functionality that Twitter offers. The reason is to use functionality that already exists and circum- vent the maintenance of an application. The project has consolidated Twitter functionality with GE Healthcare’s internal software system into a unique solution that enables remote control.

Extern handledare: Key Hyckenberg Handledare: Tina Vrieler och Bj¨orn Victor Examinator: Bj¨orn Victor

(3)

Sammanfattning

Projektet m¨ojligg¨or processtyrning av maskiner inom h¨also- och sjukv˚arden via den sociala n¨atverkstj¨ansten Twitter. Maskinoperat¨orer ska kunna styra maskiner via deras dator, surfplatta eller mobila enhet, utan att n¨arvara vid maskinen. Projektets l¨osning har konstruerats genom att programmera mot Twitters applikationsprogrammerings- gr¨anssnitt, det vill s¨aga ta del av funktionalitet som Twitter erbjuder. Anledningen ¨ar att anv¨anda funktionalitet som redan existerar samt kringg˚a underh˚allandet av en appli- kation. Projektet har sammansvetsat Twitter-funktionalitet med GE Healthcares interna mjukvarusystem till en unik l¨osning som m¨ojligg¨or processtyrning p˚a distans.

(4)

Inneh ˚all

1 Introduktion 1

2 Bakgrund 1

2.1 Kromatografi . . . 2

2.2 Uppdragsgivare . . . 3

2.3 Twitter . . . 3

2.4 UpBot . . . 3

2.5 UNICORN . . . 3

3 Syfte, m˚al, och motivation 4 3.1 Syfte . . . 4

3.2 M˚al . . . 4

3.3 Motivation . . . 5

3.4 Avgr¨ansningar . . . 5

4 Relaterat arbete 6 5 Metod 7 6 Systemstruktur 7 7 Krav och utv¨arderingsmetoder 10 8 Implementation 10 8.1 Tweetinvi . . . 11

8.2 Moduler . . . 11

(5)

9 Utv¨arderingsresultat 12

10 Resultat 12

11 Diskussion 21

12 Slutsatser 21

13 Framtida arbete 22

13.1 En mer generell anv¨andning av GETwitter . . . 23

(6)

2 Bakgrund

1 Introduktion

Ar det m¨ojligt att styra maskiner inom h¨also- och sjukv˚arden p˚a distans, utan att ska-¨ pa en egen applikation? Med hj¨alp av Twitter-funktionalitet har vi implementerat en styrningsmodul i form av en Twitter-bot.

Projektet ¨ar en vidareutveckling av ett befintligt system, UpBot[20]. UpBot ¨ar en l¨osning som anv¨ands till att via internet ¨overvaka maskiner i labbmilj¨o. Det fungerar utan in- stallation av en tredjepartsapplikation utan anv¨ander applikationen Twitter[30] f¨or all kommunikation. Twitter ¨ar en social n¨atverkstj¨anst. F¨ordelen ¨ar att popul¨ara sociala n¨atverkstj¨anster har bra anv¨andarv¨anlighet, solid s¨akerhet och uppdateras kontinuerligt- [35][27]. En annan f¨ordel ¨ar att slippa spendera tid och pengar p˚a att beh¨ova underh˚alla en egenutvecklad applikation[9]. Dessutom ¨ar de flesta sociala n¨atverkstj¨ansterna gratis att anv¨anda vilket g¨or projektets l¨osning kostnadseffektivt.

UpBots ¨overvakning sker genom att aktivt lyssna p˚a maskiner. Om en maskin byter till tillst˚and, exempelvis stoppas, ska information om tillst˚andsbytet laddas upp p˚a Twitter.

Genom att kunna lyssna p˚a maskiner och sedan publicera information, har UpBot allts˚a implementerat env¨agskommunikation mellan maskiner och Twitter.

Vi har tagit steget l¨angre och implementerat en tv˚av¨agskommunikationsl¨osning i pro- jektet GETwitter. L¨osningen m¨ojligg¨or att kommandon kan skickas till maskiner. Kom- mandona omvandlas till specifika h¨andelser som utf¨ors av maskinerna. Man kan allts˚a kommunicera och styra maskiner via en dator, surfplatta eller mobil enhet.

2 Bakgrund

Vi har samarbetat med GE Healthcare[7]. GE, f¨orkortat General Electrics, ¨ar ett multi- nationellt konglomerat som ¨ar v¨arldsledande inom diverse omr˚aden. F¨oretaget arbetar med olika segment som f¨ornybar energi, teknologi inom elproduktion, olja och gas, flygsystem, transport och h¨alsov˚ard[8]. ˚Ar 1892 sammanslogs Edison General Electric och Thomson-Houston Electric Company till General Electrics, varav pionj¨aren Tho- mas Alva Edison var inblandad[7].

I Sverige, Uppsala, arbetar GE med h¨alsov˚ardssegmentet i dotterbolaget GE Healthcare.

I Uppsala arbetar man inom proteinrening. Ur en n¨atupplaga fr˚an Nationalencyklopedin som skrevs den 29/5-2014, beskrivs proteinrening enligt f¨oljande:

“Proteinrening inneb¨ar att isolera vissa proteiner ur en organism. N¨ar en cell har brustit finns det en m¨angd olika proteiner fria i blandningen. Det finns m˚anga likartade protei-

(7)

2 Bakgrund

ner i en blandning, det komplicerade ¨ar att isolera de fr˚an varandra, den processen kallas proteinrening.”

Hos GE Healthcare anv¨ander maskiner inom proteinrening en teknik som heter kromato- grafi[34]. Det finns olika former av kromatografi som kan utf¨oras[18] (se avsnitt 2.1).

Att ¨overvaka och styra dessa kromatografimaskiner har tidigare skett n¨arvarande p˚a plats. Dock har en Uppsala-grupp arbetat med att utf¨ora projektet UpBot[20] (se avsnitt 2.4). Projektet l¨oste problemet att ¨overvaka kromatografimaskinerna. L¨anken mellan UpBot och GE Healthcare var uppdragsgivaren Key Hyckenberg, anst¨alld p˚a GE Healt- hcare (se avsnitt 2.2).

M˚alet med projektet UpBot var att maskinoperat¨orer ska kunna f˚a information om en maskinell process i sin tr˚adl¨osa enhet, s˚asom en dator, smartphone eller en surf- platta. UpBot satte upp env¨agskommunikationen mellan kromatografimaskinerna som anv¨ander en egenproducerad mjukvara som heter UNICORN[32] och den sociala n¨atverks- tj¨ansten Twitter.

• UNICORN agerar som ett grafiskt gr¨anssnitt mot kromatografimaskiner som till- verkas av GE Healthcare, f¨or att planera, kontrollera och analysera proteinrening.

(mer utf¨orlig beskrivning, se avsnitt 2.5)

• Twitter ¨ar en privat blogg i mikroformat, en social n¨atverkstj¨anst d¨ar anv¨andaren kan publicera korta meddelanden p˚a h¨ogst 140 tecken. (mer utf¨orlig beskrivning, se avsnitt 2.3)

Projektet UpBot har skapat m¨ojligheten att ¨overvaka en maskins tillst˚and. N¨ar en maskin byter tillst˚and, h¨amtas information fr˚an UNICORN och skickas vidare till Twitter. P˚a Twitter publiceras informationen i form av text och/eller graf som beskriver maskinens arbetsprocess. Informationen publiceras som en tweet p˚a maskinens Twitter-konto. Ma- skinoperat¨orer kan allts˚a informeras om status¨andringar i maskinens tillst˚and fr˚an olika maskiner via deras tr˚adl¨osa enhet. Det kan exempelvis vara en status¨andring om att en maskin har stoppats, pausat eller fortsatts k¨ora.

2.1 Kromatografi

Kromatografi utg¨or olika metoder f¨or analys av protein som kolonnkromatografi, tunn- skiktskromatografi, gaskromatagrafi och v¨atskekromatografi[18]. Mer specifikt separe- rar kromatografimaskinen olika kemiska komponenter till och fr˚an proteinet som ¨ar under analys. Gemensamt f¨or de olika metoderna ¨ar att ¨amnen i olika faser interagerar med varandra, men ska inte uppl¨osas.[34].

(8)

2 Bakgrund

2.2 Uppdragsgivare

Key Hyckenberg arbetar p˚a GE Healthcare - Life Sciences med titeln Staff Software Engineerp˚a Uppsala-kontoret. GE Life Sciences ¨ar ett dotterbolag till GE Healthcare som arbetar med l¨osningar och produkter inom labbmilj¨o s˚asom forskning, utveckling och produktion.

2.3 Twitter

Twitter ¨ar en social n¨atverkstj¨anst d¨ar anv¨andaren kan publicera korta meddelanden p˚a h¨ogst 140 tecken. Dessa meddelanden kallas f¨or “tweets”. Anv¨andaren kan ¨aven pre- numerera p˚a andra anv¨andare och d˚a v¨axla meddelanden v¨arlden ¨over. En prenumerant kan ibland ocks˚a kallas f¨or f¨oljare. Det som g¨or Twitter till en kraftfull n¨atverkstj¨anst

¨ar att anv¨andaren kan kommunicera med vem som helst och ¨overallt i v¨arlden. Twitter

¨ar ocks˚a anv¨andbart d˚a det m¨ojligg¨or f¨or f¨oretagen att kunna exempelvis kommunice- ra med kunderna och h˚alla de uppdaterade om nyttig information som ber¨or kunderna.

Twitter har ocks˚a anv¨ant som verktyg f¨or sociala medier f¨or exempelvis privatpersoner, politiker, journalister och aktivister som kommunicerar med omv¨arlden i exempelvis krigsdrabbade eller konfliktdrabbade l¨ander.

2.4 UpBot

UpBot ¨ar ett tidigare projekt som uppn˚att env¨agskommunikation mellan GE Healthcares kromatografimaskiner och Twitter. Det utf¨ordes av tre studenter p˚a Uppsala Universitet.

Projektet var en del av kursen Sj¨alvst¨andigt arbete i informationsteknologi som utf¨ors det tredje ˚aret av Civilingenj¨or IT-utbildningen.[20]

2.5 UNICORN

UNICORN ¨ar en programvara som har utvecklats av GE Healthcare som anv¨ands till att planera, kontrollera och analysera proteinrening. Det ¨ar ett flexibelt program med ett simpelt och intuitivt grafiskt gr¨anssnitt. UNICORN ¨ar en klienttj¨anst ur det perspektivet att flera klienter kan vara uppkopplade mot samma instrumentserver och ¨overvaka sam- ma maskin. Programmet anv¨ands inom utvecklingsprocess, framst¨allning eller forsk- ning inom proteinrening. Mjukvaran anv¨ands av forskare f¨or akademiskt syfte och inom industrin. Programvaran har utvecklats i ¨over 20 ˚ar. UNICORN ¨ar baserat p˚a en integre- rad kontroller och mjukvaran har fyra moduler, vilka ¨ar:

(9)

3 Syfte, m˚al, och motivation

Method Editor: En modul som f¨orser anv¨andaren med ett simpelt gr¨anssnitt f¨or att skapa eller redigera existerande funktioner/metoder.

System Control: En modul som l˚ater anv¨andaren utf¨ora och ¨overvaka en k¨orning i realtid.

Evaluation: En modul som hj¨alper anv¨andaren att analysera och utv¨ardera olika rap- porter.

Administration: En modul som anv¨ands bland annat f¨or att s¨atta upp anv¨andar˚atkomst, visa och granska loggar och hantera en inbyggd SQL Server databas[13][32] [12].

3 Syfte, m ˚al, och motivation

3.1 Syfte

Syftet med projektet ¨ar att underl¨atta och effektivisera GE Healthcares processtyrning av kromatografimaskiner genom att vidareutveckla den interna mjukvaran och p˚a s˚a s¨att m¨ojligg¨ora att maskinerna kan styras p˚a distans. Kommunikationen uppn˚as med hj¨alp av den sociala n¨atverkstj¨ansten Twitter.

3.2 M ˚al

M˚alet med projektet ¨ar att utveckla ett befintligt till¨agg till UNICORN som ska kunna hantera tv˚av¨agskommunikation. Implementationen ska uppfylla ett antal kriterier. F¨or projektet ska tv˚av¨agskommunikationen integreras med funktionaliteten fr˚an f¨oreg˚aende projektet UpBot (se avsnitt 2.4). N¨ar projektet avslutats, ska k¨allkoden vara v¨al-doku- menterad s˚a att det blir l¨att att f¨orst˚a f¨or potentiellt framtida arbete.

F¨or varje maskin inom kromatografi som ska anv¨anda projektets processtyrning kr¨avs det att ett Twitter-konto skapas. Det ska tydligt framg˚a f¨or en maskinoperat¨or hur ett s˚adant konto skapas och hur kontot ska konfigureras korrekt. Genom en anv¨andarv¨anlig wiki-sida st˚ar steg-f¨or-steg om hur kontot ska s¨attas upp. N¨ar kontot konfigurerats, ska den fungera som en robot som tar emot kommandon fr˚an maskinoperat¨orerna, besvarar dem med vad som utf¨ors och ¨aven st˚a f¨or utf¨orandet.

(10)

3 Syfte, m˚al, och motivation

3.3 Motivation

Projektet str¨avar efter att anv¨andare av GETwitter ska kunna styra olika funktioner p˚a GE Healthcare:s kromatografimaskiner via Twitter. I dagsl¨aget beh¨over beh¨origa ma- skinoperat¨orer st¨andigt n¨arvara vid maskinen f¨or att kunna styra maskinerna f¨or att kon- trollera att de fungerar som v¨antat. Det blir ineffektivt att beh¨ova transportera sig till arbetsplatsen f¨or att hantera styrningsprocessen. Genom att kunna styra maskinerna p˚a distans med hj¨alp av en smartphone eller surfplatta, kan f¨oretagen spara stora summor pengar genom att optimera tiden. L¨osningen f¨orhindrar ¨aven behovet av att underh˚alla exempelvis en app utan ist¨allet sk¨ota processtyrningen via Twitter. F¨oretagen kan d˚a investera tid och resurser p˚a viktigare uppgifter. I GE Healthcares fall kan de spende- ra tiden p˚a att till exempel forska fram nya mediciner eller utveckla deras befintliga produkter. Projektet hj¨alper dock bara inte GE Healthcare, utan ¨aven deras kunder som utnyttjar maskinerna. En annan f¨ordel ¨ar ocks˚a att GETwitters l¨osning kan implemente- ras i andra maskiner d¨ar behovet av processtyrning p˚a distans finns.

I Sverige ¨ar det cirka 450 000 personer som ¨ar drabbade av sjukdomen Diabetes[6]. In- sulin anv¨ands som l¨akemedel f¨or diabetiker och ¨ar ett av de vanligaste s¨atten att behandla sjukdomen[1]. Insulin g¨or att blodsockerhalten minskar[10]. D˚a insulinet injiceras in i kroppen ¨ar det extremt viktigt att medicinen uppn˚ar en h¨og renhetsgrad och d¨armed

¨ar avancerade reningsprocesser n¨odv¨andiga. Projektet effektiviserar processen f¨or pro- teinrening genom att en maskinoperat¨or alltid har kontroll ¨over maskinen, tr˚adl¨ost. P˚a detta s¨att, kan f¨oretagen reducera personalkostnader och ¨oppna upp m¨ojligheten f¨or bil- ligare medicin f¨or diabetiker.

I dagens industrisamh¨allen kan det uppst˚a omkostnader som f¨orhindrar att f¨oretagen n˚ar sin fulla potential. Projektet bidrar till att GE Healthcare och deras kunder kan n˚a deras m˚al om att utveckla innovationer som hj¨alper f¨oretagen att minska kostnader, f¨or ¨okad global tillg¨anglighet och f¨orb¨attrad kvalit´e.

3.4 Avgr ¨ansningar

F¨oreg˚aende projekt, UpBot, begr¨ansade sig till att programmera mot Twitters API och endast det API:et. Projektet integrerade inte fler API:er av diverse anledningar, som bland annat tidsbrist. Det kan anses vara f¨ordelaktigt att integrera fler API:er ur den syn- vinkeln att fler anv¨andare har tillg˚ang till funktionaliteten. Exempelvis, om Facebooks API [2] var integrerat, hade processtyrningen kunnat ske via Facebook-anv¨andare ocks˚a.

D˚a GETwitter ¨ar en vidareutveckling av UpBot har det inte varit ett alternativ att v¨alja ett annat API. GETwitters utveckling har d¨arf¨or ocks˚a skett mot Twitters API.

(11)

4 Relaterat arbete

Utvecklingsmilj¨on i projektet har inte varit ideal. Den har varit beroende av interna mjukvarusystem, logik fr˚an UpBot, interna API:er och ett versionshanteringssystem, d¨ar allt detta samspelar. Alla dessa delar var fr¨ammande fr˚an b¨orjan. Under projektets arbetsprocess tog det tid att kontrollera samspelet mellan de olika delarna. Konsekven- sen blev att om ett fel uppstod i k¨allkoden, var det inte alltid enkelt att fels¨oka och identifiera var felet uppst˚att. Arbetsfl¨odet effektivitet blev d¨arf¨or s¨amre ¨an v¨antat.

4 Relaterat arbete

Det finns idag ett flertal system som har likheter med GETwitter. I f¨oljande avsnitt pre- senteras n˚agra av dem. Nedan beskrivs de systemens f¨or- och nackdelar samt deras likheter med GETwitter.

Freshdesk ¨ar en molnbaserad webbsida som anv¨ands av f¨oretag f¨or en smidig sup- porthantering f¨or deras kunder. Tj¨ansten k¨ops av f¨oretagen. Med hj¨alp av Freshdesk hanterar de kund¨arenden. Tj¨ansten fungerar som en mellanhand. Den erbjuder kom- munikation mellan kund och f¨oretag, med en del finesser. Med hj¨alp av denna tj¨anst beh¨over f¨oretagen inte skapa en ny kundservicetj¨anst. Det leder till att de kan l¨agga st¨orre fokus p˚a sin egen verksamhet och v¨ardet som de sj¨alva skapar[21].

GETwitter skapar tv˚av¨agskommunikation mellan GE Healthcare och Twitter. Det in- neb¨ar att GE Healthcare undg˚ar att beh¨ova skapa och underh˚alla en egenutvecklad ap- plikation d˚a kommunikationen sker via Twitters API. Det Freshdesk och GETwitter har gemensamt ¨ar att de ¨ar externa komponenter som bidrar med tv˚av¨agskommunikation.

Siemens SIMATIC HMI Mobile Panel[19] ¨ar ett annat exempel p˚a en tv˚av¨agskomm- unikationsenhet. Det ¨ar en tr˚adl¨os elektronisk enhet som Marabou anv¨ander i produk- tionsmilj¨o. Marabou ¨ar ett svenskt varum¨arke som ¨ar en del av koncernen Mondel¯ez International, vilket ¨ar v¨arldens st¨orsta chokladproducerande f¨oretag[37]. Kommunika- tionsenheten anv¨ands f¨or att kunna styra maskinerna som producerar choklad effektivare genom att inte beh¨ova n¨arvara p˚a plats, vilket leder till att driftsansvariga blir mer flex- ibla i sitt dagliga arbete[37]. Den tr˚adl¨osa enheten ¨ar specifik f¨or en enskild maskin och dess funktionalitet kan d¨arf¨or inte appliceras p˚a andra maskiner. Dessa tr˚adl¨osa enheter

¨ar v¨aldigt dyra. Det hade varit mer l¨onsamt f¨or Marabou om de tr˚adl¨osa enheterna hade varit mer generiska och kunnat anv¨andas p˚a flera olika maskiner i deras produktion. Den tr˚adl¨osa enheten n˚ar den specifika maskinen inom ett begr¨ansat avst˚and, vilket betyder att maskinoperat¨orerna m˚aste vara relativt n¨ara maskinerna de vill styra.

Siemens tr˚adl¨osa panel som Marabou anv¨ander sig av i deras industri ¨ar ett praktiskt exempel p˚a processtyrning via tr˚adl¨os kommunikation. Det kan relateras till det h¨ar

(12)

6 Systemstruktur

projektet. Med GETwitters IT-l¨osning kr¨avs det inte en dyr tr˚adl¨os panel eller ingenj¨orer som kan underh˚alla apparaten. Anv¨andaren styr maskinen via sin smartphone. En annan stor skillnad mellan Siemens tr˚adl¨osa panel och den metod vi anv¨ander oss av ¨ar att maskinoperat¨oren kan kontrollera maskinen utan att beh¨ova vara n¨arvarande.

5 Metod

Visual Studio ¨ar programutvecklingsmilj¨on som anv¨ants och ¨ar en Microsoft-produkt[22].

Med hj¨alp av Visual Studio kan mjukvaruingenj¨orer utveckla applikationer f¨or exempel- vis Windows, Android, iOS, MacOS med flera. Visual Studio st¨odjer kompilatorer f¨or flertalet programmeringsspr˚ak som C#[33], C++[4], J#[15], och F#[14].

C# ¨ar programmeringsspr˚aket som anv¨ants. C# ¨ar ett objektorienterat programmerings- spr˚ak som ¨ar utvecklat av Microsoft. Spr˚aket ¨ar baserat p˚a C++ och det ¨ar ¨aven likt programmeringsspr˚aket Java[16] p˚a ett flertal omr˚aden.

Visual Studio i kombination med C# ¨ar den arbetsmilj¨on som tidigare anv¨ants av GE Healthcare vid mjukvaruutveckling. Denna kombination var inte ett val av oss, utan en anpassning efter GE Healthcares utvecklingsmilj¨o.

UNICORN och ¨Akta avant soft simulator ¨ar interna mjukvarusystem som kommit till anv¨andning. ¨Akta avant soft simulator har anv¨ands till att simulera GE Healthcares fysis- ka maskiner f¨or proteinrening, som sedan kommunicerar med Twitter. UNICORN[32]

har anv¨ants som ett grafiskt gr¨anssnitt d¨ar man kan observera maskinens tillst˚and, ex- empelvis om den ¨ar under k¨orning eller har stoppats.

6 Systemstruktur

Systemet best˚ar av en instrumentserver, databas, simulator, klienttj¨anst och kommuni- kation mellan interna mjukvaran (UNICORN och instrumentservern) och den externa mjukvaran (Twitters API) (se figur 1). Instrumentservern serverar funktionalitet f¨or en fysisk maskin inom proteinrening. Den ¨ar den mest centrala delen i systemet. Den lag- rar information i en SQL-databas, det vill s¨aga en relationsdatabas, vilken ¨ar en databas vars objekt struktureras i relation till andra objekt[26]. Klienttj¨ansten heter UNICORN och ¨ar intern mjukvara, skapad av GE Healthcare. Tj¨ansten hanterar planering, kon- troll samt analys inom proteinrening. UNICORN kommunicerar med instrumentser- vern, men ¨aven med SQL-databasen (se avsnitt 2.5 ). Systemets simulator ¨ar intern mjukvara skapad av GE Healthcare. Programvaran heter ¨Akta avant soft simulator och

(13)

6 Systemstruktur

Figur 1: Systemstruktur ¨over processtyrning via Twitter. Den r¨oda pilen representerar v˚ar implementation.

(14)

6 Systemstruktur

Figur 2: Systemstruktur idag

Figur 3: Systemstruktur efter implementation. De r¨oda pilarna representerar v˚ar imple- mentation.

(15)

8 Implementation

har till uppgift att simulera instrumentservern. Simuleringen m¨ojligg¨or testning i en milj¨o som liknar verkliga f¨orh˚allanden i ett kromatografilabb.

GETwitters arbete har skett i Visual Studio. Systemdelarna UNICORN och ¨Akta Avant Soft Simulator har anv¨ants som f¨ardiga verktyg. SQL-databasen har inte varit relevant i projektets utveckling och har d¨arf¨or inte anv¨ants. Se figur 3 f¨or en ¨overblick ¨over kommunikationen mellan systemets komponenter.

Maskinoperat¨orer som jobbar inom kromatografi blir slutanv¨andarna. De styr kromato- grafiska processer genom Twitters applikation via HTTP-protokollet[31].

7 Krav och utv ¨arderingsmetoder

Vid projektets startpunkt, lade handledaren fram ett antal funktionella krav som skulle uppfyllas. N¨ar projektet har passerat sitt slutdatum ska kraven utv¨arderas tillsammans med handledaren. Utv¨arderingen sker genom ett m¨ote med handledaren, d¨ar GETwitters implementation demonstreras. D¨arefter bed¨omer handledaren om kraven ¨ar uppfyllda eller inte. De funktionella kraven presenteras nedan:

St¨od f¨or kommandona Stop, Pause och Continue. En maskinoperat¨or ska kunna skic- ka ett direktmeddelande i Twitter-chatten, d¨ar hen skriver: “Stop”, “Pause” eller “Con- tinue” till maskinens Twitter-konto. D¨arefter ska maskinens Twitter-konto svara med ett automatiserat direktmeddelande som bekr¨aftar att processen har utf¨orts p˚a maskinen.

Notera att det ¨ar oviktigt huruvida kommandot skrivs med gemener eller versaler, till exempel accepteras kommandona “StOP”, “STOP”, ochs “CoNtInUe”.

Twitter-kontor¨attigheter ¨ar en essentiell del i implementationen. Den inneb¨ar att spe- cifika maskinoperat¨orer ska ha r¨atten till att processtyra specifika maskiner. Huruvida en maskinoperat¨or ska ha till˚atelse att styra en maskin, best¨ams genom maskinens Twitter- konto. Anledningen till varf¨or denna funktionalitet beh¨ovs ¨ar att fel maskinoperat¨orer inte ska kunna manipulera en maskin hen inte har beh¨orighet till.

8 Implementation

GETwitter:s mjukvara f¨or processtyrning har programmerats mot Twitters API[30] [36]

som heter Tweetinvi [28]. Det existerar flertalet olika Twitter API:er. Eftersom Up- Bot anv¨ande Tweetinvi som applikationsprogrammeringsgr¨anssnitt anv¨ands Tweetinvi av GETwitter ocks˚a.

(16)

8 Implementation

Twitter innehar den funktionalitet som kr¨avs f¨or kommunikationen mellan mjukvaran och maskinerna. Det ¨ar funktionalitet som att dela text och/eller bild samt ta emot in- formation genom str¨ommar. Str¨ommar ¨ar ett kraftfullt verktyg som ger tillg˚ang till real- tidsinformation p˚a Twitter[29].

8.1 Tweetinvi

Tweetinvi ¨ar ett verktyg som anv¨ands f¨or att programmera mot Twitter. Det ¨ar ett .NET C# bibliotek som ger tillg˚ang till Twitters REST API[25]. Det ¨ar ett .NETCore[24] och portabelt klassbibliotek som kan anv¨andas i utvecklingen p˚a Windows, Xamarin[23]

Android och Xamarin iOS. Tweetinvi ¨ar ¨aven kompatibelt f¨or universell app-utveckling.- [28]

8.2 Moduler

Den implementerade koden ¨ar uppdelad i olika moduler. I f¨oljande sektion beskriver vi de olika modulernas funktionalitet. De moduler som fanns innan projektstart och de moduler som ing˚ar i GETwitters l¨osning. Modulerna ¨ar i form av C#-klasser. Nedan beskrivs modulerna som har implementerats av GETwitter. Modulerna som implemen- terats av UpBot beskrivs ocks˚a nedan eftersom att projekten ¨ar integrerade.

TwitterChatBot hanterar majoriteten av all logik som implementerats. H¨ar uppr¨attas en str¨om som exekveras parallellt med implementationen. Denna str¨om lyssnar aktivt p˚a ¨andringar av valt Twitter-konto. Om ¨andringen ¨ar att Twitter-kontot f˚att ett direkt- meddelande, matchas meddelandet mot de 3 kommandona: Stop, Pause eller Conti- nue. Twitter-kontot svarar p˚a meddelandet och beskriver handlingen som eventuellt har utf¨orts.

DummyMachine fungerar som en brygga mellan den nya processtyrningen i Twitter- ChatBot och UNICORN. Vi anropar denna modul n¨ar vi vill utf¨ora de speciella funktio- nerna (Stop, Pause eller Continue) i UNICORN. DummyMachine agerar som en proto- typ av det faktiska systemet.

SystemMonitor ¨ar skapad av gruppen UpBot (se avsnitt 2.4). SystemMonitor ¨ar den del av UpBot som ¨overvakar UNICORN. N¨ar tillst˚andet i UNICORN ¨andras uppt¨acker SystemMonitor det och skickar den relevanta informationen till SocialMediaUploader.

SocialMediaUploader ¨ar skapad av gruppen UpBot (se avsnitt 2.4). SocialMediaUplo- ader hanterar all kommunikation inom ett valt Twitter-konto s˚asom inloggningen och

(17)

10 Resultat

publikation av tweets s˚asom bild, text och graf ¨over senaste k¨orning.

TwitterBotSetup ¨ar skapad av gruppen UpBot (se avsnitt 2.4). TwitterBotSetup anv¨ands till att byta autentiseringsnycklar som best¨ammer vilket Twitter-konto implementatio- nen ¨ar ansluten till. TwitterBotSetup ¨ar ett grafiskt gr¨anssnitt som sparar och krypterar nycklarna till en lokal XML-fil. XML (Extensible Markup Language) anv¨ands som ett format f¨or dokument best˚aende av s¨arskilda textkoder[17].

9 Utv ¨arderingsresultat

Under ett m¨ote med handledaren har projektet demonstrerats. Funktionerna Stop, Pause och Continue har k¨orts med UNICORN och Twitter ig˚ang. Annat som har demonstrerats

¨ar projektets l¨osning f¨or kontor¨attigheterna som ber¨or maskinoperat¨orerna. Handledaren beaktade demonstrationen samtidigt som han st¨allde fr˚agor kring funkionaliteten och k¨allkoden. Han var n¨ojd med resultatet och konstaterade att projektets specifikation var uppn˚add.

10 Resultat

Projektet slutf¨ordes med framg˚ang. Det har vidareutvecklat ett till¨agg till UNICORN d¨ar processtyrning via Twitter implementerats. Anv¨andaren kan styra kromatografima- skiner via kommandona Pause, Stop och Continue (se figur 4) genom att skriva ett pri- vat meddelande till ett Twitter-konto som ¨ar anslutet till en specifik maskin. N¨ar ma- skinens Twitter-konto mottagit kommandot skickar kontot tillbaka ett privat meddelan- det till anv¨andaren om kommandots resultat. D˚a GETwitter ¨ar en vidareutveckling av UpBot[20], kvarst˚ar dess funktionalitet. N¨ar kommandon utf¨orts, skickar UNICORN text och/eller bild till Twitter-kontot d¨ar anv¨andaren kan ta del av information om se- naste UNICORN-k¨orningen.

Figurerna 4-12 visas nedan i sekventiell ordning och demonstrerar hur GETwitters implementation k¨ors:

Figur 4 visar ett exempel p˚a n¨ar anv¨andaren skickar kommandon till maskinens Twitter- konto. Texten i bl˚att ¨ar skickad av maskinoperat¨orens Twitter-konto medan texten i gr˚att

¨ar maskinens Twitter-konto som svarar p˚a kommandon. De kommandon som st¨ods ¨ar Pause, Continue och Stop. I Figur 5 visas UNICORN-gr¨anssnittet innan en k¨orning har p˚ab¨orjats. Figur 6 visar ett exempel p˚a UNICORN-gr¨anssnittet n¨ar en k¨orning p˚ab¨orjats.

D¨arefter visas ett exempel p˚a UNICORN-gr¨anssnittet n¨ar en k¨orning pausats (se figur

(18)

10 Resultat

7). Eftersom att k¨orningen pausats, publiceras en tweet (se figur 8). I figur 8 beskri- ver texten “System” vilken maskin det ¨ar och texten “interrupt nr” anger hur m˚anga st¨orningar som skett. “Time elapsed” anger hur l¨ange systemet har varit ig˚ang. N¨ar den pausade k¨orningen s¨atts ig˚ang igen, visas detta p˚a UNICORN-gr¨anssnittet (se figur 9).

D˚a publiceras en tweet p˚a maskinens Twitter-konto om en k¨orning som s¨atts ig˚ang igen (se figur 10). N¨ar k¨orningen stoppas, visas detta p˚a UNICORN-gr¨anssnittet (se figur 11). Slutligen, tweetas informativ text och en bild om att k¨orningen har avslutats (se figur 12).

(19)

10 Resultat

Figur 4: Kommandon till maskinens Twitter-konto.

(20)

10 Resultat

Figur 5: UNICORN innan k¨orning.

(21)

10 Resultat

Figur 6: UNICORN startad k¨orning.

(22)

10 Resultat

Figur 7: UNICORN pausad k¨orning.

Figur 8: Maskinens Twitter-konto som publicerar en tweet om pausad k¨orning.

(23)

10 Resultat

Figur 9: UNICORN fortsatt k¨orning.

Figur 10: Maskinens Twitter-konto som publicerar en tweet om fortsatt k¨orning.

(24)

10 Resultat

Figur 11: UNICORN stoppad k¨orning.

(25)

10 Resultat

Figur 12: Maskinens Twitter-konto som publicerar en tweet om stoppad k¨orning till- sammans med en graf av k¨orningen.

(26)

12 Slutsatser

11 Diskussion

Projektet blev framg˚angsrikt d˚a de m˚al som efterstr¨avades uppfylldes. Det huvudsakli- ga m˚alet om att Twitter-kontot skulle kunna hantera olika kommandon fr˚an maskino- perat¨orer har uppfyllts. Ett annat viktigt m˚al om att integrera GETwitter med UpBot har ocks˚a uppfyllts. F¨or att m¨ojligg¨ora framtida arbeten har GETwitter implementerat l¨attl¨aslig och v¨aldokumenterad kod. Genom att skapa dokumentation f¨or anv¨andning av GETwitter har ¨aven anv¨andarv¨anligheten f¨orb¨attrats.

Det mest tidskr¨avande under projektets g˚ang var att l¨agga till och testa ny kod ef- tersom att kompileringsprocessen tog l˚ang tid. Utf¨orandet kr¨avde simulation, installera om till¨agg och kompilering av kod p˚a molnet. Processen skulle g¨oras i en specifik ord- ning och n¨ar detta inte respekterades var man tvungen att b¨orja om, vilket tog tid. Hela utf¨orandet gjordes manuellt och borde ist¨allet g¨oras med exempelvis ett skript som au- tomatiserar denna process. Det var dock problematiskt att automatisera hela processen eftersom att den bestod av icke-generisk, intern mjukvara. Dock automatiserades delar av processen via ett skript som startade om hela Instrument servern.

En brist i systemet ¨ar att flera Twitter-anv¨andare som f¨oljer maskinens Twitter-konto kan skicka kommandon n¨ar de vill. Risken som uppst˚ar ¨ar om en maskinoperat¨or kon- trollerar en k¨orning men en annan maskinoperat¨or skickar o¨onskade kommandon. Ur ett praktiskt perspektiv kan man t¨anka sig att alla som arbetar mot samma Twitter-konto

¨ar kollegor och ¨ar d¨arf¨or synkroniserade i sitt utf¨orande. GETwitter har inte tagit h¨ansyn till detta eftersom att det inte var ett krav fr˚an handledaren.

En annan brist med GETwitter ¨ar s¨akerheten d˚a den ¨ar starkt beroende av Twitter och hur Twitter hanterar sin s¨akerhet. Utvecklarna p˚a Twitter f¨ors¨oker st¨andigt h˚alla Twit- ter uppdaterat och s¨akert, men risken f¨or att Twitter uts¨atts f¨or dataintr˚ang kommer alltid finnas[11][5] . En annan risk ¨ar den m¨anskliga faktorn d˚a exempelvis den som ansvarar f¨or Twitter-kontot r˚akar acceptera ett konto som inte har beh¨orighet att f¨olja Twitter-kontot. Det kan leda till att obeh¨origa f˚ar ˚atkomst till k¨anslig information och kan d¨armed styra maskiner utan faktisk till˚atelse. Det ¨ar ocks˚a viktigt att ha i ˚atanke att v˚art till¨agg ¨ar helt beroende av Twitter. Skulle exempelvis Twitter g˚a i konkurs och l¨aggas ned skulle projektets processtyrning inte fungera.

12 Slutsatser

Vi har implementerat och m¨ojliggjort processtyrning via Twitter och integrerat imple- mentationen med projektet UpBot. Vidareutvecklingen av env¨agskommunikation har

(27)

13 Framtida arbete

skett genom att tv˚av¨agskommunikation har implementerats. GE Healthcare kan nu sty- ra sina maskiner alltmer flexibelt och effektivisera maskiners arbete inom proteinrening.

F¨oretaget och kunderna som k¨oper deras maskiner kan anv¨anda Twitter f¨or att styra ma- skinerna. Eftersom att processtyrningen sker via den sociala n¨atverkstj¨ansten Twitter, kr¨avs ingen egentillverkad applikation som beh¨over underh˚allas. GE Healthcare mins- kar p˚a s˚a s¨att kostnaderna och kan d¨armed investera p˚a andra fronter. De kan d˚a i sin tur driva forskningen fram˚at och till exempel fokusera p˚a att utveckla billigare medicin.

GETwitter ¨ar viktigt eftersom det belyser en viktig riktlinje inom programvaruutveck- ling, vilket ¨ar att inte ˚aterskapa funktionalitet utan anv¨anda den. Vi anv¨ander Twitters funktionalitet f¨or att dela, kommunicera samt publicera bild/text. Det s¨amre alternativet vore att skapa en applikation fr˚an grunden eftersom att det ¨ar mer tidskr¨avande men levererar samma funktionalitet.

Potentiella framtida IT-l¨osningar kan konstrueras, v¨axa samt underh˚allas l¨attare med samma tillv¨agag˚angss¨att, allts˚a att ta del av logik som redan skapats. P˚a s˚a s¨att kan dessa l¨osningar utvecklas med h¨ogre kvalit´e (se avsnitt 12).

Det som var intressant med projektet var att se hur ett stort program som UNICORN kunde f¨orb¨attras genom att utnyttja verktyg som redan finns p˚a internet. I detta fall vidareutvecklades ett till¨agg till UNICORN. N˚agot som ocks˚a var intressant och viktigt var att projektgruppen kunde vara med och f¨orb¨attra ett program som anv¨ands av flera f¨oretag runt om i v¨arlden och p˚a s˚a s¨att bidra positivt till samh¨allet.

13 Framtida arbete

GETwitter skulle kunna utvecklas f¨or att st¨odja fler och mer avancerade kommandon.

Projektets l¨osning skulle kunna vara mer generell genom att integrera liknande socia- la n¨atverkstj¨ansters API:er, som Facebook[2], Instagram[3]. Det hade bidragit till att fler anv¨andare hade kunnat bruka programmet och inte vara beroende av just Twit- ter. Tillg˚ang till flera tj¨anster kan ¨aven betyda tillg˚ang till fler tekniska l¨osningar, och GETwitters funktionalitet kan p˚a s˚a s¨att bli mer avancerad. Genom att st¨odja fler tj¨anster

¨an Twitter skulle projektet kunna locka fler f¨oretag till att anv¨anda GETwitter.

En sv˚arighet med att integrera flera API:er ¨ar att GETwitter ¨ar beroende av projektet UpBot. UpBot har utvecklat env¨agskommunikation mellan instrumentservern och spe- cifikt Twitters API. Om valet skulle vara att ¨aven integrera exempelvis Facebook och Instagrams API:er, hade UpBot beh¨ovts tas is¨ar, f¨or att sedan s¨attas ihop med h¨ogre genericitet. Denna process kallas reverse engineering[38].

(28)

13 Framtida arbete

I dagsl¨aget kan alla anv¨andare som f˚att till˚atelse att f¨olja maskinens Twitter-konto skicka kommandon. En m¨ojlig ut¨okning i framtiden skulle kunna vara att implementera att oli- ka maskinoperat¨orer kan utf¨ora olika kommandon beroende p˚a deras beh¨orighetsgrad.

13.1 En mer generell anv ¨andning av GETwitter

Det arbete som har gjorts i projektet skulle kunna anv¨andas i ett flertal andra omr˚aden i samh¨allet, som exempelvis:

Skola - GETwitter skulle kunna anv¨andas som ett verktyg f¨or elever d¨ar de kan sju- kanm¨ala sig till skolan/gymnasium. I dagsl¨aget sker det genom att eleverna ringer in till skolan och ber¨attar att de ¨ar sjuka. Det skulle underl¨atta f¨or eleverna att ist¨allet kunna skicka ett kommando till ett Twitter-konto d¨ar de kan sjukanm¨ala sig. Det skulle ¨aven underl¨atta f¨or skolan d˚a de inte beh¨over n˚agon person som rapporterar in sjukanm¨alan utan att detta ist¨allet sk¨ots automatiskt via GETwitter. Eleverna skulle kunna sjukanm¨ala sig genom att ange namn, f¨ornamn, personnummer och en pinkod f¨or att s¨akerst¨alla att det ¨ar r¨att elev som sjukanm¨aler sig. Figur 13 visar ett exempel p˚a hur en elev skulle kunna sjukanm¨ala sig via skolans Twitterkonto. Observera att de fyra sista siffrorna ¨ar elevens pinkod.

Figur 13: Prototyp f¨or sjukanm¨alningssystem via Twitter

IT-bolag- GETwitter skulle kunna anv¨andas inom f¨oretag f¨or mjukvaruutvecklare d¨ar chefer kan f˚a information om hur m˚anga timmar en systemutvecklare har varit p˚a kon- toret. Chefer skulle kunna motta stora m¨angder information om arbetsplatsen som antal

(29)

Referenser

p˚ag˚aende projekt, information om olika projekt och om de ligger i fas med tiden, infor- mation om f¨ardiga projekt och hur v¨al de har g˚att och annan information.

Tandv˚arden - Ett annat omr˚ade som GETwitter skulle kunna anv¨andas inom ¨ar tandv˚arden.

Exempelvis skulle kunderna ha tillg˚ang till deras personliga konton d¨ar de kan f˚a infor- mation om deras munhygien. Kunderna kan d˚a f˚a information i form av text och bild p˚a exempelvis om de ¨ar p˚a v¨ag att f˚a h˚al i en tand. D˚a kan kunden fokusera mer p˚a den utsatta tanden f¨or att f¨orhindra att h˚al som eventuellt uppst˚ar. R¨ontgenbilderna och/eller information om kundernas t¨ander kan skickas till deras personliga Twitter-konto.

Aktiehandel - GETwitter skulle kunna anv¨andas inom aktiehandel genom att ge kunder- na m¨ojlighet att k¨opa och s¨alja aktier via mobilen. Kunderna skulle exempelvis kunna ha m¨ojligheten att f˚a larm om n¨ar en aktie n˚att en viss aktiekurs och olika kommandon skulle kunna utf¨oras automatisk beroende p˚a h¨andelse. De flesta f¨oretag som har kun- der som handlar aktier har redan dessa funktioner som kan anv¨andas genom deras egna mobilapplikation. Skillnaden blir d˚a att f¨oretagen slipper ha en mobilapplikation och ist¨allet anv¨anda sig av GETwitter. P˚a detta s¨att sparar f¨oretaget tid och resurser som de kan investera p˚a andra omr˚aden.

Referenser

[1] “A Complete List of Diabetes Medications,” http://www.healthline.com/health/

diabetes/medications-list#overview1, [Online; Bes¨oktes 11-Maj-2017].

[2] “About Facebook,” https://www.facebook.com/facebook, [Online; Bes¨oktes 23- April-2017].

[3] “About Instagram,” https://www.instagram.com/about/us/, [Online; Bes¨oktes 23- April-2017].

[4] “C++ description,” http://www.cplusplus.com/info/description/, [Online; Bes¨oktes 23-April-2017].

[5] “Details of 33 million Twitter accounts hacked and pos- ted online,” http://www.independent.co.uk/news/uk/home-news/

details-33-million-twitter-accounts-hacked-posted-online-cyber-leaks-a7074416.

html, [Online; Bes¨oktes 8-May-2017].

[6] “Diabetes i siffror,” https://www.diabetes.se/diabetes/lar-om-diabetes/

diabetes-i-siffror, [Online; Bes¨oktes 07-April-2017].

(30)

Referenser

[7] “GE Healthcare - About us,” http://www.ge.com/about-us/fact-sheet, [Online;

Bes¨oktes 20-April-2017].

[8] “GE Healthcare - Annual Report 2016 - page 12,” http://www.ge.com/ar2016/

assets/pdf/GE AR16.pdf, [Online; Bes¨oktes 20-April-2017].

[9] “Google - Set up prices and app distribution,” https://support.google.com/

googleplay/android-developer/answer/6334373?hl=en, [Online; Bes¨oktes 11- Maj-2017].

[10] “Insulin g¨or s˚a att blodsockerhalten minskar,” http://www.ne.se/

uppslagsverk/encyklopedi/enkel/insulin/insulin-g%C3%B6r-s%C3%

A5-att-blodsockerhalten-minskar, [Online; Bes¨oktes 11-Maj-2017].

[11] “Twitter Warns Users About Hacked Accounts,” http://www.thewrap.com/

twitter-warns-users-about-hacked-accounts/, [Online; Bes¨oktes 8-Maj-2017].

[12] “UNICORN Control Software,” http://www.gelifesciences.com/webapp/wcs/

stores/servlet/catalog/en/GELifeSciences-se/brands/unicorn-software/, [Online;

Bes¨oktes 11-Maj-2017].

[13] “UNICORN Protein Research,” https://www.gelifesciences.com/gehcls images/GELS/Related%20Content/Files/1460122425443/litdoc29135786

20161016033104.pdf, [Online; Bes¨oktes 11-Maj-2017].

[14] “Visual F#,” https://msdn.microsoft.com/en-us/visualfsharpdocs/conceptual/

visual-fsharp, [Online; Bes¨oktes 23-April-2017].

[15] “Visual J#,” https://msdn.microsoft.com/en-us/library/7xsxf8e2(v=vs.80).aspx, [Online; Bes¨oktes 23-April-2017].

[16] “What is Java?” https://go.java/index.html?intcmp=gojava-banner-java-com, [On- line; Bes¨oktes 23-April-2017].

[17] “What is XML?” https://www.ibm.com/developerworks/xml/tutorials/xmlintro/

xmlintro.html, [Online; Bes¨oktes 12-Maj-2017].

[18] “Biomedical chromatography: Print : an international journal : devoted to rese- arch in chromatographic methodologies and their applications in the biosciences,”

1986.

[19] S. AG, “Siemens SIMATIC HMI Mobile Panel - Tr˚adl¨os enhet inom pro- duktionsmilj¨o,” http://w3.siemens.com/mcms/human-machine-interface/en/

operator-devices/advanced-hmi-panel-based/mobile-panels/Pages/Default.aspx?

tabcardname=wireless, [Online; Bes¨oktes 07-April-2017].

(31)

Referenser

[20] T. Andersson, A. Sundquist, and J. Astrand, “UpBot: En kostnadseffektiv l¨osning till mobil system¨overvakning,” http://uu.diva-portal.org/smash/record.jsf?

pid=diva2%3A944066&dswid=-2314, [Online; Bes¨oktes 1-April-2017].

[21] F. Corporation, “Freshdesk - Customer happiness, refreshingly easy,” https://

freshdesk.com/, [Online; Bes¨oktes 07-April-2017].

[22] M. Corporation, “Fully-featured integrated development environment (IDE) for Android, iOS, Windows, web, and cloud,” https://www.visualstudio.com/vs/, [On- line; Bes¨oktes 1-April-2017].

[23] X. Corporation, “Xamarin.com,” https://www.xamarin.com/platform, [Online;

Bes¨oktes 15-April-2017].

[24] M. Corporation, “Welcome to .NET Core!” https://www.microsoft.com/net/core/

platform, [Online; Bes¨oktes 15-April-2017].

[25] F. Doglio and S. O. service), Pro REST API Development with Node.js, 2015th ed.

Berkeley, CA: Apress, 2015.

[26] S. B. Elmasri, Ramez.; Navathe, Fundamentals of Database Systems, 6th ed. Pe- arson; 7 edition (June 18, 2015), sida 60.

[27] Facebook, “Facebook Version History,” https://www.apk4fun.com/history/2430/, [Online; Bes¨oktes 5-Juni-2017].

[28] T. Imart, “Github - Tweetinvi,” https://github.com/linvi/tweetinvi, [Online;

Bes¨oktes 06-April-2017].

[29] ——, “Streams,” https://github.com/linvi/tweetinvi/wiki/Streams, [Online;

Bes¨oktes 01-Juni-2017].

[30] T. Inc, “About Twitter,” https://about.twitter.com/company, [Online; Bes¨oktes 1- April-2017].

[31] K. W. Kurose, James F.; Ross, Computer networking : a top-down approach, 5th ed. Pearson; 5 edition (March 31, 2009), sida 192.

[32] G. H. life sciences, “Chromatography Systems and Software - UNI- CORN,” http://www.gelifesciences.com/webapp/wcs/stores/servlet/catalog/

en/GELifeSciences-se/products/AlternativeProductStructure 25418/, [Online;

Bes¨oktes 1-April-2017].

[33] MicrosoftCorporation, “Introduction to the C# Language and the .NET Framework,” https://msdn.microsoft.com/en-us/library/z1zx9t92.aspx, [Online;

Bes¨oktes 1-April-2017].

(32)

Referenser

[34] Nationalencyklopedin, “Vad ¨ar Kromatografi?” http://www.ne.se/uppslagsverk/

encyklopedi/l%C3%A5ng/kromatografi, [Online; Bes¨oktes 1-April-2017].

[35] RubyGems, “All versions of twitter,” https://rubygems.org/gems/twitter/versions, [Online; Bes¨oktes 5-Juni-2017].

[36] P. Siriwardena and S. O. service), Advanced API Security: Securing APIs with OAuth 2.0, OpenID Connect, JWS, and JWE. Berkeley, CA: Apress, 2014, sida 4.

[37] M. Sverige, “Om Marabou,” http://www.marabou.se/om-marabou, [Online;

Bes¨oktes 07-Maj-2017].

[38] M. K. S. Yeung, “Reverse engineering gene networks using singular value de- composition and robust regression,” http://www.pnas.org/content/99/9/6163.full, [Online; Bes¨oktes 23-April-2017].

References

Related documents

Man kan ibland l¨ asa att h¨ alften av alla som drunknat till sj¨ oss har druckit alkohol. L˚ at oss anta att det

[r]

Men sagan fann hon inte annat än i luften den första natten, ty när hon hade gått några steg blev hon rädd att gå mot folk, ty där folk var fanns sex som kunde snappa upp

L˚ at y(t) vara andelen av populationen som ¨ar smittad efter tiden t dygn, r¨aknad fr˚ an uppt¨ack- ten... Observera att ¨amnets koncentration ¨ar samma som m¨angden av

Hur motiveras p˚ ast˚ aendet att “riktningen av gradienten ¨ ar den riktning, i vilken funktionsv¨ ardet v¨ axer snabbast”?. Visa att det finns en och samma vektor

Antalet kunder som bes¨ oker de tv˚ a aff¨ arerna en timme kan beskrivas med Poissonf¨ ordelningar.. Det genomsnittliga antalet kunder som bes¨ oker de tv˚ a aff¨ arerna ¨ ar

L˚at N st˚a f¨or h¨andelsen att en person har k¨opt produkt av m¨arke N, och V f¨or motsvarande h¨andelse f¨or m¨arke V... L˚at X st˚ar f¨or antalet anm¨alningar under

Vid bed¨ omningen av l¨ osningarna av uppgifterna i del 2 l¨ aggs stor vikt vid hur l¨ osningarna ¨ ar motiverade och redovisade. T¨ ank p˚ a att noga redovisa inf¨ orda