ADDERA | NR 2 | 2015 | Årgång 6

Page 1

ADDERA

NR 2 2015 · ÅRGÅNG 6 · UTGES AV ADDIVA

SmartFusion2

s. 18

Actels FPGA – hur har den utvecklats och hur ser denna version ut?

Safe Control System s. 8 Robin berättar om ISO 13849

Lean Start-up s. 4

Hypotesprövning i sökandet efter en affärsmodell


ADDERA Address Kopparbergsvägen 8 722 13 Västerås

Telefon 021- 471 21 30

Hemsida www.addiva.se

Ansvarig utgivare Pamela Christensson pamela.christensson@ addiva.se

Grafisk form Victoria Ben-Chivar

Foto Victoria Ben-Chivar

Skribenter Carina Wigholm Ivar Backlund Kjell Iwarson Lars Cederholm Magdalena Bozyk Martin Friberg Pamela Christensson Per Lenander Robin Persson Thomas Otnes

Tryck Navii

“LOREM IPSUM DOLOR”

DIGITALISERING, UPPKOPPLADE SAKER, BIG DATA!

J

UST NU laddas det upp 300 timmar video varje minut enbart på YouTube. Vi

lever i en tid där det exploderar ut producerad information dygnet runt världen över. Var befinner vi oss i den här digitala omställningen och vad krävs för att hänga med? Vi kanske tror oss ana vart det kan ta oss men vi förstår nog inte fullt ut hur det kommer att påverka såväl företag och som hela samhället. Beteenden kommer att förändras och genom tekniken kommer vi att få nya sätt att sälja och distribuera. Affärer kommer att göras på helt andra sätt. Vi måste kombinera marknadskännedom, affärskompetens med teknisk kompetens för att förstå hur affärsmodeller kommer att påverkas av digitaliseringen. Vad händer när vi har hjälpmedel som gör att vi som människor klarar av mer? Att vi kan lyfta mer, gå längre, hoppa högre, se mer, höra bättre osv. Det är oerhört viktigt att vi ser och förstår trender. Att vi förstår när det blir skiften i beteenden som påverkas av ny teknik och att vi är förberedda. Många hånade utvecklingen med bloggar och Youtube innan man förstod hur dessa förändrade hela branscher. Nu står vi inför artificiell intelligens och 3D-printing. Hur kommer dessa tekniker att förändra beteenden och branscher? Vad säger vi när konstnärer skapar egna produkter som de printar ut eller som kund printar ut själv? Varför ska vi då köpa masstillverkade produkter? På sidan 21 får ni en tillbakablick som visar hur snabbt det gått. Om fem år, 2020 producerar vi mer information på en sekund än vad som fanns i världens samlade skrifter i början av 2000 talet. Samtidigt kommer 5,4 miljarder uppkopplade enheter att finnas, allt från smarta mätare till uppkopplade bilar. Att jämföra med så fanns det 1,2 miljarder uppkopplade saker 2014. Det är en spännande teknikutveckling vi har framför oss. I det här numret får du bland annat läsa om FPGA World som gick av stapeln den 8 september. Mässan anordnas av intressenter från industrin och den akademiska världen. Du får även inblick i EU:s ekonomiska direktiv avseende säkerhet för produkter, som är viktig kompetens för oss när vi hjälper våra kunder med säkerhetsprojekt för att förenkla certifieringen av produkter. En artikel om Safe Control Systems finns på sidan 8 och på sidan 9 skriver vi om Mobile Cross Platform Development. Du kan även läsa om Lean Startup i sökandet efter en affärsmodell. Under hösten har vi fått klart vårt nya hårdvarulabb som du kan läsa mer om i detta nummer. Läs även gärna utdraget från PWC:s rapport ”Den smarta industrin” på sidan 7. Under hösten har vi fått klart vårt hårdvarulabb. På sidan 15 kan du läsa mer om det. Vi presenterar även våra nya medarbetare på sidan 23. Trevlig läsning!

CARINA WIGHOLM VD Addiva AB


INNEHÅLL

LEAN STARTUP

4

DIGITALISERING

7

SAFE CONTROL SYSTEMS MOBILE CROSS PLATFORM TESTNING LABB 2.0

8 9

13 15

EVENTS PÅ ADDIVA SMARTFUSION2

16

18

PER REFERERAR FPGA WORLD 2015 SÅ SER ADDIVA PÅ AZURE

20

21

OLLE SKAPAR PÅ MAKERS I EXPECTRUM! 22 NYA PÅ ADDIVA

ADDERA

23

3


LEAN STARTUP – HYPOTESPRÖVNING I SÖKANDET EFTER EN AFFÄRSMODELL I den här artikeln har jag utgått från min första och förhoppningsvis inte den sista erfarenhet som projektledare för en startup inom mjukvara.

B

eställaren var en extern kund. Uppdraget var specificerat i form av User Cases som vi kom att göra om till User Stories. Metodiken var Scrum med beställaren som produktägare.

nat man tänkt ut skjuts i sank. Nya tankar och förslag poppar upp när kundens problem och behov visar sig vara något annorlunda än det man tänkt sig eller en funktion som inte går hem. Det gäller att ha gott omdöme och inte klamra sig fast vid sin idé. Psykologiskt är det betydligt lättare att vara lyhörd, öppen för nya förslag, acceptera att en idé kanske inte var så bra och ändra på konceptet om man startar tidigt, i liten skala och inför en mindre publik.

Det som utmärkte startupen var att den byggde på en idé eller en vision med konkreta krav. Den hade ingen historik och var i visst avseende en leader i sin branch. Under projektet kom jag i kontakt med facklitteratur och föreläsningar på YouTube som tog upp Lean Startup och dess projektmetodik. En utvecklare som började hos oss satte mig på spåret. Lean Startup metodiken tar sats i hypoteser och behandlar en idé för vad den är, det vill säga antaganden och inte som krav/ User Stories. Det är ett vetenskapligt förhållningssätt. Det är genialt! Och så här efteråt så självklart. Arbetet med startupen lärde mig och teamet väldigt mycket.

DEN FÖRSTA OCH STÖRSTA SVÅRIGHETEN Den första och största svårigheten är att tänka att det man har är en bra oprövad idé, men inte någon egentlig säkerhet eller vetskap om idéns hållbarhet. Det man önskar få är någon form av

4

LETA EFTER EN BÄRKRAFTIG PRODUKT – Ivar Backlund

säkerhet och vetskap om att ens idé eller vision har förutsättningar att lyckas, innan det läggs ner en massa arbete på realisering. Startup-metodiken bygger på att skapa fakta och minimera osäkerheten eller - fallera snabbt. Det är absolut inte så lätt som det låter. Att utsätta sin idé för en vetenskaplig prövning och behandla det som hypoteser kan vara svårt. Du brinner för idén som du formulerat i form av mer eller mindre detaljerade krav och kanske jobbat med under en längre tid dessutom. Hypotesprövning innebär att man måste släppa på kontrollen, förlita sig på andras kompetens och acceptera att ett och an-

