siim karus //courses.cs.ut.ee/mtat.03.265/2012_fall/uploads/main/... · class ="wmi "...

Post on 05-Feb-2018

224 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Siim Karus

http://sep.cs.ut.ee/

Sissejuhatus informaatikasse

Ärianalüüs (BA)

Protsesside modelleerimine (BPM)

Protsessimudelite analüüs

Mudelite rakendamine

Suurte infosüsteemide optimeerimine

Tarkvaraarendusprotsessi analüüs

Tarkvaraarendusprotsessi optimeerimine

Valdkonnaspetsiifilised keeled (DSL)

Sissejuhatus informaatikasse8.10.2012 2

Sissejuhatus informaatikasse8.10.2012 3

Siim Karus• Analyzing software project repositories

Peep Küngas• Uncovering data from Web services (Deep Web and Mashups)

Michele Mazzucco• Running Web services with minimal infrastructure

Viara Popova• Automated discovery of business process models

Luciano García-Bañuelos• Analysis of business process models

Raimundas Matulevicius• Security requirements and business process modeling

Marlon Dumas• Nothing and everything, but also business process modeling

• How to reduce redundancy in business processes?Reina Uba

• What makes a business process model useful?Toomas Saarsen

• How to manage zillion variants of the same process?Peyman Milani

• How to manage zillion variants of the same process, automatically?Abel Armas

• How to fix security issues in business processes?Naved Ahmed

• How to develop systems in your own language?Margus Freudenthal

Sissejuhatus informaatikasse8.10.2012 4

Sissejuhatus informaatikasse8.10.2012 5

Sissejuhatus informaatikasse8.10.2012 6

8.10.2012 Sissejuhatus informaatikasse 7

8.10.2012 Sissejuhatus informaatikasse 8

• Informaatika doktor

• Microsofti Partnertudeng 2007-2009 (MSP)– http://www.microsoft.com/eesti/msp/

• Vabavaraportaali VabaVaraVeeb üks autoritest– http://vabavara.eu

• Üle 5 aasta kogemust programmeerija, infosüsteemide audiitori, arhitekti ja äriteadmuse lahenduste arendaja rollides

8.10.2012 MTAT.03.230 Veebirakenduste loomine 9

Sissejuhatus informaatikasse8.10.2012 10

Sissejuhatus informaatikasse8.10.2012 11

Sissejuhatus informaatikasse8.10.2012 12

Sissejuhatus informaatikasse8.10.2012 13

Sissejuhatus informaatikasse8.10.2012 14

Minu teema

Sissejuhatus informaatikasse8.10.2012 15

Data from http://www.ohloh.net

Total 2010

25%

20%

15%

10%

5%

Sissejuhatus informaatikasse8.10.2012 16

Churn in 2010

25%

20%

15%

10%

5%

Data from http://www.ohloh.net

Sissejuhatus informaatikasse8.10.2012 17

Sissejuhatus informaatikasse8.10.2012 18

Sissejuhatus informaatikasse8.10.2012 19

Sissejuhatus informaatikasse8.10.2012 20

Sissejuhatus informaatikasse8.10.2012 21

Sissejuhatus informaatikasse8.10.2012 22

Most Java developers but only every second C/C++ developer work with XML.

Java and XML files (especially those of project specific types) are more likely to be edited by the same person than Java files and project definition files.

A developer works with more than 5 different artefact types (or 4 different languages) in a project on average.

Sissejuhatus informaatikasse8.10.2012 23

The most commonly co-evolving files are usually of the same type.

Most common co-evolving file types are: Java and XML; C and plaintext files; and C and Makefiles.

JavaScript and CSS files most often co-evolve with XSL.

Sissejuhatus informaatikasse8.10.2012 24

• Project specific XML is the most popular artefact type in OSS projects.

• Project definition XML files are less likely to be changed with Java files than other project specific XML files.

• Developers work with 4 languages on average in a project.

• Developers often use languages from different paradigms together.

Sissejuhatus informaatikasse8.10.2012 25

Sissejuhatus informaatikasse8.10.2012 26

Sissejuhatus informaatikasse8.10.2012 27

<?xml version =" 1.0 " encoding =" utf-8 " ?><links >

<!-- Comment --><a

class =" web“href =" http://vabavara.eu " />

<aclass =" web“href =" http://www.ut.ee " />

<!-- Comment --><a

class =" wmi"href =" \\Machine1\root\cimv2 " >WM cimv2 root

</ a><!-- Comment --><a

class =" file "href =" file://D:/Intro.docx " />

</ links >

Content

XHTML

RSS

XAMLPLAINTEXT

PDF

XML

Sissejuhatus informaatikasse8.10.2012 28

Evolution of XML• New information• Obsolete information• Changes in semantics

Maintenance• Updates in relevant

transformations

Sissejuhatus informaatikasse8.10.2012 29

Use existing or common controls.

Use generic services instead of internal components to expose similar aspects.

Compose complex services of individually addressable and “subscribable” services.

Avoid the need for additional metadata to render a document.

Sissejuhatus informaatikasse8.10.2012 30

0

100

200

300

400

500

VVVFramework

FxCopReport xCBL toRosettaNet

Lin

es

of

Co

de

Guidelines No guidelines

0

50

100

150

200

250

VVV framework FxCopReport xCBL toRosettaNet

Nu

mb

er

of

