Filip Klasson
Mjukvaruutvecklare
Filip är expert inom modellering och simulering samt distribuerade system där skalbarhet, lastbalansering, feltolerans, interoperabilitet och datakonsistens alla är viktiga aspekter.
Filip behärskar ett flertal teknologier, programmeringsspråk och ramverk, bl.a. C++, C#, Java, JEE, JavaScript, jQuery UI, jQuery Mobile, Android SDK, High Level Architecture, Enterprise Architect, HTML, RESTful Web Services, JSON, ASP.NET MVC, Entity Framework, Spring Framework.
Filip har ett stort intresse för mjukvaruutveckling i moderna objektorienterade miljöer samt av webb- och mobil teknologi.
Områden
- Mjukvaruutvecklare
- Arkitekt
Om Filip
Filip är som person ansvarsfull, kundorienterad, kreativ och har lätt att ta till sig ny kunskap. Filip är målinriktad och uppskattar projekt med teknisk höjd. Ett perfekt projekt använder sig av modern utvecklingsmetodik, har många tekniska problem att överkomma och innehåller team som är kompetent, engagerade och brinner för sitt arbete. Filip har ett stort tekniskt intresse och uppskattar utmaningar och har alltid ett eller fler pågående mjukvaruprojekt som han njuter av på sin fritid.Filips CV
-
Eget Androidprojekt
Utvecklare
2014 - 2014
Utveckling och publisering av styrketräningsapp för Android. Appen används för att spara träningsscheman och träningspass samt presentera utvecklingen över tid i ett antal olika grafer. Appen består av några få Activities som är relativt tomma som sedan dekoreras med olika fragments, detta för att effektivt kunna återanvända fragment i olika delar av applikationen. Supportbibliotek (ActionBar, ActionBarTabs, Fragment, Dialoger) används för att stödja så många AndroidAPI-versioner som möjligt. SQL-databas används för att lagra data (använder ORM Lite). Robotium används för testautomation och Git används för versionshantering. Övrigt: Drag & Drop, Save Restore Instance State (Life Cycle Management), View Pager, In-App Purchases, Gradle. -
Aptean
Utvecklare
2013 - 2013
Underhåll och uppgradering av existerande e-handelsportal (Java, JEE, Struts, Spring Framework, Hibernate, SQL, JSP, Quartz, Apache Velocity, XML, HTML, CSS, Dojo, Maven).
Förstudie med ett flertal prototyper inför ny e-handelsplattform (ASP .NET MVC 5, C#, Entity Framework 6, EPiServer CMS, EPiServer Commerce, jQuery, jQuery Mobile, Javascript, Handlebars, Bootstrap, Microsoft SQL Server). Versionshantering med Clearcase samt Team Foundation Server (TFS). -
Pitch Technologies
Arkitekt och Utvecklare
2012 - 2013
Produktutveckling samt prototyper inför demonstration på simuleringsmässa i Italien. Webb- och mobil teknologi används tillsammans med en rad simuleringssystem från olika leverantörer för att visa möjligheterna att integrera modern teknologi i äldre system samt samexistens av moderna och gamla simuleringskomponenter. Bland annat görs en webbapplikation där simuleringstillståndet i militär simulering presenteras på en karta (Google Maps) och uppdateras kontinuerligt. Användarna kan utföra simuleringsoperationer från ett webbgränssnitt (JEE, jQuery, JavaScript, HTML5, Modernizr), från ett mobilgränssnitt (jQuery Mobile) samt från en Androidapplikation som använder sig av Android Google Maps. Stöd för de mest populära webbläsarna implementeras och gränssnitt designas för att se tilltalande ut på många olika storlekar av devices (mobiltelefoner och tablets). Serversidan skrivs i Java och kommunikationen med klienter sker via RESTful Web Services i JSON-format. För att underlätta Dependency Injection och öka testbarheten används Spring Framework. Testning görs med Junit, Mockito samt Selenium 2. Maven hanterar beroenden till andra bibliotek. SVN och GIT används för versionshantering. FogBugz används som ärendehanteringsystem och arbetet utförs med inslag från SCRUM och kanban bl.a. med verktyget Trello. -
Försvarets materielverk (FMV)
Arkitekt och Utvecklare
2012 - 2013
Cirka 10 personer med olika expertis inom militär verksamhet, simulering och distribuerade system ska analysera, modelera och harmonisera krav kring framtida militära ledningsträningssytem i luft, sjö och markdomänen. Jag deltar som specialist inom distribuerade system samt som arkitekt och utvecklare. System- och kravmodellering sker i Enterprise Architect enligt MoDAF (Ministry of Defence Architecture Framework). En fristående applikation skriven i C# utvecklas för att effektivisera kravanalys samt möjliggöra spårbarhet (krav -> design -> implementation), kollaborativt arbete med spårbarhet av förändringar och granskningsprocesser. Applikationen utbyter information med Enterprise Architect SQL-databas. En lokal representation av databasens tillstånd skapas för att möjliggöra komplex dataanalys och datainsamling samt markant öka prestandan genom att bundla databastransaktioner vid inmatning av ny information. Hantering av krav, granskningsprocesser mm sker i form av en rad Microsoft Word- och Microsoft Excel-mallar där applikationen har möjlighet att skapa skräddarsydda dokument för de olika författarna beroende på vilken typ av information som efterfrågas och vilken fas arbetet är i. Gruppens deltagare kan välja att arbeta enbart med Word och Exceldokumenten genom att generera nya dokument vid behov, modifiera och lägga till ny information och sedan låta applikationen tolka och mata in informationen i databasen. Ytterliggare ett antal applikationer utvecklas där ibland ett plug-in till Enterprise Architect som gör det möjligt att importera High Level Architect objektmodeller enligt OMT (Object Modeling Template) specifikationen till Enterprise Architect i form av UML (SysML). C#, Windows Forms, UML, Informations- och databasmodellering, SysML, MoDAF, Word/Excel Automation, Google Protobuf, SQL, Enterprise Architect SDK, Scrum. -
BAE Systems
Arkitekt och Utvecklare
2012 - 2012
Design och implementation av applikation med förmågan att lagra och bearbeta/analysera simuleringstillståndet vid olika tidpunkter. Syftet är att använda applikationen vid militärövningar där man efter genomförd övning genomför AAR (After Action Review) för att analysera vad som skett. Applikationen används tillsammans med en tidigare utvecklad applikation som presenterar simuleringsläget och ger användaren möjlighet att pausa, spola fram/bakåt, öka uppspelningshastighet osv. Utveckling sker i Java och information lagras i en SQL databas. -
Försvarets materielverk (FMV)
Arkitekt
2012 - 2013
Försvarsmaktens framtida behov av datorstödd ledningsträning kartläggs och harmoniseras i form av krav och design. Arkitektur, designregler och designmönster tas fram för nya såväl som existerande systemkomponenter. Arkitektur och design relaterat till bland annat Skalbarhet, Lastbalansering, Prestanda, Feltolerans och Datakonsistens. Min primära roll är som arkitekt och specialist inom distribuerade system och distribuerad simulering samt användning av öppna standarder så som HLA (High Level Architecture).
Design och Arkitektur, Kravanalys, Kravmodellering, Verksamhetsanalys, Enterprise Architect, UML, Informations- och databasmodellering, Projektledning, RUP 4+1, SysML, MoDAF. -
Försvarets materielverk (FMV)
Arkitekt
2012 - 2012
Huvudansvarig för design av nya interoperabilitetskomponenter samt huvudansvarig för integration mellan samtliga mjukvarukomponenter som behövs för genomförande av stor datorstödd ledningsträningsövning (hundratals aktivt deltagande). Information behöver utbytas mellan C2-system (Command & Control) levererade av Saab och simuleringssystem levererade av BAE Systems. Krav på interoperabilitet ställs av FMV där HLA (High Level Architecture) har en viktig roll. Information utbyts enligt en SISO standardiserad objektmodell för militär simulering. Krav på robusthet och prestanda är mycket högre än vad ingående komponenter tidigare upplevt vilket kräver god design men även kontinuerlig integration för att säkerställa att samtliga komponenter uppfyller ställda krav. C++, Java, HLA, Distribuerade system, Distribuerad simulering, Pitch pRTI, SLB, Saab WISE, PC-DART, Windows Server 2003 Administration, Windows Active Directory, Continuous integration, Team City, Ant. -
Försvarsmakt
Utvecklare
2011 - 2012
Integration av ett antal komersiella simuleringskomponenter (bland annat Steel Beasts, X-Plane, VBS2) samt kundens simuleringssystem. Integration görs i C++ och Java via ett antal interoperbilitetsramverk (t.ex. LVC-Game och Pitch Developer Studio) men också direkt integration med kundens system (C++). En webbapplikation vidareutvecklas (JEE, HTML, JSON) för att visualisera delar av simuleringen samt underlätta integrationen av övriga system. Uppdragets syfte är att hjälpa kunden att komma igång med integrationsarbetet för att sedan kunna övergå i en utvecklingsfas för att utöka simuleringsförmågan i deras system. Övrigt: C++, Java, XML, HLA. -
Försvarets materielverk (FMV)
Arkitekt
2011 - 2012
Forskning och utveckling kring områden där förbättring behövs i nuvarande ledningssystem och simuleringssystem som används i Sverige. Arkitektur och design genomförs i team mer prototypande för att utvärdering. Exempel på områden som undersöks är prestanda/skalbarhet, öppna standarder angående utbyte av information inom olika domäner, hantering av simuleringstid, datakonsistens vid storskalig distribuerad simulering, synkronisering av simuleringstillstånd och informationsutbyte mellan simulatorsystem och Command and Control system (C2). Java, C++, High Level Architecture (HLA Evolved), Distributed Interactive Simulation (DIS) -
Företag inom försvarsindustri i Frankrike
Arkitekt
2011 - 2011
Design tillsammans med ett team i Frankrike för att överkomma ett antal problem relaterat till distribuerad simulering. Bundling av nätverkspaket, packet loss, latency, calculation smoothing algorithms, nätverkslayout, filtrering av information, feltolerans och skalbarhet. -
Försvarets materielverk (FMV)
Arkitekt och Utvecklare
2011 - 2011
Design och implementation av webbapplikation för att monitorera, starta och stoppa tjänster som exekverar på ett virtuellt nätverk. Applikationen hittar de tjänster som finns tillgängliga i molnet och presenterar de tjänster som användaren har rätt att monitorera, stoppa och/eller starta. Java, Utveckling sker i Java med JEE och Spring Framework. Utveckling av användargränssnitt görs med HTML, CSS, Javascript och jQuery UI. Arbetet genomförs med agil arbetsmetodik enligt SCRUM. För versionshantering används Git. Övrigt: Maven, Bonjour. -
BAE Systems
Arkitekt och Utvecklare
2011 - 2011
Design och implementation av applikation som genererar C#-kod där koden som genereras är ett middleware för att underlätta utveckling av C#-simuleringsmodeller och C#-applikationer som använder simuleringstjänster som utbyter information i en distribuerad miljö på ett eller flera virtuella nätverk. C#, C++/CLI, C. -
Pitch Technologies
Handledare och Mentor
2011 - 2011
Handledare för examensarbete där studeten har som uppgift att ta fram ett ramverk för test och verifiering av applikationer som exekverar tillsammans för att lösa gemensamma uppgifter (cloud computing) med fokus på skalbarhet och feltolerans. Utveckling sker i Java. Övrigt: XML, Unit testing, Continuous integration, Team City, Ant. -
BAE Systems
Utvecklare
2010 - 2011
Design och utveckling av ett antal webbapplikationer för att ge BAE systems kunder ny simuleringsförmåga, skalbarhet, robusthet och feltolerans vid användning av ny simuleringsplattform (som designades i ett tidigare uppdrag). Applikationerna visar bland annat hur man kan hantera balansering av last i ett distribuerat system med simuleringstjänster samt hur man hanterar bortfall av simuleringskomponenter beroende på krasch eller nätverksproblem. Utveckling sker i Java med JEE och utveckling av användargränssnitt med jQuery Mobile, HTML, CSS, Javascript och Google Maps. Webb- och applikationsservrar som används är Apache Tomcat och Caucho Resin. Versionshantering med SVN. Övrigt: SOA, Maven, Unit testing, Continuous integration, RESTful Web Services, JSON, XML-RPC. -
Försvarsmakten Sverige
Utvecklare
2010 - 2011
Design och implementation av applikation som levererar indata till C2-system (Command & Control) som är de system som används för ledning i skarpt läge av försvarsmakten. Indata består av tillståndet i simuleringssystemen som används med funktionalitet för att ytterliggare efterlikna verkligheten genom en mängd konfigureringsmöjligheter för att t.ex. fördröja eller förvränga indata. Java, HLA (High Level Architecture), XML, Unit testing, Continuous integration, Team City, Proguard, Ant. -
BAE Systems Bofors
Arkitekt och Utvecklare
2010 - 2010
Design och implementation av plattform för nätverkskommunikation och informationsutbyte mellan militära simuleringsmodeller. Implementation av lager för nätverkkommunikation och informationsutbyte i simuleringsmodell för Archersystemet. Agilt arbetssätt med SCRUM, kanban samt Testdriven utveckling (TDD). Kontinuerlig integration och byggprocess via Ant och Team City. Versionshantering: SVN. Övrigt: C++, High Level Architecture (HLA), XML. -
Pitch Technologies
Arkitekt och Utvecklare
2010 - 2010
Design och implementation av interoperabilitetskomponent i existerande applikation. Applikationen transformerar information som skickas enligt High Level Architecture (HLA) till ett format specificerat enligt Distributed Interactive Simulation (DIS). Förbättrad design av existerande delar av applikationen beroende på höjda krav på antalet transaktioner/s, underhållbarhet för framtida tillägg, förbättrad felhantering och användarvänlighet. Versionshantering sker med SVN. I byggprocessen används Ant och Team City för att köra automattester samt att bygga alla delar av applikationen kontinuerligt. Övrigt: Java, High Level Architecture (HLA), Distributed Interactive Simulation (DIS). -
BAE Systems
Arkitekt
2010 - 2011
Design och implementation av backendplattform för simuleringskomponenter som exekverar i en distribuerad heterogen miljö (interoperabilitet mellan programmeringsspråk samt mellan operativsystem). Plattformen sköter all nätverkskommunikation, tidshantering, upp och nerpackning av data, samt funktionalitet för att utnyttja multicore-CPU. Nätverkskommunikationen genomförs såväl på LAN som WAN. C++, C++ Boost, Java, Web Services, WSDL, High Level Architecture (HLA), Visual Studio 2010, Visual Studio 2008, VC9, VC8, Versionshantering med SVN samt Clearcase. -
Pitch Technologies
Arkitekt och Utvecklare
2009 - 2010
Design och utveckling av ett antal webbapplikationer och system för att koppla samman ett antal distribuerade system (främst simuleringssystem). Utveckling sker i Java med JEE och utveckling av användargränssnitt med HTML, CSS och GWT. Webb- och Applikationsservrar som användes var Caucho Resin och Apache Tomcat. Maven används i byggprocessen. Versionshantering: SVN. Övrig Webbteknologi i form av bl.a. JEE, SOA, RESTful Web Services, XML-RPC, JSON och Google Maps används i ett antal applikationer för användning av tunna och smarta klienter på mobiltelefoner och tablets för att komma åt simuleringstjänster i molnet. -
Pitch Technologies
Utvecklare
2009 - 2010
Design och implementation av applikation (Pitch Developer Studio) som genererar kod i C++ och/eller Java. Denna kod packas vanligtvis i ett bibliotek (lib) som sedan integreras med kundernas applikationer som används för simulering. Detta mellanlager används för att underlätta, öka feltoleransen och spara tid och pengar vid utveckling av simuleringskomponenter. Den genererade koden kommunicerar med standardiserade gränssnitt (IEEE 1516-2000 och IEEE 1516-2010) i en distribuerad miljö. Stöd för ett flertal kompilatorer och platformar. Ärendehantering sker med FogBugz. För kontinuerliga automattester samt byggmiljö används Team City, jUnit och Ant. Versionshantering: SVN. Arbetet utförs enligt ett agilt arbetssätt med Testdriven utveckling (TDD), Extreme Programming (XP), SCRUM och kanban. Övrigt: High Level Architecture (HLA), C++, Java, Java Swing, Apache Velocity, Proguard, Pitch pRTI, MäK RTI, Red Hat Enterprise Linux 6, Mac OS X 10.7, Visual Studio 2010, Visual Studio 2008, VC10, VC9, VC8, GCC4.1, GCC3.2.
Filips kompetensområden
-
Branscherfarenhet
Service/Tjänster, Försvar -
Hårdvara
PC -
Metoder & Processer
Agila metoder allmänt -
Operativsystem/plattformar
Windows XP, Windows 7 -
Projektfaser
Implementation -
Roller
Utvecklare/Programmerare -
Systemtyper
Webb- och Internetbaserade system, Nätverk och kommunikation, Windowsapplikationer, Simulering, Objektorienterade system -
Utvecklingsspråk
ASP.NET, C++, HTML, Java, MS .NET, MVC, C#, Rust, HTML5, Jquery, CSS -
Verktyg & Middleware
Subversion
Filips anställningar
-
Systems Architect, Pitch Technologies
2011 - 2013
-
Systems Developer, Pitch Technologies
2009 - 2011
Filips utbildningar
-
Flight and Ground Vehicle Simulation, Binghamton University - New York
2013 - 2013
-
Civilingenjör Datateknik, Linköping
2004 - 2008