ARBETA MED HYPOTESER Det man letar efter och vill försäkra sig om är att hitta en bärkraftig produkt som kan generera vinst. Man vill minimera risken att lägga ner tid, arbete och kapital på något som inte tillräckligt många vill ha. Så man arbetar med hypoteser och börjar med den bärande hypotesen först, kärnan i ens visionsbygge. Jag ser det som att man skapar en lättflyktig backlog – inte av User Stories eller krav – utan av de antaganden som idén bygger på och som behöver hypotesprövas. Varje hypotes måste formuleras så att den kan valideras med ett GO/NoGO. Den tid man lägger ner i hypotesprövning är en tid av lärande. ADDERA


Iterationerna handlar inte om att skapa features utan om lärande, att lära sig kunden och hur hela ens affärsmodell ska se ut. Hypotesprövningen av kundens problem och behov gör backlogen lättflyktig och under ständig förändring. Hela idén förändras, ibland ganska radikalt eller går rent av i stöpet och läggs ner, vilket är det vanligaste för en startup (75%).

EN NY FÖRBÄTTRINGSPROCESS Hypotesprövningen kan ses som en förbättringsprocess - i likhet med Demingshjulet (Plan-Do-Study-Act) – med följande faser: Ta fram Hypotes - Designa Experiment - Testa och Validera - Insikt och Lärdomar (HETI).

är att lära sig om kunden, dess problem och behov och om det man föreslår är/ kan göras köpvärt. Värdeerbjudandet kan ändras under projektets gång vilket även kundsegmentet kan göra. Så syftet med att utveckla MVP är inte att ta fram en prototyp utan det är att lära sig så mycket som möjligt. I början av projektet ligger fokus helt och hållet på lärande dvs. HETI och inte på att ta fram features. Iterationerna är lärande iterationer och inte feature iterationer. Men så fort man lärt sig tillräckligt för att ta fram en produkt som kan generera någon typ av inkomster/kapital från kunder/investerare och feedback ska den ut på marknaden. Det är viktigt att komma ut på marknaden så tidigt som möjligt. Verktyg som Low and High Fidelity Prototyping kommer väl till pass, och även undersökningar, intervjuer, fokusgrupper, workshops, seminarier och persona i en helt annan utsträckning än i ett traditionellt agilt- eller vattenfallsprojekt.

HITTA EN AFFÄRSMODELL

»» Hypotesprövning är en metod för att inhämta feedback från kunden om de problem och behov man tror sig ha sett och vill lösa. Hypotesprövning innebär att man skapar en MVP (Minimal Viable Product) som kan vara av varierande komplexitet.branch to the master branch. Källa: www.steveblank.com

Nästa steg i startup projektet, efter det att man tror sig hittat ett bra och attraktivt värdeerbjudande till sin avsedda kundkategori, är att ta reda på hållbarheten av sin affärsmodell och hur den behöver se ut om man ska kunna tjäna pengar på sitt värdeerbjudande. Hypotesprövningen

fortsätter men gäller nu helt nya typer av frågeställningar och undersökningar. Affärsmodellen som oftast omnämns i litteraturen, bloggar osv i startupvärlden är Business Model Canvas som tagits fram av Alexander Osterwalder. Affärsmodellen består av nio områden som beror av varandra: •

Kundsegment: Användare, betalande kunder av produkten/tjänsten.

Värdeerbjudande: Produkt/tjänst som erbjuds tillsammans med sina fördelar för kunderna.

Kanaler: Beskriver hur kunderna nås för att erbjuda dem värdeerbjudanden.

Kundrelationer: Relationer med syfte att skapa efterfrågan och värva/ behålla kunder.

Intäktsflöden: Intäkter som genereras av värdeerbjudandet, från kundsegmentet.

Nyckelresurser: Resurser som behövs för att göra verksamheten möjlig.

Nyckelaktiviteter: Verksamheter som krävs för att genomföra affärsmodellen.

Nyckelparterskap: Partners som behövs för att göra verksamheten möjlig.

Kostnadsstrukturen: Beskriver kostnaderna till följd av affärsmodellen.

EN NY PROCESS FÖR PRODUKTUTVECKLING När man tar fram en startup är det absolut inte frågan om att avverka en lång radda med hypoteser för att få fram ett fulländat koncept, utan tvärtom. Man är ute efter att på ett enkelt och snabbt sätt skapa någon typ av Low/High Fidelity Prototyper, så kallade MVP som illustrerar vad det är för problem eller behov man vill lösa. Målet är att få feedback från den avsedda kunden. MVP (Minimum Viable Product) kan till en början vara något så simpelt som en Power Point presentation, en pappersprototyp, en enkel modell eller liknande. Uppgiften ADDERA

»» Business Model Canvas. Källa: www.steveblank.com

5


Förutom att titta på värdeerbjudande och kundsegmentet återstår ett omfattande lärande med att leta efter en affärsmodell som är hållbar och skalbar. Ägarnas vision omformas till Business Model hypoteser och MVP:er tas fram för experiment. Hur kunderna reagerar på hela affärsupplägget undersöks och reds nu upp. Förutom feedback från slutkunder, behöver feedback fås från affärspartners, säljare, utvecklare, inköpare, designers och andra för att få fram en hållbar och skalbar affärsmodell som kan generera vinst. För att hitta en hållbar och skalbar affärsmodell arbetar man iterativt med den. En förändring i ett område påverkar övriga områden. Det här ska ses som ett kontinuerligt lärande och förbättringsarbete. Men OBS! Allting behöver inte vara perfekt för att släppa en produkt. Att tidigt få feedback kan vara nog. Och har man en produkt som man kan ta betalt för och få feedback på så släpp den omgående! Det finns ingen anledning att vänta med att få ut produkten på marknaden!

HYPOTESPRÖVNING Lean Startup metodiken har element som jag tror har alla förutsättningar att slå igenom och göra avtryck i hur man framöver kommer arbeta i projekt. •

Förbättringsprocessen HETI: Hypotes – Ta fram Experiment – Testa och Validera – Insikt och Lärdom har alla förutsättningar att slå igenom i de flesta typer av projekt. HETI är tydlig och konkret och helt i linje med Deming och ett lean och agilt tänkesätt. Business Model Canvas kan få ett brett genomslag och involvera betydligt fler än tidigare för utformning av affären.

För den intresserade rekommenderar jag: Alexander Osterwalder Clayton M. Christensen Eric Reis Jason Fried Nathan Furr Richard Rumelt Steve Blanks Kolla upp dem på YouTube och webben och fortsätt eventuellt med någon av deras böcker. Text: Ivar Backlund Projektledare Business Center Stockholm

ADDIVA rekommenderar SHURE SRH 940

De kommer dessutom i världens gladaste hörlurfodral. 6

ADDERA


DIGITALISERING Från PWC rapporten “Den smarta industrin”.

M

an kan tro att branscher som ”bara” sysslar med siffror och information borde digitaliseras fort, medan digitaliseringen inom industrin borde gå mycket trögare. Men nya rapporten “Den smarta industrin” från PWC visar tydligt att inom industrin är förväntningarna på digitaliseringens genomslagskraft stora. Digitaliseringen sker både internt i företaget och externt gentemot affärspartners, kunder och leverantörer. Utmaningen ligger i att klara de omfattande initiala investeringarna och att hitta rätt kompetens till utvecklingsarbetet.

mer att bli avancerad dataanalys – förmågan att dra slutsatser ur stora datamängder. Kompetensen som behövs för detta riskerar att bli en bristvara.