Ele

me

nts

Guidelines No guidelines

Sissejuhatus informaatikasse8.10.2012 31

stylesheet test templates calls Time (ms) Difference

(ms)

Difference

(%)

xCBL 2

RosettaNet

Original 2 60k 204590guidelined 2 60k 210602 6012 2,9%

FxCopReportoriginal 12 2450k 8051419

guidelined 13 2450k 7830934 -220485 -2,7%

Sissejuhatus informaatikasse8.10.2012 32

• By making– use of common controls

– use of generic transformations

– transformations individually addressable and subscribable

– use of metadata in source documents

• We got transformations that– Are slightly (4-6% LOC or 4-13% elements) smaller

– Resulted in about 40% less code churn per new component

– Have no performance penalty (results showed ±3% difference)

Sissejuhatus informaatikasse8.10.2012 33

• http://sandstorm.cs.ut.ee/XMLStyleHelper/

Sissejuhatus informaatikasse8.10.2012 34

• Limits visualisations

• Currently relies on binary Add-On to IDE-s

• Offers sufficient flexibility for analysis and transformation plug-ins

• Offers additional flexibility

• Allows use of complex algorithms in plug-ins

Sissejuhatus informaatikasse8.10.2012 35

Sissejuhatus informaatikasse8.10.2012 36

Confidence Best Model Error

0.70 DT all 300 LOC

0.80 DT org_xsl 600 LOC

0.90 DT org_xsl 1 400 LOC

0.95 DT org_xsl 3 400 LOC

0.99 DT org 17 200 LOC

0.999 DT org 83 000 LOC

Sissejuhatus informaatikasse8.10.2012 37

Sissejuhatus informaatikasse8.10.2012 38

• Complex expressions should be used instead of simple expressions.

• Templates with ‘‘match’’ expressions (and if needed, ‘‘mode’’ attribute) should be preferred over <choose> and <when> constructs.

• Reoccurring constants should be stored as parameters or variables and used through these if possible.

• Parameter definitions should be kept short (less than 6 lines of code).

• XSLT code should be commented. At least 9% of nodes being comments was identified a preferred ratio as it reduced high churn probability to a mere 5%.

Sissejuhatus informaatikasse8.10.2012 39

Developers on

project

AddedLOC = 113,977.97 + 85,054.91*XSLDevs - 54,743.68*Devs - 51.91*DevCommits +

207.80*DevXSLCommits<7

AddedLOC = 344,360.99 + 33.61*DevCommits + 19,455.01*XSLDevs - 59.85*DevXSLCommits>=7

Tei

Esb

Number of

Files

ModifiedLOC = -6,544.84 + 13,051.50*XSLDevs + 84.33*DevXSLCommits - 23.19*DevCommits

RemovedLOC = -25,593.46 - 62.593*DevCommits + 215.908*DevXSLCommits + 22,566.098*Devs<1375

ModifiedLOC = 288,171.14 - 9.27*DevXSLCommits - 16,745.76*XSLDevs + 5.01*DevCommits

RemovedLOC = 519,713.17 - 22,758.19*XSLDevs + 19.80*DevCommits - 36.62*DevXSLCommits>=1375

Number of

Revisions

AddedLOC = 164,655.30 - 5,261.02*XSLDevs - 6,184.24*Devs-22.58*DevXSLCommits<536

AddedLOC = 233,806.57 - 18,959.22*Devs>=536

Number of

Files

ModifiedLOC = 36,292.86 - 1,050.43*Devs - 1,066.477*XSLDevs

RemovedLOC = 44,412.10 - 1,446.73*XSLDevs - 1,225.72*Devs<372

ModifiedLOC = 39,334.99 - 2,731.44*Devs

RemovedLOC = 40,510.39 - 2,531.85*Devs>=372

Sissejuhatus informaatikasse8.10.2012 40

http://sep.cs.ut.ee/

Sissejuhatus informaatikasse8.10.2012 41

Lightning-fast multi-level SOAP-JSON caching proxy(Peep Küngas)

Complex Event Processing for OpenAjax Hub 2.0 Widgets (Peep Küngas)

A crawler for RESTful, SOAP services and Web forms(Peep Küngas)

Plug-ins as Services (Siim Karus)

Sissejuhatus informaatikasse8.10.2012 42

8.10.2012 Sissejuhatus informaatikasse 43

8.10.2012 Sissejuhatus informaatikasse 44

http://www.youtube.com/watch?v=F7pYHN9iC9I

8.10.2012 MTAT.03.230 Veebirakenduste loomine 45

8.10.2012 MTAT.03.230 Veebirakenduste loomine 46

http://www.youtube.com/watch?v=mraK-zRfWL0

8.10.2012 MTAT.03.230 Veebirakenduste loomine 47http://www.youtube.com/watch?v=zM6HPeCgGSo

• http://www.youtube.com/watch?v=VShmtsLhkQg

8.10.2012 MTAT.03.230 Veebirakenduste loomine 48

8.10.2012 Sissejuhatus informaatikasse 49

8.10.2012 Sissejuhatus informaatikasse 50

8.10.2012 MTAT.03.230 Veebirakenduste loomine 51

http://blueskygis.blogspot.com/2011/09/paranoid-ziggy.html

8.10.2012 Sissejuhatus informaatikasse 52

http://day.cs.ut.ee/et/avaleht

top related