siim karus //courses.cs.ut.ee/mtat.03.265/2012_fall/uploads/main/... · class ="wmi "...
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
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