91 % SÄGER ATT DEN DIGITALA UTVECKLINGEN ÄR AVGÖRANDE FÖR SVENSK INDUSTRIS KONKURRENSKRAFT OM 5 ÅR. KOMPETENS

Digitalisering kommer att vara avgörande för den tillverkande industrins konkurrenskraft. Sverige har stora möjligheter att vara ett land som kan skapa konkurrenskraftiga bolag även inom det industriella internet.

De undersökta bolagen ser utmaningar med att få tag på nödvändig kompetens – både vad det gäller spets och bredd. Med det industriella internet automatiseras och digitaliseras många arbetsuppgifter. Den personal och kompetens som krävs för framgångsrika bolag kommer att skifta. Att lösa detta kompetensskifte och undvika brister blir en avgörande fråga.

DIGITALA

AFFÄRSNYTTA

KONKURRENSKRAFT

AFFÄRSMODELLER Det industriella internet är både en evolution av existerande produkter och tjänster. De mest framgångsrika företagen är de som utvecklar digitala affärsmodeller för att möta den nya utvecklingen. En del av dessa kommer att vara disruptiva för existerande affärer. Idag ser företag framför allt effekter av industriellt internet i minskade kostnader och ökad effektivitet. Det är också viktigt att företagen samtidigt aktivt arbetar med att digitalisera dagens produkter och tjänster samt att utveckla nya digitala tjänster.

DATAANALYS En avgörande förmåga för företag komADDERA

och enhetlighet är ledord när information ska delas brett inom organisationer och med affärspartners.

ORGANISATION Företag behöver se över hur de organiserar sitt arbete med digitala frågor: Hur man väljer man att organisera sig? Vilken kompetens % ska prioriteras? Hur leds aktiviteterna? Detta blir avgörande för en framgångsrik transformation till ett digitalt ledande bolag.

Vill du läsa hela rapporten gå in på: http://www.pwc.se/sv/verkstad/assets/den-smartaindustrin.pdf?

Den största utmaningen som de undersökta företagen ser är svårigheten att kvantifiera affärsnyttan med det industriella internet. Att förstå var framtida intäkter kan komma ifrån och hur dessa kan realiseras kräver nya sätt att se på dagens och morgondagens affärer.

INTEGRERING OCH STRUKTUR Inom 5 år är svenska företag digitalt integrerade både internt och med kunder och partners. De ofta decentraliserade och heterogena data- och applikationsmiljöerna ser vi idag är en utmaning som företagen måste adressera. En tydlig struktur för datahantering, transparens

7


SAFE CONTROL SYSTEMS

THE EU ECONOMIC DIRECTIVES The intent behind is to facilitate the free movement of goods and products in the European Union without compromising the essential health and safety requirements.

In practice this means that placing a machine (or certain part) on the market that does not comply, may as well be illegal. Hence standards like the EN ISO 13849 must be handled from a legal standpoint

The standard is divided in two parts:

One way of demonstrating compliance to the directives is to prove compliance with harmonized European standards.

8

EN ISO 13849 The international standard 13849 deals with safety-related design principles of employed control systems. It finally replaced the old EN 954 in December 2011 after being postponed for years due to pushbacks from manufacturers.

Manufacturers, importers and dealers of products placed on the European market must fulfill the essential health and safety requirements (EHSR).

The European Union directive concerning machinery and certain parts of machinery (2006/42/EC) states that “member states shall not prohibit, restrict or impede the placing on the market and/ or putting into service in their territory of machinery which complies with [the] Directive�.

as well as from an independent third party for validation and certification.

1. Part1 defines the general principles for design 2. Part2 describes the validation EN ISO 13849-1 (Safety of Machinery – Safety-related part of Control Systems) Robin Persson

The standard relies on statistical analysis to make a probabilistic determination as to the reliability of the components, ADDERA


devices and circuitry used in the safetyrelated part of the control system(s) of industrial machinery. This determination describes the probability of a failure to danger over time and is represented by a performance level (PL). The actual risk assessment is performed by the manufacturer of the complete machine. It is only the manufacturer of the complete machine that has got knowledge about which risk that comes with the use of the machine, and in which environment the machine shall be used. A general aspect for standards concerning functional safety is that it is not enough to design a safe system. To have a safe system is just part of the work; you must also be able to show that your system is safe by showing that you have correctly documented all parts of your development, from the initial risk analysis until the component/system is finalized. Develop a functional safety plan, describing: •

Activities during the project

Identify persons and organizations responsible for different activities during the project •

Competence of the persons involved in the different activities

How to document the different steps in the project

Requirements when performing modifications in the component/ system

How to perform the verification

How to perform the validation

How to handle issues identified during for instance risk analysis, verifications, validations, audits, reviews by independent organizations, incident reporting.

Which requirements should be placed on suppliers

to implement it so it becomes easy to use and an integral part of the design process. Here at Addiva we help our customers with safety projects and we keep our documentation of a project in accordance with the clauses and requirements as described in the standard. This is important since it simplifies for the organization responsible for the actual evaluation/ certification. This will cut down time and cost from the safety validation process. Author: Robin Persson Project Manager at Addiva Software and Embedded Services

The most important part concerning the functional safety plan is to find out how

MOBILE CROSS PLATFORM DEVELOPMENT EXPERIENCES FROM A LARGER APP-PROJECT 1. HOW WE CHOSE OUR ARCHITECTURE Early in the project a “rapid” prototype for Android was developed. When the product development for iOS started, we knew that most of the existing work was tied to the Android platform. Since this meant that most of the work had to be redone again for iOS, we decided that making the iOS project more cross-platform friendly would make a good start of a unified code base which the Android version could later be adapted to.

#1

When settling on an architecture pattern, we had to find something that would be suitable to divide the cross-platform compatible code from the platform specific ADDERA

9


code. We decided to use MVVM as it is the most familiar to us, and by drawing a line between the view and model/viewmodel we had clear boundaries where platform specific code and cross-platform code could reside respectively. Aiming for a platform independent code base, we wanted to focus on libraries that were PCL (Portable Class Library) compatible. For code that was platform specific, but still belonged in the models or viewmodels which would be used by all platforms, we decided to use interfaces that each platform had to implement and could then be injected through dependency injection. MVVM is a very useful architecture pattern, and there are numerous frameworks that are made to make MVVM easier to implement, as well as add their own features. While deciding which one to use we happened upon ReactiveUI, a PCL framework derived from Reactive Extensions, which offers functional, stateless, declarative code which appealed to us, given the asynchronous nature of mobile applications. We did find that the statelessness of reactive programming was a nice perk and resulted in fewer bugs. Any bugs that did occur became isolated and could mostly be solved without any side effects.

Lars Cederholm

2. USE MVVM ARCHITECTURE In order to maximize code reuse between platforms in the current project and also for future projects we would recommend using an MVVM design architecture. The Model and ViewModel would reside in a PCL library shared by all target platforms, giving them a common code base to work with. The View is target specific and would be the Fragments (for Android) and UIViewControllers (for iOS) that will have their own platform specific implementations. Anything that is not platform specific should be implemented in the shared crossplatform library in the form of a Service or a ViewModel/Model.

#2

3. SOLUTION STRUCTURE Based on the MVVM section, we would recommend all app development solutions to consist of the following modules. 1. 2. 3. 4. 5.

Shared library Cross-platform library N platform specific executables (i.e. iOS or Android) Services library N platform factory libraries

The cross-platform library should contain the bulk of all the models, viewmodels and services that the target platforms will use. Putting the business logic in this library will avoid having to implement functionality once for every platform. Platform specific projects will mainly focus on the UI and presentation. The services library is a set of interfaces that will be implemented by the factory libraries. Any functionality that must be platform specific should create an interface in the services library. Each factory library should in turn create an implementation of this interface.

#3

The services library and factories should be kept in its own solution so it can be built upon and transferred easily to future projects. This will create a toolbox of cross-platform components that can easily be reused and save time in the next project.

10

ADDERA


Services <interfaces>

Shared

Android Factory

Cross

IOS

Abstract Factory

IOS Factory

Android

»» Figure 1: Proposed solution structure

The services library and factories should be kept in its own solution so it can be built upon and transferred easily to future projects. This will create a toolbox of crossplatform components that can easily be reused and save time in the next project. In the Cumula iOS project we attempted to focus on putting everything that was cross-platform compatible in the Cross project, however, there are still some things that were implemented in the iOS project directly in the view code behind. This is in part because our solution at the time of writing was standalone, and part not thinking the design through thoroughly. We also omitted the Services and Factory projects since they were not thought of until late in the project.

4. PCL (PORTABLE CLASS LIBRARY) THIRD PARTY LIBRARIES When developing the iOS app for Cumula we utilized some third party libraries that are PCL compatible so that the Android app could more easily be rewritten to share the same code base. These libraries are Splat, Akavache and ReactiveUI. Splat provides PCL image handling, where images can be converted to and from the current platform. It also has a simple IOC (Inversion of Control) container and a small logging framework. It is very suitable to use both for the image conversion and IOC container and we haven’t found any real disadvantages to use it. Akavache is used for caching blobs of data and can also fetch images online and cache them automatically. On the surface it works as a persistent

#4

LITE SKÖJ: ADDERA SERIE

ADDERA

11


Dictionary<String, Object>. This means that every blob of data needs a unique key generated across all objects by the application. When a duplicate key is used, the blob will be overwritten by the new object which can lead to some confusion and crashes. Creating a base repository becomes easier if all data that needs to be cached implements a simple interface ICacheable. The base repository class that handles insertions, updates and deletions is a generic class that will take an ICacheable object and use the interface properties to store and delete the object. ReactiveUI is a platform independent library based on Reactive Extensions. It was included as an experiment and has shown a lot of potential. Some of the benefits include: • • •

public interface ICacheable { // Unique key for storing data string CacheKey { get; } // Optional time when data will be deleted DateTimeOffset? CacheExpiryTime { get; } }

Bindings and subscriptions makes MVVM architecture easier Reactive collections and derived collections to notify and filter collections Code becomes elegant and descriptive

It does have some drawbacks too, such as • • •

Poor or outdated documentation Code requires a functional approach Steep learning curve

A more complete, or at least up to date, documentation of ReactiveUI and studying Reactive Extensions in general would be helpful before being able to take full advantage of the library.

5. XAMARIN STUDIO Xamarin Studio (at least on OSX) leaves much to be desired. We have had continuous problems with the IDE crashing or introducing strange bugs and build errors that were resolved by simply cleaning and rebuilding or restarting Xamarin Studio. Xamarin as a concept is good however, unifying the platforms under one runtime and language which enables easier cross-platform development. The consensus we have arrived at is that it would be cheaper to invest in Xamarin licenses that allow for development in Visual Studio instead. Although the license cost is higher, in the long run it will be cheaper since development can move forward quicker. Doing so will circumvent most of the downsides their own IDE brings while keeping the core concept of Xamarin.

#5

Author: Lars Cederholm Developer at Addiva Software Tools and Utilities

VISSTE DU ATT… …. att en tärnings motsatta sidor alltid är lika med 7? ... att somrarna på Uranus varar i 21 jordår? ... att endast en person per 2 miljarder kommer uppleva sin 116:e födelsedag? 12

ADDERA


TESTNING VAD ÄR TESTNING? Många tror att testning betyder att hitta defekter, eller att bevisa att det inte finns några. Men, ännu viktigare, testaktiviteter involverar att förhindra och förebygga defekter, och att informera projektgruppen och ledningen om vilken status projektet befinner sig i.

alla viktiga faser som ger värde, och sedan kastar man resultatet över en så kallad “vägg” till testarna som helst ska bevisa att det inte finns några fel. Men testaktiviteter innebär mycket mer än att utföra tester på den klara produkten. En av de grundläggande definitionerna för test är skillnaden mellan verifiering och validering – där verifiering definieras som att kontrollera att programvaran gör det som den definierats att göra (att den uppfyller kraven) och validering innebär att den gör det kunden eller användaren egentligen vill. Utifrån denna definition är testarens viktigaste uppgift att förstå vad den slutgiltiga produkten ska utföra och förstå vad det är som efterfrågas. Krav och test är därför hårt sammankopplade och testarens arbete börjar redan där. Därför bör testpersonalen vara involverad redan när projektet dras igång – de kan hjälpa till med kravarbetet, eller rentav vara de som utför det.

VAD TESTAR MAN?

Magdalena Bozyk Testning betyder mer än att utföra tester. I testning ingår uppgifter som granskning av krav, planering och kontroll, att välja testvillkor och kriterium för acceptans, design av testfall och kontroll av resultat, evaluering av kriterier, rapportering om testprocessen, systemet som testas samt att ge råd när produkten är redo att överlämnas till kund.

NÄR TESTAR MAN? På grund av vattenfallsmodellen eller V-modellen, där integration och test är de sista faserna i processen, finns det en idé om att test är något man enbart gör i projektets slutfaser. Först utförs ADDERA

Det finns flera ordspråk kring agil testning så som “Om det är värt att bygga, är det värt att testa.”, “All kod är testad kod”. “Om det inte är värt att testa, varför slösar du bort din tid på det?”. Vid första anblick är dessa otroligt hårt ställda krav på testning. Inte ens säkerhetskritiska system och av agila världen hatade CMM (Capability Maturity Model)/ CMMI(Capability Maturity Model Integration) förespråkar att allt skall vara testat. Inom säkerhetskritiska system kräver man att allt som är säkerhetskritiskt skall testas, medan man får välja om resten skall testas. Inom CMMI förespråkas det istället att man bör ha en strategi för vilka delar som skall testas och varför, eller varför inte. Detta brukar följas med olika typer av riskbaserade testplaneringar. Delar som är viktiga och vars funktionalitet har stor

påverkan, är de delar som bör testas mest och noggrannast. Delar som är oviktiga, eller vars funktionalitet har minimal påverkan, behöver kanske inte testas alls. Och här dyker förklaringen upp till ordspråken i den agila världen – i varje iteration bygger man bara det som är viktigast. Om det inte är viktigt, så hinner man kanske aldrig bygga det. Därför blir bara de viktiga delarna gjorda och därav testade.

TESTNING I TRADITIONELLA PROJEKT I den traditionella världen börjar man (eller i alla fall bör man börja) med design av testfall tidigt i projektet. Granskning av krav och designdokumentationen utförs då också för att förhindra att defekter uppstår. Man förbereder även alla miljöerna, för att enkelt kunna sätta igång. Själva testningen startar senare i projektet, när koden är levererad. Testningen av koden följer komponent-integration-system processen där systemet/ produkten sätts ihop från sina beståndsdelar.

»» Traditionell projekt

Att följa V-modellen skapar flera problemmoment för test. Testfasen blir ofta komprimerad, då det inte är ovanligt att utvecklingsaktiviteterna drar över tid, medan projektets sluttadum är detsam-

13


ma. Pressade utvecklingsscheman leder till att koden som överlämnas till testarna är dåligt dokumenterad och debuggad. Dessutom är det inte ovanligt att testarna inte är involverade i tidiga faser av projektet, vilket resulterar i att de inte kan utföra det preventiva arbetet, eller ens ordentligt planera själva testandet.

TESTNING I AGILA PROJEKT I de agila projekten är testning integrerad med utveckling – alla faser utförs i samma iteration och inte ovanligt av samma personer. Detta medför helt andra problem än de traditionella. Regressionstester tar den centrala rollen, eftersom varje utökning (kallad inkrement) hotar att förstöra den redan existerade och testade funktionaliteten. Den pressade och förkortade utvecklingstiden per iteration pressar även mer testningen i slutfasen av iterationen än V-modellen gjorde. Och sist, men inte minst, “skeppa fast” mentaliteten kan bli otroligt icke stödjande till själva disciplinen och infrastrukturen som krävs av ordentligt utfört test. För att klara av dessa utmaningar, har man i de agila metoderna för närvarande 4 populära strömmar. Dessa är testdriven utveckling, automatiserade tester, utforskande testning och testkvadranter. Testdriven utveckling är en avancerad metod där man använder sig av test för att driva mjukvarudesignen. Detta görs genom att testfallen skrivs innan designen och koden. Den största fördelen med denna metod är effektiviseringen av arbetet - kravgranskning och analys utförs samtidigt som man skriver testfallen, man kan använda testfallen som krav, och detta fungerar väldigt bra tillsammans med “Definition of Done” (kriterium för acceptans) delen av User Stories. Man tvingar fram fundering kring vad som kan gå fel och vilka de alternativa vägarna är genom systemet. Samtidigt löser det problemet med att utvecklare blir förblindade av sina egna

14

lösningar, då lösningarna inte är färdiga när de skriver testfallen. Automatiserade tester är, som det låter, testfall som körs av separat mjukvara som kontrollerar exekveringen och jämför resultaten med förutbestämda utfall. Detta kan användas för nödvändiga, men tjatiga uppgifter eller för att addera mer testning som annars skulle vara svår att utföra manuellt, eller helt enkelt för att köra regressionstester. Allt mer av testning flyttas över till automatiserade tester, och det efterfrågas allt fler testare som antingen vet hur man använder dessa verktyg, eller vet hur man programmerar. Automatiserade tester tillsammans med kontinuerlig integrering anses vara det mest effektiva sättet att testa. Utforskande (exploratory) testning är en effektiv metod som är svår att acceptera för dem som gillar traditionella testspecar. Utforskande tester innebär att man försöker förstå hur programvaran fungerar samtidigt som man testar och loggar resultaten. Varje testsession utförs under en begränsad tid (kallad tidsbox), med ett eller flera specifika mål. Både målen och resultaten rapporteras. Ofta skriver man ner eller filmar testfallen som utförts, för att skapa en testspec och/eller regressionstester. Idag finns det många verktyg på marknaden som underlättar detta arbete, både för rapportering, inspelning, och automatisering av manuella tester. Testkvadranter är en metod som organiserar testning på annat sätt än

traditionella nivåer (komponent, integrering, system och UAT). Den största anledningen är att för varje funktionalitet som adderas, utför man alla nivåer under en och samma korta iteration. Kvadrantnumreringen har ingen betydelse för prioritering eller ordning av testfall. Dessa används endast som förkortning; som Q1 istället för att säga “tekniska tester som stödjer teamet”. De flesta team tenderar att börja med Q2, därför att det är där som de flesta exemplen dyker upp, som sedan blir specifikationer och tester som driver kod. Kvadranterna är en bra metod som hjälper teamen att planera sina test och se till att de har alla resurser att utföra dessa.

TRENDER Förutom de agila trenderna, så finns det även andra strömmar inom test. Det mest uppbenbara är att test som disciplin har fått ett uppsving i betydelse och intresse. Från att vara något som man bara satte “misslyckade utvecklare” på att utföra, håller det nu på att bli ett riktigt yrke med egen status och karriärmöjligheter. Högskolor som förut bara nämnde till sina studenter att inlämningsuppgifterna bör vara testade, utan att lära ut vad detta innebär, har nu inte bara kurser i testning, utan även forskningsprojekt. Företag letar efter testare med ljus och lykta, samtidigt som det dyker upp specifika testföretag och molntjänster. Detta har även lett till framtagning av en ny teststandard, ISO/IEC/IEEE 29119, som är mycket kontroversiell och omdiskuterat inom testvärlden. Hur och varför den är så kontroversiell, samt argument för och emot är dock ingenting som går att ta upp i bara några meningar, utan skulle kräva sin alldeles egna artikel. Text: Magdalena Bozyk Systemutvecklare Testare Testledare på Addiva Software Tools and Utilities

»» Testkvadranter

ADDERA


LABB 2.0 För att ta vår vision om avdelningen för inbyggda system till nästa nivå togs beslutet att investera i ett elektroniklabb.

I

juli och augusti 2015 flyttades verktygshyllor och väggfästen, arbetsbänkar, stolar och mycket annan utrustning in i rummet som skulle bli hårdvarulabbet. I början på september kom mattläggaren som installerade antistatmatta och första versionen av labbet var på plats. I labbet finns det två primära arbetsplatser och nog med lagringsplats för nuvarande behov. I framtiden förväntas behoven öka bortom vad detta utrymme erbjuder men för nu är det ett lyft och kommer uppfylla våra behov av att skapa hårdvara under betydligt säkrare förhållanden. Tidigare har all utveckling av elektronik genomförts på ESD-mattor på skrivbordet. Detta har fungerat för enklare projekt ehuru kravet alltid är en ESD-skyddad miljö. I labbet finns två 3D-skrivare, en skriver ut med ABSplast och den andra skriver ut med PLA-plast. När dessa maskiner inte uppfyllde de krav vi och våra kunder har på prototyper och leverans i små serier har Vår med flera genomför omfattande modifieringar för att höja kvaliteten till en acceptabel nivå. Nu finns en dialog kring att få fram en tvesovlande 3D-printer i verksamheten, eftersom det verkligen skulle öka produktiviteten. Det är också förberett för komponentlagring allt eftersom behovet tilltar av att bygga labb- och testriggar. John Andersson som är chef för enheten som utvecklar inbyggda system har som mål att labbet ska vara fullt ESD-säkrat, fungera väl för snabbt framtagande av prototyper, testmiljöer och testriggar samt andra labbkretsar som kan behövas i våra projekt.

ADDERA

15


EVENTS PÅ ADDIVA

Addivaträff på Vikingabyn Konferens med stockholmsgänget

Sommarlunch i Vasaparken

Makers, Expectrum

16

ADDERA


Addiva ställde ut på Automation Summit! Vi visade bland annat vårt forskningsprojekt med Ultra Wide Band Radar och den kapslade styrenhet vi levererar till ett företag som tillverkar lyftok. Lyckad konferens med rekordmånga besökare.

På middagen fick vår kollega Fredrik Uppsäll spela med deras egenutvecklade c3n loops. C3n Loops är en app för musiker att uppträda och spela improviserad musik live. Användare kan här importera sina egna loops, synkronisera med mIDI-enheter och koppla upp via AudioBus. - Vår dröm är att skapa en gemensam plattform med ljud och visualisering så att grupper av artister kan uppträda tillsammans, säger Fredrik Uppsäll.

Oktober 2015. Addivaträff på Strike. ADDERA

17


SMARTFUSION2 Field Programmable Gateway Array (FPGA) är en elektronisk enhet vilken kan programmeras till att fungera som annan hårdvara. En FPGA är generellt också omprogrammerbar och kan helt eller delvis byta funktionalitet i enlighet med konstruktörernas beslut. Den första FPGA kretsen, XC2060, gjordes av Xilinx 1985 och föregicks av CPLD/SPLD, GAL och PAL vilka är simplare typer av programmerbar logik. 2005 gjorde Actel en FPGA de namngav Fusion. Den var den första att erbjuda en ARM softcore, d.v.s. en ARM CPU skriven i någon typ av HDL-kod (Hardware Description Language) och programmerad ner på FPGA:ns krets. Idag är VHDL kod (VHDL är ett av de mest använda HDL idag.) I mars 2010 lanserade Actel en vidareutveckling av sin Fusion, SmartFusion – den första FPGA SoC (System on Chip) enheten på marknaden. Kretsen bestod av tre större delar, en FPGA, en ARM SoC och programmerbar analog elektronik. Xilinx följde snabbt med sin Zynq 7000 FPGA SoC och Altera något senare med Arria V och Cyclone V FPGA SoC. Senare under hösten samma år köptes Actel av Microsemi. Den nya koncernen lanserade i oktober 2012 nästa version av konceptet, SmartFusion2. Vad som skiljer SmartFusion2 från

Thomas Otnes

18

SmartFusion är främst att den programmerbara analoga elektroniken tagits bort och i stället har de introducerat kryptokärnor på chip:et samt att FPGA enheten på chip:et är större. Den minsta FPGA storleken för SmartFusion2 är ungefär. lika stor som den största SmartFusion och sedan ökar den till nästan 25 faldig för den största enheten.

I början av sin FPGA produktion fokuserade Actel på säkerhet och Microsemis (Actel) SmartFusion2 är särskilt inriktad på säkerhet, vilket sätter den i en annan nisch från Xilinx och Altera vars enheter är fokuserade på prestanda. På grund av fokuseringen på säkerhet kan kunderna primärt hittas inom fält som kräver hög säkerhet så som militären, rymdverksamhet, flyg och medicinsk utrustning. I juni 2015 annonserade Microsemi att SmartFusion2 nu uppnått AEC-Q100 grade 2 kvalifikation för bilindustrin vilket visar vidare att de jobbar för att placera SmartFusion2 som en komponent för dessa branscher. Microsemi söker att låta SmartFusion2 genomgå tester och utvärderingar för att den ska uppnå certifieringar och kvalifikationer inom säkerhet och tillförlitlighet. Många av deras kunders produkter är sådana att de i tur ska certifieras eller har som krav att komponenter måste möta vissa kvalifikationer.

SmartFusion2 stödjer kryptering, ECC (Error Correcting-Code), DPA (Differential Power Analysis) säkrad samt PUF (Physically Unclonable Function) för att ge säkerhet. Krypteringen stödjer nyttjande av algoritmerna AES256 och SHA256. ECC som nyttjas benämns också som SECDED (Single Error Correcting and Double Error Detecting) vilket tydligare anger nivån på SmartFusion2 ECC-förmåga. DPA är en ‘side channel attack’-teknik för att kunna lyssna av och identifiera informationen i FPGA-kretsen, något som kan nyttjas för att identifiera krypteringsnycklar och även utföra ‘reverse engineering’ på enheten och den kod som laddats. Även om ‘reverse engineering’ inte nyttjas kan en sådan attack möjliggöra att innehållet på en FPGA kan läsas av och kopieras. PUF innebär att samma kod inte ska ge samma implementation på samma eller olika enheter, d.v.s. vara icke klonbar. I tillägg till säkerhet har tillverkningen av SmartFusion2 fokuserat mycket på tillförlitlighet hos enheterna. SEU (Single Event Upset) är när en bit ändras okontrollerat p.g.a. strålning, fabrikationsfel eller andra störningar. SmartFusion2 har SEU immun noll FIT (Failures In Time) flash celler på FPGA kretsen samt SUE skyddade minnen i eSRAM, DDR bryggor (MSS, MDDR, FDDR), instruktions cache, Ethernet, buffer för CAN och USB, PCIe, MMUART (Multi Mode UART) samt SPI FIFO enheter. Det innebär att skyddet mot okontrollerade övergångar av en bits värde är bra och informationen blir därför mycket tillförlitlig, något som är av stor vikt för kunderna i de branscher mot vilka Microsemi (Actel) nischat produkten. Som framgår av listan på enheter med SUE skyddade minnen så har SmartFusion2 så som de flesta SoC enheter en liten samling kommunikationskontrollenheter på chip:et. De kommuADDERA


nikationskontrollenheterna som finns är 1x CAN, 1x 10/100/1000 Ethernet, 1x HS USB 2.0 OTG, 2x MMUART, 2x SPI och 2x I2C. Dessa kan ledas så de får dela I/O via MSIO (Multi Standard user I/O) eller så leds de internt via FPGAkretsen och kan få tillgång till dess I/O. Oberoende är I/O en begränsad resurs för enheter av denna typen vilket gör att den måste hanteras med noggrann planering. Microsemi hävdar att SmartFusion2 har marknadens snålaste enhet med enbart 7 mW förbrukning på enheten som har ca. 50k LUT (Look Up Table) FPGA med 2 mW förbrukning i Flash-baserad fryst läge, något som är av stor vikt för produkter där tillgången på energi kan vara begränsad. Att ingen annan FPGA SoC kan visa motsvarande siffror är beroende av att konkurrenterna är riktade mot en mera prestandabaserad marknad. Enheter som ska jämföras är mindre FPGA-kretsar av liknande storlek då dessa siffror enbart syftar till FPGAdelen av SmartFusion2. På SmartFusions FPGA användes tekniken VersaTiles vilket gjorde det svårare att jämföra storlek och prestanda av FPGAkretsen på enheten med andra konkurrerande enheter. För SmartFusion2 byttes teknik från VersaTiles till Logiska Element (LE) bestående av 4 vägars LUT plus D-vippa vilket gör att FPGAkretsens kapasitet är lättare att jämföra med andra FPGA-kretsar och med FPGA SoC så som Zynq-7000 serien. Vissa komponenter på SmartFusion2 förekommer i antal som beror på vilket chip som väljs. Kapaciteten av FPGAADDERA

kretsen är en sådan. Andra är olika minnen, I/O-pinnar, PCIe end points, DDR controllers, CCCs (clock conditioning circuitry) & PLLs (phase locked loop) och 18X18 matte block. De mindre SmartFusion2-enheterna innehåller färre antal av dessa enheterna medan de större har ett större antal av de resurserna. CCC och PLL används för att synkronisera signaler och nyttjas bland annat för att få stabila klocksignaler. 18X18 matte block kallas också för DSP block då de kan nyttjas för att skapa FPGA-baserade DSP:er. ARM kärnan som finns med är en ARM Cortex M3 med instruktions cache och en del specialiserade konfigurationer och tillägg för SmartFusion2. ARMteknologin licensieras så att implementatörerna tillåts att göra vissa egna anpassningar vilket gör att SmartFusion2 skiljer sig lite från andra ARM Cortex M3 enheter då den är anpassad för denna FPGA SoC. Ett exempel på sådant val är valet av endian vilket för denna implementation och enhet är little endian. För SmartFusion2 har Microsemi höjt den maximala arbetsfrekvensen från 100 MHz till 166 MHz. För programmering av mjukvara till ARMkärnan nyttjas SoftConsole, vilket är en Eclipse-baserad utvecklingsmiljö, vilket underlättar för de som jobbat i Eclipse för andra syften. Programmering och konfigurering av SmartFusion2 utförs i Libero SoC, vilket nu är i version 11.6 och installationer stöds för Windows och Linux versioner. Libero SoC nyttjas för syntetisering, kompilering, ”place & route”, tidshantering och generering av programmerings data. Då en FPGA agerar som diskreta bitar

hårdvara är tidshanteringen viktigt och för att kunna kontrollera och verifiera den blir ”place & route” viktig. Vart på FPGA:n som ett IP-block (en färdig enhet) placeras kan påverka mycket för ett system bestående av många IP-block. Lika så hur signalerna dras mellan dessa IP-block, vilket ”routing” syftar till. Ett tredje program, Synplify Pro är en tredjeparts-programvara från Synopsys för syntetisering av VHDL-kod för enheter från flertalet tillverkare inklusive Microsemi vilket gör att programmet kan användas som komplement eller alternativ. Synopsys gör anspråk på att programvaran underlättar för optimering av designen som skapats. Synplify Pro kan syntetisera koden till RTL (Register Tranfer Level) vilken kan flyttas mellan olika enheter från olika tillverkare, men för ”place & route” så får man byta till tillverkarens egna verktyg vilket för SmartFusion2 är Libero SoC varpå programmeringen av enheten kan slutföras. Microsemi erbjuder tre olika utvecklingskort med olika storlekar av SmartFusion2 på respektive kort. De är prissatta till $299, $399 respektive $999. Addiva har införskaffat två SF2 STARTER KIT med M2S050 FGG484 enhet (prissatt till $299) för utveckling på SmartFusion2. SmartFusion2 är inte den snabbaste eller beräkningsstarkaste FPGA SoC enheten, men den är det bästa valet om en FPGA SoC för tillförlitlighet och säkerhet ska väljas och den är mer än kompetent nog för många inbyggda system, vilket dess många tillämpningar inom rymd, flyg och medicinteknik vittnar om. Text: Thomas Otnes Utvecklare på Addiva Software and Embedded Services

Källor till bilderna: https://community.arm.com/ http://www.microsemi.com/

19


PER REFERERAR FPGA WORLD 2015 FPGA World gick av stapeln den 8:e september i Solna. Mässan anordnas av en samling intressenter från industrin och den akademiska världen. Den sammankopplande faktorn är spridandet av intresset för FPGA (Field Programmable Gate Array, en typ av programmerbar elektronik). Det fanns tre parallella ”spår” av seminarier: ett inriktat mot industri/studenter/ hackers, ett mot akademiker och ett för produktpresentationer.

F

rån akademiska sidan presenterade Ahmed Hemani, professor på KTH, förslag till ett nästa steg i FPGA utveckling. Hans forskning baserades på att ta steget från logikelement – de för närvarande minsta byggstenarna i FPGA utveckling – upp till en högre abstraktionsnivå, med flera mer specialicerade kodblock. Fördelarna med det är att syntisering (FPGAmotsvarigheten till att kompilera kod) går mycket snabbare. Utöver detta förespråkar Ahmed ett nytt designflöde vid utveckling av system som använder FPGA:er. Flera intressanta projekt presenterades, bland dem ett lyckat stereovisionprojekt från företaget Antmicro, där en FPGA hade använts för att implementera djupseende. Kortet Gimme2 med en Zynq 7020 FPGA och två kameror användes. Stereovisionalgoritmen, sensorinterface och filter kördes i FPGA, medan ARM-processorn hanterade ”rectification” – korrigering av lensdistortion. På ARM CPUn kördes Ubuntu Linux med OpenCV och V4L (Video for Linux). Resultatet var en 320x240 video med 60 fps, 1-10m djupkänslighet. Industrin – i detta fallet Altera som är en av de största aktörerna i FPGA världen med 40-45% av marknaden – presenterade deras nästa generation av lågprisFPGA:er, Max10. Denna FPGA har till skillnad från värstingmodellerna ingen hård inbyggd CPU. Den har dock upp till 50k logikelement, vilket är tillräckligt för

20

»» FPGA World 2015

att implementera Alteras soft-core CPU Nios II. En av de största fördelarna med denna krets är dess pris; det går att köpa utvecklingskortet Bemicro Max10 för endast $30. Altera presenterade även deras uppkommande dyrare och kraftigare kretsar Arria10 och Stratix10. Stratix10 är en FPGA med upp till 5.5 miljoner logikelement och en innbyggd ARM Cortex-A53. På mjukvarusidan talades det om framtiden med att använda sig av OpenCL i FPGA:er, och på så vis låta C-programmerare utnyttja kraften i dessa parallella kretsar.

väl beprövade JUnit och liknande ramverk. Även VUnit använder sig av OSVVM. Mässan avslutades med en diskussion ledd av industriveteranen Mike Dini angående Intels uppköp av Altera, och vad han tror det kan ha för effekter/synergier. Mike var något skeptisk till hela affären och uttalanden om att FPGA:er kommer att dyka upp som en signifikant teknologi i datacenter - vilket framtiden får utvisa. Text: Per Lenander Utvecklare på Addiva Software and Embedded Services

Ett stort tema som kom tillbaka i flera av årets seminarier var testning och verifiering. Flera olika ramverk för verifiering av HDL (Hardware Definition Language) kod presenterades. OSVVM (Open Source VHDL Verification Methodology) är ett utility bibliotek för att bygga testbänkar i VHDL. Detta används i sin tur av UVVM (Universal VHDL Verification Methodology), ett av de ramverk för enhetstestning av VHDL kod som presenterades och som kommer släppas som freeware i slutet av september. En av utställarna som jag pratade med var utvecklaren bakom ett konkurrerande ramverk, VUnit, som går att hämta ner gratis från GitHub. Likt UVVM är detta ett ramverk för enhetstestnings av VHDL kod, baserat på tänk och design från det ADDERA


SÅ SER ADDIVA PÅ AZURE PLUS • • • • •

Slipper ha en massa dyra servrar. Skylla på annan när saker inte funkar. Behöver inte ha full kontroll på servrarna. Skala enkelt efter behov med några få musklick. Många olika tjänster direkt (websida, mobil service, virtuella maskiner, sqlserver, ren lagring med mera) så när man är på jakt efter att bara hosta en websida och slippa hantera en hel server är det perfekt!

MINUS • • • Martin Friberg

Dyrt. Man har inte 100 % kontroll på servrarna. Svårare att kombinera flera tjänster på samma maskin. Man får antingen köra en virtuell maskin och sköta allt själv (tappar lite av smidigheten) alternativt skaffa flera servicar som hanterar enstaka saker (sql-server, websida, lagring). Inte alltid uppdaterat med de senaste versionerna av nugetpaket. Text: Martin Friberg Systemutvecklare på Addiva Software Tools and Utilities

EN TILLBAKABLICK SOM VISAR HUR SNABBT DET GÅTT… 1992 Ett foto laddas för första gången upp på Internet

1994 Aftonbladet.se lanseras 1995 Netscape börsintroduceras 1996 Dvd-skivan lanseras 1998 Google grundas 2000 IT bubblan spricker 2001 Domännamnet Wikipedia registreras 2003 Pirate Bay startar 2004 Facebook startar ADDERA

2005 Första videon på YouTube 2006 Twitter startar 2006 Spotify grundas 2007 Steve Jobs presenterar Iphone 2010 Instagram lanseras 2010 Spotify når 10 miljoner användare 2011 IBMs artificiellt intelligenta dator

Watson vinner över amerikanska mästarna i Jeopardy

2012 Apple värderas till 620 miljarder dollar 2014 Facebook fyller 10 år med 1,4 miljarder aktiva användare

2015

Var 10e sekund skapas drygt 0,002 extrabyte data.

2015

Periscope lanseras och når 10 miljoner användare på 6 månader.

Om fem år...

2020

…producerar vi mer information på en sekund än vad som fanns i världens samlade skrifter i början av 2000 talet.

…kommer 5,4 miljarder uppkopplade enheter att finnas, allt från smarta mätare till uppkopplade bilar. Att jämföra med så fanns det 1,2 miljarder uppkopplade saker 2014.

21


OLLE SKAPAR PÅ MAKERS HOS EXPECTRUM!

P

å måndagkvällar är du välkommen till Makers! På Makers får du möjlighet att nyttja Expectrums verktyg, maskiner och arbetsyta för att arbeta med dina projekt. Du tar med dig ditt eget material och tillsammans hjälper deltagarna varandra att upptäcka och komma på lösningar. Det finns även en hel del förbrukningsmaterial och komponenter som du kan använda. Makers är för dig som vill komma och arbeta på dina eller andras projekt, dela erfarenhet och kunskap, samarbeta eller bolla idéer. Vad som händer vid varje tillfälle formas efter de personer som deltar. I fokus är nyfikenheten och kreativiteten. Vår kollega Olle håller nu på att konstruera och 3D printa delar till en trikopter. – Det är otroligt givande att träffa likasinnade och delta i ett tekniskt forum där det är själva skapelseprocessen som är det centrala. Där resultatet sällan består av en färdig produkt eller lösning, utan snarare av ökad nyfikenhet, förståelse och insikt! säger Olle. Du får tillgång till verktyg som till exempel: - pelarborr, bandsåg, bandslip- och skivputsmaskin, kontursåg/figursåg, CNC-fräs, programmeringsbar symaskin, dremel multiverktyg - lödstationer, snickarbänk, hammare, borrmaskiner, sågar, skjutmått, skruvmejslar, flera 3D skrivare, 3D Doodler, 3D-scanner, 3D-mus, animeringsstation, Oculus Rift (headset för Virtual Reality), RaspberryPi, Wacom-plattor, SketchUp för att rita i 3D, labb med dragskåp, mikroskop, vattenbad, värmeskåp, elbrännare, magnetomrörare och elektronisk pH-mätare.

Olle Wedin

22

ADDERA


NYA PÅ ADDIVA

MAGNUS

THOMAS

LARS

Magnus är en del av vårt 800 XA team med gedigen kunskap om och certifieringar i systemet. Han har tidigare arbetat på ABB med både

Thomas fokusområde är inbyggda system med erfarenhet av att utveckla realtidssystem, mjukvara och hårdvara. Han kommer närmast

Tidigare arbetade Lars på Asplund Data med utveckling av bland annat ett kontrollsystem med tillhörande app för live-visning av resultat

800XA, AC800 och AC500 med gott resultat där han fick utmärkelse som Young Talent. Han har haft roller som lead engineer, programmerare, testledare och idrifttagare i flera olika länder i en mängd olika projekt.

från civilingenjörsprogrammet i tillämpad datateknik på Mälardalens Högskola men har tidigare arbetar som supportansvarig på ett datasäkerhetsföretag. Thomas har god kompetens inom FPGA och VHDL och programmerar gärna i C eller C++.

från skjutbanor. Lars har en magisterexamen i datavetenskap från Mälardalens Högskola och var laboratorieassistent på ett flertal av programmeringskurserna som tillhörde programmet. På Addiva har han arbetat med utveckling på Windows plattformar och med applikationsutveckling på både Andorid och IOS.

Han är en omtyckt kollega och har ett bra sinne för helhet. Han ser lätt uppgiften ur kundens synvinkel och kommer med många bra idéer.

Thomas tycker om att hitta den bästa lösningen för de omständigheterna som råder och då i andan av entreprenörskap som också tillgodoser de affärsmässiga villkoren.

NIKLAS

JÖRGEN

Niklas har studerat datavetenskap på Mälardalens Högskola och fördjupade sig i inbyggda system och realtidssystem. Där arbetade han även som handledare i kursen för programmering av inbyggda system. Innan Niklas började på Addiva arbetade han med bland annat utveckling av online betalningssystem, webutveckling och inbyggda system. Just nu är det C# och WPF utveckling som är mest intressant.

Jörgen är utbildad ingenjör från Västerås med inriktning mot el och automation. Hans erfarenhet omspänner framförallt elkonstruktion på detalj och systemnivå, idrifttagning och validering av kontrollsystem. Jörgen har även vana ifrån olika branscher, exempelvis anläggningskonstruktion med strålskyddskrav och tåg/signal. Med sin långa erfarenhet av de flesta vanligt förekommande elkonstruktionsprogrammen kan han hantera många olika uppdrag.

Han sätter sig in i saker snabbt och provar gärna ny tekniker eller lösningar, medans han arbetar i ett högt tempo.

ADDERA

Lars löser alltid problemen och är lätt att samarbeta med, vilket gör honom till en omtyckt konsult.

»» 7:e Oktober var vår VD på ABB Industrigymnasium som Månadens föreläsare!

Jörgen är en lugn och noggrann person som alltid lämnar ifrån sig resultat med kvalitet.

23


CONTACT ADDIVA Peter Krantz

Dag Lindahl

Rasmus Friberg

Amel Muftic

Sales & Business Development

Head of Software Tools and Utilities

Business Center Stockholm

Head of Software Products

0708-67 24 57 peter.krantz@addiva.se

0736-10 22 60 dag.lindahl@addiva.se

0768-30 80 70 rasmus.friberg@addiva.se

0708-68 70 13 amel.muftic@addiva.se

Johan Nilsson

John Andersson

Pamela Christensson

Head of Mechanical and Electrical Engineering Services

Head of Software and Embedded Services

Head of HR and Administration

0705-55 04 88 johan.nilsson@addiva.se

0702-78 35 84 john.andersson@addiva.se

0708-68 54 11 pamela.christensson@addiva.se

Kopparbergsv채gen 8, 722 13 V채ster책s. Telefon: 021- 471 21 30. E-mail: pamela.christensson@addiva.se


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.