SlideShare a Scribd company logo
1 of 25
KnowledgeManagementinSoftwareArchitecture:State of the Art
Architectural knowledgehasplayedarole indiscussionsondesign,reuse,
and evolutionforoveradecade.Overthe pastfew years,the termhas significantly
increasedinpopularityand attemptsare beingmade toproperlydefinewhatconstitutes
‘architectural knowledge’.
1 Introduction
Overthe past fewyears,the conceptof ‘architectural knowledge’hasbecome more
prominentinliteratureandattemptsare beingmade toarrive at a properdefinition
for thisconcept.Inthischapter we presentthe state-of-the-artinarchitectural
knowledge management.Tothisend,we lookatwhatpreciselyentailsarchitectural
knowledge andwhatpredominantphilosophiesexistformanagingsuchknowledge.
In answertothe question‘whatisarchitectural knowledge?’,inSection2we
describe fourmainviewsonarchitectural knowledge thatemergedfromasystematic
literature review,andexplore theircommonalitiesanddifferences.Usingtwo
orthogonal architectural knowledge dimensions,we definefourcategoriesof architectural
knowledge.The potential knowledge conversionsbetweenthesecategories,
whichwe describe inSection3, togetherforma descriptive frameworkwith
whichdifferentarchitectural knowledgemanagementphilosophiescanbe typified.
Thisframeworkshowsthatthe differencesbetweenthe fourviewsonarchitectural
knowledge are verymuchrelatedtothe differentphilosophiestheyare basedon.
Althoughthere existseveral single-philosophyapproachesthathave boththeir
originandscope on onlyone of the mainphilosophies,inrecentyearsashifttowards
more overarchingapproachescanbe observed.Fourof suchtrendsforarchitectural
knowledge managementare discussedinSection4.
2 What is‘Architectural Knowledge’?
To be able tounderstandwhatarchitectural knowledgeentails,we have conducted
a systematicliterature reviewinwhichwe exploredthe ‘roots’architectural knowledge
has indifferentsoftware architecture communities.Detailsonthe protocol
followedinthissystematicliteraturereview canbe foundinSection5.The review
revealedfourprimaryviewsonarchitectural knowledge.InSection2.1we elaborate
uponthese views,andinSection2.2we formulate atheoryon architectural
knowledge bylookingatthe commonalitiesanddifferencesbetweenthese views.
2.1 DifferentViewsonArchitectural Knowledge
Architectural knowledgeisrelatedtosuchvarioustopicsasarchitecture evolution,
service orientedarchitectures,productline engineering,enterprise architecture,and
program understanding,toname buta few.Inthe literature,however,there are four
mainviewsonthe use and importance of architectural knowledge.Those fourviews
– pattern-centric,dynamism-centric,requirements-centric,anddecision-centric–
are introducedinthissection.
2.1.1 Pattern-centricview
In the mid-nineties,patternsbecame popularasa way to capture and reuse design
knowledge.People were disappointedbythe lackof abilityof (object-oriented)
frameworkstocapture the knowledge necessarytoknow whenandhow toapply
those frameworks.Inspiredbythe workof ChristopherAlexanderoncataloging
patternsusedincivil architecture,software engineersstartedtodocumentproven
solutionstorecurringproblems.
Initially,patternsfocusedmainlyonobjectorienteddesignandreuse;the canonical
workin thisarea isthe bookby the ‘Gang of Four’[22]. The aim wasto letthose
designpatternscapture expertanddesignknowledge,necessarytoknow whenand
howto reuse designandcode.Soon,however,the patternscommunityextendedits
horizonbeyondobject-orienteddesign.Nowadays,patternsexistinmanyareas,including
patternsforanalysis(e.g.,[19]), architectural design(e.g.,[20,12]),and the
developmentprocess(e.g.,[16,15]).
Patternsinsoftware developmentservetwopurposes.Patternsare reusablesolutions
that can be appliedtorecurringproblems.Theyalsoformavocabularythat
provides acommonframe of reference,whicheasessharingarchitectural knowledge
betweendevelopers.Althoughpatternsare usuallydocumentedaccordingto
certaintemplates,there isnotastandardtemplate usedforall patterns.The wayin
whichpatternsare codifiedmake themverysuitable forhumanconsumption,but
lesssofor automatedtools
2.1.2 Dynamism-centricview
A more formal approachto architectural knowledge canbe foundindiscussionson
dynamicsoftware architectures.Systemsthatexhibitsuchdynamismcandynamically
adapt theirarchitecture duringruntime,andforexample performupgrades
withoutthe needformanual interventionorshuttingdown.Suchsystemsmust
be able to self-reflectand‘reasonoverthe space of architectural knowledge’[23],
whichinvariablymeansthat –unlike patterns –thisarchitectural knowledge must
be codifiedforconsumptionbynon-humanagents.
Since the software itselfmustunderstandthe architecturalknowledge,architecture based
adaptationhasto relyon rather formal waysof codification.A 2004 survey
by Bradburyet al.[9] revealsthatalmostall formal specificationapproachesfor
dynamicsoftware architecturesare basedongraphrepresentationsof the architectural
structure.Purelygraph-basedapproachesuse explicitgraphrepresentationsof
componentsandconnectors.Inthose approaches,architectural reconfigurationis
expressedwithgraphrewritingrules.Otherapproaches,whichuse implicitgraph
representations,relymainlyonprocessalgebraorlogic toexpressdynamicrecon-
figurationof the architecture.
A particularfamilyof formal languagesforrepresentingarchitecturesisformed
by so-called‘architecture descriptionlanguages’(ADLs).Althoughnotall ADLs
are suitable foruse inrun-time dynamicsystems,all ADLsare basedon the same
component-connectorgraph-likerepresentationof architectures(cf.[33]).
2.1.3 Requirements-centricview
The architecture isultimatelyrootedinrequirements.Therefore,architectural knowledge
playsa role inenablingtraceabilityinthe transitionfromrequirementstoarchitecture.
But there isan inverse relationtoo,namelythe factthat‘stakeholdersare
quite oftennotable tospecifyinnovative requirementsinthe requireddetailwithout
havingsome knowledge aboutthe intendedsolution’[38].Hence,inordertospecify
sufficientlydetailedrequirements,one needsknowledgeaboutthe (possible)
solutions,whichmeansthatrequirementsandarchitecture needtobe co-developed.
Thisis a subtle,butimportantdifference:the transition-view isabitolderanddenotes
the believe thatproblemisfollowedbysolution,whereasthe more recent
co-developmentviewemphasizesthatbothneedtobe consideredconcurrently.
The relationbetweenrequirementsandarchitecture hasbeenapopularsubject
of discourse since the early2000s. Althoughthe relatedSTRAWworkshopseries
isno longerorganized,manyresearchersstill focusonbridgingthe gapbetween
requirementsandarchitecture.A 2006 surveybyGalsteret al.[21] identifiedand
classifiedthe methodologiesinthisarea,includingJackson’sproblemframes(later
extendedto‘architectural frames’[40]),goal-orientedrequirementsengineering,
and the twinpeaksmodel forweavingarchitectureandrequirements[36].
2.1.4 Decision-centricview
For manyyears,software architecture hasmainlybeenregardedasthe high-level
structure of componentsandconnectors.Manyarchitectural descriptionframeworks,
such as the IEEE-1471 standard[28] therefore have a particularfocuson
documentingthe endresultof the architectingprocess.
Nowadays,the viewonarchitecture seemstobe shiftingfromthe endresult
to the rationale behindthatendresult.More andmore researchersagree thatone
shouldconsidernotonlythe resultingarchitecture itself,butalsothe designdecisions
and relatedknowledgethatrepresentthe reasoningbehindthisresult.All such
architectural knowledge needstobe managedtoguide systemevolutionandprevent
knowledge vaporization.[8]
The treatmentof designdecisionsasfirst-classentitiesenablesthe consideration
of a wide range of concernsand issues,includingpure technical issues,butalso
business,political andsocial ones.Architectsneedtobalance all these concernsin
theirdecisionmaking.Tojustifythe architectural designtootherstakeholders,communication
of the architectural designdecisionsplaysakeyrole.Inthat sense,the
decision-centricviewisverymuchrelatedtothe (broader) fieldof designrationale.
2.2 So,what isArchitectural Knowledge?
If there’sanythingclearfromthe fourviewsonarchitectural knowledge,itmustbe
that there isnot a single encompassingdefinitionof whatthisknowledgeentails.
A 2008 surveyof definitionsof architecturalknowledge revealedthatmoststudies
circumstantiallydefine architectural knowledge.Those studiesthatdogive a direct
definitionare of recentdate,andall of themhave roots inthe decision-centric
view[3].
The apparentimportance of the decision-centricview indiscussinganddefining
architectural knowledge maybe explainedwhenwe lookatthe linksbetween
thisviewandthe otherviews;decisionsappeartobe the linkingpinbetweenthe
differentviews
The relationbetweenpatternsand decisionsisdiscussedbyHarrisonetal.Their
conclusionisthatthe two are complementaryconcepts,andthat‘[u]singapatternin
systemdesignis,infact,selectingone of the alternativesolutionsandthusmaking
the decisionsassociatedwiththe patterninthe targetsystemsspecificcontext’[26].
Ran and Kuuselaproposedahierarchical orderingof designpatternsinwhatthey
call a ‘designdecisiontree’[39].
The relationbetweendesigndecisionsandrequirementscanbe approachedfrom
twodirections.Boschconceptuallydividesanarchitectural designdecisionintoa
‘solutionpart’anda ‘requirementspart’[8].The requirementspartrepresentsthe
subsetof the system’srequirementstowhichthe solutionpartprovidesasolution.
VanLamsweerde,onthe otherhand,arguesthatfor alternative goal refinementsand
assignments,‘decisionshave tobe made whichinthe endwill produce different
architectures’[32].
Formal graph-basedarchitecture representationsare especiallysuitable forautomated
reasoning.Inotherwords,those representationsenable automatedagents
eithertake designdecisionsthemselves[9],orto informhumanarchitectsabout
potential problemsandpendingdecisions[42].
Decisionsmayindeedbe anumbrellaconceptthatunifypartsof those different
viewsonarchitectural knowledge,becausetheycloselyrelatetovariousmanifestations
of architectural knowledgeconcepts.Of course,there are differencesbetween
the viewstoo:patternsare individual solutionfragments, formal representationsfocus
on the endresultonly,andrequirementsengineeringismore occupiedwith
problemanalysisthansolutionexploration.If we wanttobettercompare the different
manifestationsof architectural knowledge,ithelpstodistinguishbetween
differenttypesof architectural knowledge.Twodistinctionsare particularlyuseful:
tacit vs.explicitknowledge,andapplication-genericvs.application-specificarchitectural
knowledge.
Nonakaand Takeuchi drawthe distinctionbetweentacit andexplicitknowledge
[35] (see alsoChapter1).This distinctionisapplicabletoknowledge ingeneral,
and itsapplicationtoarchitectural knowledgeallowsustodistinguishbetween
the (tacit) knowledgethatanarchitectand otherstakeholdersbuiltupfromexperience
and expertise,andthe (explicit) architectural knowledgethatisproducedand
codified –forexample inartifactssuchas architecture descriptions.
The distinctionbetweenapplication-genericandapplication-specificarchitectural
knowledge hasbeenproposedbyLagoandAvgeriou[31].Thisdistinction,
whichisnot necessarilyapplicable tootherknowledgethan‘architectural’knowledge,
allowsusto distinguishbetween(application-generic) knowledge thatis“a
formof libraryknowledge”that“can be appliedinseveral applicationsindependently
of the domain”and(application-specific) knowledge thatinvolves“all the decisions
that were takenduringthe architectingprocessof aparticularsystemandthe
architectural solutionsthatimplementedthe decisions”.Insummary,application
genericknowledge isall knowledge thatisindependentof the applicationdomain,
application-specificknowledge isall knowledge relatedtoaparticularsystem.
Application-generictacitarchitectural knowledge includesthe designknowledge
an architectgainedfromexperience,suchasarchitectural concepts,methodologies,
and internalizedsolutions.
Application-specifictacitarchitectural knowledgeentailscontextual domainknowledge
regardingforces onthe eventual architectural solution;itincludesbusiness
goals,stakeholderconcerns,andthe applicationcontextingeneral.
Application-genericexplicitknowledge isdesignknowledge thathasbeenmade
explicitindiscussions,books,standards,and othertypesof communication.Itincludes
reusable solutionssuchaspatterns,stylesandtactics,butalsoarchitecture
descriptionlanguages,reference architectures,andprocessmodels.
Application-specificexplicitarchitectural knowledge isprobably the mosttangible
type of architectural knowledge.Itincludesall externalizedknowledgeof a
particularsystem,suchas architectural viewsandmodels,architecturallysignificant
requirements,andcodifieddesigndecisionsandtheirrationale.
3 Philosophiesof ArchitecturalKnowledge Management
Knowledgefromeachof the four architectural knowledgecategoriescanbe converted
to knowledgeinanother(oreveninthe same) category.Thisconversion
liesatthe basisof differentarchitectural knowledge managementphilosophies.For
some,architectural knowledgemanagementmaybe mainlyintendedtosupportthe
transitionfromapplication-generictoapplication-specificknowledge.Forothers,
the interplaybetweentacitandexplicitknowledge maybe the essence of architectural
knowledge management.
Nonakaand Takeuchi definedfourmodesof conversionbetweentacitandexplicit
knowledge:socialization(tacittotacit),externalisation(tacittoexplicit),
internalisation(explicittotacit),and combination(explicittoexplicit;cf.Chapter
1). Basedon the distinctionbetweenapplication-genericandapplication-specific
knowledge,we candefine fouradditionalmodesof conversion:
• Utilizationisthe conversionfromapplication-generictoapplication-specific
knowledge.Itisa commonoperationinthe architectingprocesswhere background
knowledge andexperience are appliedtothe problemathand.
• Abstractionisthe conversionfromapplication-specifictoapplication-generic
knowledge.Inthisconversion,architectural knowledge isbroughttoa higher
level of abstractionsothatit has value beyondthe originalapplicationdomain.
• Refinementisthe conversionfromapplication-specifictoapplication-specific
knowledge.Here,the architectural knowledge foraparticularapplicationisanalyzed
and furtherrefinedandrelated.
• Maturementisthe conversionfromapplication-generictoapplication-generic
knowledge.Itsignifiesthe developmentof the individualarchitectaswell asthe
architecture fieldasawhole;akindof learningwhere new genericknowledgeis
derivedandbecomesavailableforapplicationinsubsequentdesignproblems.
In total,there are sixteenarchitecturalknowledge conversions.Eachconversion
isformedbypairing one of the fourconversionsbetweentacitandexplicitknowledge
withone of the fourconversionsbetweenapplication-genericandapplication specific
knowledge.Together,the sixteenconversionsformadescriptiveframework
withwhichdifferentarchitectural knowledge managementphilosophiescanbe typified.
We sawearlierthatthe four viewsonarchitectural knowledge canall be related
to decisionmaking.Atthe same time,we saw thatthere are alsoobviousdifferences
betweenthose views.Those differencesare verymuchrelatedtothe different
architectural knowledge managementphilosophiestheyare basedon.
The pattern-centricview,forexample,ismainlygearedtowardsthe development
of a sharedvocabularyof reusable,abstractsolutions.Assuch,the development
of a sharedtacit mental model isamajorgoal.This goal isachievedby
sharingapplication-genericpatternsthatare minedfromapplication-specificsolutions.
A secondgoal isthe developmentof librariesof reusablesolutions,which
ismade possiblebymaturementof documentedpatternsbycatalogingthem.The
knowledge managementphilosophyinthisviewisprimarilybasedonthe following
architectural knowledge conversions.
(a) Abstractionandcombination:The mostobviousexample of thisconversion
isthe processof patternmining.Patternsare inherentlyabstractions.Theyare
minedfromexistingarchitectural solutionsanddescribedinaclearand structured
wayto improve the reusability.
(b) Utilizationandcombination:One of the waysinwhichpatternscan be reused
innewdesignsisbylookingthemupinbooks,cataloges,orotherrepositories.
Architectswhowishtodesigna systemcomprisedof several independentprograms
that workcooperativelyonacommondata structure couldlookup one of
the many booksavailable onarchitectural patterns(e.g.,[12]) tofindoutthatthe
‘blackboard’patternisjustwhattheyneed.GradyBooch workson the creation
of a Handbookof software architecture,of whichthe primarygoal is “to fill this
voidinsoftware engineeringbycodifyingthe architecture of alarge collection
of interestingsoftware-intensive systems,presentingtheminamannerthat exposes
theiressential patternsandthatpermitscomparisonsacrossdomainsand
architectural styles.”[7].
(c) Maturementand combination:Documentedpatternsmaybe organizedinpattern
catalogs.These catalogspresentacollectionof relativelyindependentsolutions
to commondesignproblems.Asmore experience isgainedusingthese
patterns,developersandauthorswill increasinglyintegrategroupsof relatedpatterns
to formso-calledpatternlanguages[44].Althougheachpatternhasitsmerits
inisolation,the strengthof apatternlanguage isthat itintegratessolutions
to particularproblemsinimportanttechnical areas.Anexampleisprovidedby
SchmidtandBuschmannin the contextof developmentof concurrentnetworked
applications[43].Each designprobleminthisdomain –includingissuesrelated
to connectionmanagement,eventhandling,andservice access –mustbe resolved
coherentlyandconsistentlyandthisiswhere patternlanguagesare particularly
helpful.
(d) Maturementandinternalisation:Experiencedarchitectsknow numerouspatterns
by heart.Sucharchitectshave no trouble discussingdesignsintermsof
proxies,blackboardarchitectures,orthree-tierCORBA-basedclient-serverarchitectures.
Theirexposure toandexperience withthosepatternshasledtointernalised
and maturedpatternknowledge.The consequentshared,tacitvocabulary
can be employedatwill,withoutthe needtolookupindividual patternsinorder
to understandwhatthe otherpartymeans.
(e) Utilizationandexternalisation:Whenanarchitecthasinternalizedseveral patterns,
the use of those patternsasa meansforcommunicationordesignisa
combinationof utilization(of the pattern)andexternalisation(of the knowledge
aboutthe patternandits existence).
While the pattern-centricview aimstosupportthe developmentof tacitlyshared
application-genericarchitectural knowledge,the dynamism-centricview ismuch
more focusedonexplicitapplication-specificarchitectural knowledge.Although
some application-genericknowledgeisutilized,the actual reasoningandreconfiguration
usesapplication-specificknowledge.Thisarchitectural knowledgemanagement
philosophyisthereforeprimarilybasedontwoconversions:
(f) Refinementandcombination:correspondstothe formal reasoningovercodi-
fiedarchitectural solutionsintermsof modelsthatare consumable bynon-human
agents.One approachfor automatedreasoningoverapplication-specificarchitectural
knowledge isintroducedbyRobbinsetal.,whointroduce the concept
of ‘critics’[42].Criticsare active agentsthatsupportdecision-makingbycontinuously
and pessimisticallyanalyzingpartial architectures.Eachcriticchecks
for the presence of certainconditionsinthe partial architecture.Criticsdeliver
knowledge tothe architectaboutthe implicationsof,oralternativesto,adesign
decision.Often,criticssimplyadvisethe architectof potential errorsorareas
needingimprovementinthe architecture.One couldtherefore seecriticsasan
automatedformof the backlogthatarchitectsuse in the architectingprocessto
acquire and maintainoverview of the problemandsolutionspace [27].
(g) Utilizationandcombination:correspondstoformallyspecifyingthe application’s
componentsandconnectorsingenericlanguagessuchasADLsor other
graph representations.Medvidovicand Taylorpropose acomparisonandclassification
frameworkforADLs,enablingthe identificationof keypropertiesof
ADLs and toshowthe strengthandweaknessesof these languages[33].Intheir
comparison,MedvidovicandTaylorpointoutthat at one end of the spectrum
some ADLs specificallyaimtoaidarchitectsinunderstandingasoftware system
by offeringasimple graphical syntax,some semanticsandbasicanalyses
of architectural descriptions.Atthe otherendof the spectrum, however,ADLs
provide formal syntax andsemantics,powerful analysistools,model checkers,
parsers,compilers,code synthesistoolsandsoon.
For the requirements-centricview,the primarygoal istracingknowledge about
the problemtoknowledge aboutthe solution.Inco-development,anadditional goal
isto connectknowledge aboutproblemandsolutionsothata stakeholder’simage
of the problemandsolutiondomainisrefined.Inthisview,the primaryarchitectural
knowledge conversionsare:
(h) Refinementandsocialization:Especiallyinco-development,architectsand
stakeholderswill interacttoalignsystemgoalsandarchitectural solutions.Such
interactionbetween‘customer’and‘productdeveloper’isaprime exampleof a
situationinwhichtacitknowledgeisshared(cf.[35]).Pohl andSikoradiscuss
the needforco-developmentof requirementsandarchitecture.Theyargue that
such co-designisonlypossibleisthere issufficientknowledge aboutthe (course)
solutionwhendefining(detailed) systemrequirements:“insteadof definingrequirements
basedon implicitassumptionsaboutthe solution,requirementsand
architectural artifactsneedtobe developedconcurrently”[36].
(i) Refinementandcombination:Addingandmaintainingtraceabilityfromrequirements
to architecture isa refinementstepthatcombinesexplicitknowledge
aboutelementsfromthe problemandthe solutionspace.Several techniquesexist
to guide the transitionfromrequirementsengineeringtosoftware architecture.In
their2006 survey,Galsteret al.use architectural knowledge asknowledgeabout
(previous) architectural solutionsthatcanbe reusedwhenencounteringsimilar
requirementsinanewproject.Theypresentpatternsasa useful container
for these reusable assets.Anotherapproachforguidingthe transitionbetween
requirementsandarchitecture isthatof feature-solutiongraphs[10].De Bruin
and VanVlietuse architectural knowledge asknowledgeaboutqualityconcerns
(representedasfeatures)andsolutionfragmentsatthe architectural level (represented
as solutions).These are modeledtogetherasFeature-Solutiongraphs
inorder to guide the explicittransition(oralignment)betweenthe problemand
solutionworld.
(k) Refinementandexternalisation:Externalisationof application-specifictacit
knowledge –suchas concerns,goals,andthe like – isan importantpartof the
requirementsprocess.Externalisationof tacitknowledge (problem-relatedaswell
as solution-related)isapreconditionformaintainingtraceability.
(j) Refinementandinternalisation:The interactionbetweenarchitectsandstakeholders
isnot purelya matterof socialization.Inco-development,forexample,
specificationsanddesignartifactsplayamajorrole as well andmaybe an aidto
letthe parties‘re-experience’eachother’sexperiences(cf.[35]).Thisinternalization
of explicitapplication-specificarchitectural knowledge mayconsequently
leadto ‘newideasandinsightsconcerningboththe envisionedsystemusage and
the architectural solution’[38]
Finally,the essentialphilosophyof the decision-centricview isexternalizing
the rationale behindarchitectural solutions(i.e.‘the whyof the architecture’) that
can thenbe internalizedandshape otherpeople’smentalmodels,soasto prevent
knowledge vaporization.The architecturalknowledge conversionscentral tothis
philosophyare:
(l) Refinementandcombination:The systemizationandcategorizationof codi-
fieddesignknowledge isamajorpart of rationale management.Overthe past
fewyears,researchershave proposed(web-based) toolstovisualize codifieddesign
decisionsandtheirrelationshipsandimpact.Forexample,Capillaetal.
have proposedaweb-basedtool,ADDSS,forrecordingandmanagingarchitectural
designdecisions[13];Falessi etal.have devisedaspecificdesigndecision
rationale documentationtechnique,whichisdrivenbythe decisiongoalsanddesign
alternativesavailable [17];andArchiumisa tool environmentproposedby
Jansenetal.aimed at establishingandmaintainingtraceabilitybetweendesign
decisionmodelsandthe software architecture design[29].
(m) Utilizationandcombination:Thisconversionamountstothe reuse of codi-
fied,genericknowledge (decisiontemplates,architectural guidelines,patterns,
etc.) ‘to take decisionsforasingle applicationandthusconstructapplication specific
knowledge’[31].
(n) Internalisationandabstraction:Basedonexperience andexpertise,anarchitect
may quicklyjumptoa ‘good’solution foraparticularproblem.Sucha good
solutioncanbe a combinationof severalfinergraineddesigndecisions.This
combinationof designdecisionsmaybecome socommonforthe architectthat
the solutionisnolongerseenasconsistingof individualdecisions.Itmaybe hard
for the architectto reconstructwhya certainsolutionfitsaparticularproblem;
the architect‘justknows’.
(o) Utilizationandexternalisation:Whenasolutionhasbeeninternalized,andthe
architect‘justknows’whentoapplyit,itbecomesdifficulttosee whichother
solutionsare possible.Partof the decision-centricphilosophy(e.g.,in[10]) is
therefore toreconstructanddocumentthe constitutingdesigndecisions.
(p) Refinementandinternalisation:This‘consumption’of architecturalknowledge
takesplace whenpeople wantto‘learnfromitor carry out some quality
assessment’[31].
(q) Refinementandexternalisation:The rationalizationof takenarchitectural decisions,
i.e.reconstructionandexplanationof the ‘why’ behindthem,isacrucial
part of the decision-centricphilosophyinwhichtacitknowledge ismade explicit.
In thisrespect,the software architectingcanapplythe bestpracticesknownfrom
the ‘older’andwell-knownfieldof designrationale.Reglietal.presentasurvey
of designrationalesystems,inwhichtheydistinguishbetweenprocess-oriented
and feature-orientedapproaches[41].Process-orienteddesignrationalesystems
emphasize the designrationaleasa ‘history’of the designprocess,whichisdescriptive
and graph-based.A well-knownexample isthe Issue-BasedInformation
System(IBIS) frameworkforargumentation.A feature-orientedapproachstarts
fromthe designspace of an artifact,where the rulesandknowledge inthe specific
domainmustbe consideredindesigndecisionmaking.Oftenthese typeof design
rationale systemsoffersupportforautomatedreasoning.A more recentsurvey
on architecture designrationale byTangetal. providesinformationabouthow
practitionersthinkabout,reasonwith,documentanduse designrationale [46].
It turnsout that althoughpractitionersrecognize the importance of codifyingdesign
rationale,alackof appropriate standardsandtoolsto assisttheminthis
processacts as barrierto documentingdesignrationale.Fortunately,the fieldof
designrationale isworkinghardondevelopingmore mature support.Recentdevelopments
have ledto the creationof mature toolingsuchas Compendiumand
SEURAT [11], and modelssuchas AREL [47]
(r) Abstractionand combination:The constructionof high-level structures(templates,
ontologies,models) tocapture andstore architecture designdecisions.
Variousapproachestocodifyarchitectural designdecisionsinsuchasway have
beenreported.Tyree andAkermanpresentatemplate tocodifyarchitectural design
decisionstogetherwiththeirrationale andseveralotherpropertiesrelevant
to that decision,suchasthe associatedconstraints,atimestamp,andashort description
[48]. Kruchten proposesamore formal approachof codifyingdesign
decisionsbyusinganontology[30].Ran andKuuselapresentworkondesign
decisiontrees[39].
4 State-of-the-artinarchitectural knowledge management
Basedon the discussionof the fourphilosophiesonarchitectural knowledge management
and the primaryarchitectural knowledge conversionsof these philosophies,
we can identifyafewsingle-philosophyapproachestoarchitectural knowledge
management:
• Rationale managementsystems.Inordertoachieve refinementandexternalisation
of architectural knowledge,designrationale needstobe managed.Various
toolsand methodshave beenproposedoverthe lastdecade fordoingexactlythis.
• Patternlanguagesandcatalogs.Toallow forutilizationandcombinationof architectural
knowledge architectural knowledgeneedstobe categorizedinpattern
languagesorcatalogs.From these sourcesitcan be quicklyusedinspecificapplications.
In additionitenableslearningandreasoning
• Architecture descriptionlanguages.ADLsenable utilizationandcombinationof
architectural knowledge inaformal way.Varioustypesof ADLsexist,which
range in level of formalityandpurpose,the latterrangingfromaidingunderstanding
of software systemstoenablingpowerfulanalyses.
• Designdecisioncodification.Tosupportrefinementandcombinationof architectural
knowledge muchefforthasbeenputinmethods,tools,andtechniques
to codifyarchitectural knowledgeconcepts.Designdecisionsare central tothese
methodsandtools,butalsorelatedconceptssuchas rationale andalternative
solutionsare captured.
We sawearlierhowthe conceptof ‘decisions’seemtobe an umbrellaconcept
for all viewsonarchitectural knowledge.We cannow explainthisbetter: ‘mature’
architectural knowledge managementunifiesconversionsfromall architectural
knowledge managementphilosophies,andisnotmerelylimitedtojustone
philosophy.Thisconcept,whichwe call ‘decision-in-the-large’,isrelatedmore to
the architectingprocessthanto pure rationale management(whichwe couldcall
‘decision-in-the-narrow’),eventhoughcodifyingrationaleandpreventingknowledge
vaporizationhasbeenone of the prime driversforthe decision-centricphilosophy.
A focuson ‘decision-in-the-large’seemsdrivenmore byarchitectural knowledge
use casesthan by anythingelse,oftenunderthe concept‘knowledge sharing’.
A classificationof suchuse casesispresentedbyLagoet al.[31], whichdistinguishes
betweenarchitecting,sharing,assessing,andlearning.
Obviously,some‘decision-in-the-large’approachesevolvedfrom‘decision-inthe-narrow’
approaches.Butthe formerstarts to playa more prominentrole inthe
otherphilosophies,andhence the otherviews,too.Inrecentyears, a shifttowards
more overarchingstate-of-the-artapproachescanbe observed.Fourmaintrendsfor
architectural knowledge managementcanbe identifiedthatmostlyfocusonspecific
use casesfor architectural knowledge management.These trendswillbe elaborated
uponin the nextsubsections.
4.1 Sharingarchitectural knowledge
The trend of sharingarchitectural knowledge isfocusedonprovidingsupportfor
managementof varioustypesof architectural knowledge (bothapplication-generic
and application-specific).De Boeretal.propose a core model of architectural
knowledge thatprovidesfurtherinsightinwhatarchitectingentails(e.g.how design
decisionsare made) andwhichknowledge conceptsare worthfocusingonin
supportfor architectural knowledgemanagement[4].Thisincludesconceptsthat
have theirorigininthe pattern-centric,requirements-centricanddecision-centric
view.
From knowledgemanagementliteratureitisknownthatknowledgesharingcan
be achievedthroughcodificationorpersonalization[25].Farenhorstetal.have come
to the conclusionthata hybridstrategymightworkbest.Theypropose aplatform
for architectural knowledgesharingthatcombinescodificationtechniques(design
decisionrepositories,documentmanagementfacilities)withpersonalizationmechanisms
(yellow pages,discussionforums) inordertoenable Just-In-Time architectural
knowledge:deliveryof andaccessto the right architectural knowledge,tothe
rightpeople,atthe righttime [18].
Anotherplatformthatallowsmanagingdifferenttypesof architecturalknowledge
conceptsisthe Process-basedArchitecture KnowledgeManagementEnvironment
(PAKME) proposedbyAli Babaret al.[1]. Thisenvironmentallowsstoring
application-genericarchitectural knowledge (suchasgeneral scenarios,patterns,
and qualityattributes),andapplication-specificarchitectureknowledge (suchas
concrete scenarios,contextualizedpatterns,andqualityfactors).
4.2 Aligningarchitectingwithrequirementsengineering
We observe atrendinarchitectural knowledgemanagementliteraturetowardsaligning
the architectingprocesswithrequirementsengineering,since the twopractices
seemtohave much incommon.Pohl etal. propose COSMOD-RE,a methodfor
co-designingrequirementsandarchitecture [37].Thismethodssupportsthe development
of detailedrequirementsbasedonthe specifiedarchitectureandthe speci-
fiedgoalsandscenarios.Thisco-designfocusisfundamentallydifferentfromthe
focuson traceabilityfromrequirementstoarchitecture,apredominantfocusinthe
requirements-centricview.
Withthe transitionfromtraceabilitytoco-development/co-designthe requirements
engineeringcommunityappearstolookbeyondtheirownphilosophy.Inan
attemptto betterunderstandthe relationshipof requirementsandarchitecture,De
Boerand Van Vlietexploresimilaritiesbetweenthe two[6].Basedontheirstudy
theyargue that there isno fundamental difference betweenarchitecturallysignificant
requirementsandarchitectural decisions,whichalsopleadsforintegratedmethods
and toolsforarchitectural knowledge managementthatoverarchrequirementsengineering
and architecting.
4.3 Intelligentsupportforarchitecting
Thistrendfocusesonspecificarchitectinguse casesrelatedtointelligentand/or
real-time supportforarchitects.One of the state-of-the-artapproachesfocuseson
providingarchitectsorreviewerswithareadingguide whenlookingforspecific
architectural knowledge [5].Tosave time,architectsuse thisintelligentdiscovery
methodtoquicklygetto the importantknowledge while skippinglessrelevantdocumentation.
Otherintelligentsupportapproachesfocusonmodelingarchitectural knowledge
conceptsinsuch a way that learningandreasoningisstimulated.One example
isprovidedbyKruchten,whoproposesanontologyof architectural design
decisions[30].The templateshe proposesallow acquiringinsightsinnotonlyimportant
propertiesof designdecisions(e.g.the status),butalsointhe relationshipsbetween
designdecisions(e.g.‘enables’or‘conflictswith’).Whenpropervisualizationtechniques
are usedthisinformationisveryuseful forarchitectsinthe decisionmaking
process,forexample tomodel the backlog[27].
4.4 Towardsa bodyof architectural knowledge
The last trendrelatestoestablishingabodyof architectural knowledge,toenable
bothlearningandreuse.Recently,severalapproachesforsettingupsucha bodyof
knowledge havebeenintroduced.LeninBabuet al.propose ArchVoc,anontology
for software architecture [2].Basedonknowledge frommajortextbooksonsoftware
architecture andby parsingpartsof the web,theyhave constructedasoftware
architecture vocabularyforreuse purposes.Theirontologyof softwarearchitecture
enablesthe architectinunderstandingthe existingbestpracticesandthe relationships
betweenthemandalsoprovide ameanstoapplythemto the new systemsto
be developed.
The needforcatalogingarchitectural knowledge isalsoexpressedbyShaw and
Clements,whoargue thatBooch’Handbook(cf.Section3) “can provide important
exemplars,butengineersalsoneedreference material thatorganizeswhatwe know
aboutarchitecture intoan accessible,operational bodyof knowledge.” [45] This
bodyof knowledgeisthusnotcomprisedof onlypatterns,butalsoothertypesof
explicitapplication-genericarchitectural knowledge thatcanbe utilizedeffectively.
In an attemptto furtherdefinethese typesof architectural knowledge,Clements
et al.have conductedempirical researchtofindoutwhatset of duties,skillsand
knowledge ismostimportantforanarchitect[14]. Codificationof thisarchitectural
knowledge isperceivedas“the beginningsof aroad map fortrainingand mentoring.”
5 Justification
Our state-of-the-artoverview onarchitectural knowledgemanagementisthe result
of an extensive literature reviewconductedbasedonapredefinedprotocol.More
detailsonthisprotocol can be foundin[3]. The mainphasesexecuted are discussed
inthe remainderof thissection.
In a systematicliteraturereviewof studiesthatdefineordiscuss‘architectural
knowledge’,we identified115 such studies[3].These 115 studiesformthe basisfor
our discussioninthischapter.Consequentlywe will refertothese studiesasthe set
of core studies(C).
Since we are interestedinthe communitystructuresthatunderlythe topicof
architectural knowledge,we enrichedourdatasetwithbibliographical links.We
assume the communitystructure canbe found,orapproximated,bytakingintoaccount
the bibliographical referencesthatvariousauthorsmake toeach otherswork.
Strongcommunitieswill displaymanyintra-communityreferences,andrelatively
fewreferencestoworkoutside the community.Thereare twotypesof bibliographical
references:referencesfromstudiesinCtootherstudies,andreferencestostudies
inC fromotherstudies.We will use B(for‘bibliography’) todenote studiesthatare
referredtofromstudiesinC,and R (for’referring’) todenote studiesthatreferto
studiesinC.Hence,the mappingR →C→ B summarizesthe enricheddatasetused
throughoutthischapter.1
To determine B,we simplytookall referenceslistedinthe 115 studiesfrom
C. To determine R,however,we hadtodo a ‘reverse search’onthe studiesinC,
since the informationneededisnotpresentinCitself.Forconstructionof R,we
usedthe Google Scholarsearchengine whichprovidessuchareverse searchfacility
throughits‘citedby’feature. While constructingRandB, we alsoobtainedresults
not necessarilyfoundinsourcesfromthe sourceslistidentifiedinoursystematic
review(cf.[3]).We donot see thisasa limitationof ourmethodology.The goal of
the datasetenrichmentisdifferentfromthe initial identificationof primarystudiesin
the systematicreview;inthe enrichmentwe are interestedincommunitystructures,
and the differentcommunitiesneednotbe limitedtostudiespublishedthroughand
indexedbythe sourcesusedfor the review.
Together,B,C, and R comprise a‘social network’of scholarlypublicationsand
theirinterconnections.We analyzedthisnetworkusingthe Girvan-Newmanalgorithm
[24]. The Girvan-Newmanalgorithmdiscoverscommunitiesinagraph,based
on the ‘betweenness’of edges,i.e.,the numberof shortestpathsthatrunthrough an
edge.The algorithmiterativelycalculatesthe edge betweennessandremovesthe
edge withthe highestbetweennessvalue,therebyeliminatingedgesthatact as connections
betweendifferentcommunities.Eventually,the algorithmresultsinafully
disconnectedgraphof ‘communities’thatconsistof a single node.
Obviously,adisconnectedgraphisnotthe strongestcommunitystructure possible.
Newmandefinesthe modularity(Q) asameasure of strengthof the community
structure discoveredinanetwork[34].High valuesof Q(0 ≤ Q ≤ 1) indicate networks
witha strong communitystructure.Newman’sempirical evidence showsthat
local maximaof Q correspondto reasonable community divisions,hence itisgood
practice to stop the Girvan-Newmanalgorithmwhena(local orglobal) maximum
Q-value hasbeenobtained.Inourcase,the firstlocal maximumof Q occurredwhen
the graph had beensplitupin52 communities,while the global maximumoccurred
at 59 communities(Q≈ 0,7832), whichisextremelyhigh(accordingtoNewman,
valuesabove 0.7 are rare; typical valuesfall inthe range 0.3−0.7). Because of the
data enrichmentprocesswe followedandthe waythe Girvan-Newmanalgorithm
works,eachof these 59 communitiesconsistsof atleastone studyfromC,pluszero
or more publicationsfromeitherBor R.
In orderto assignmeaningtothe 59 communitiesthatcame outof the algorithm
we examinedthe setof papersforeachof these communitiesinturn,andgave
thema label thatcorrespondedbesttothe papersinthat community.Often,the
non-core papersinthe communitydidhelpinfurthercharacterizingthe community
and helpedinphrasingasuitable label.Whenthiswasmore difficult(forexample
whenthe non-core papersvariedtoomuchinsubject),we lookedmore specifically
at the core papersinthat communitysince these actuallytalkaboutarchitectural
knowledge andcantherefore leadtomore fittingforthe communityname. Inthe
endwe endedupwith59 labelsforthe communities,althoughsome of those did
overlaptoa certainextentwitheachother.
In orderto findouthow exactlythe communitieshadbeendiscoveredbythe
GirvanNewmanalgorithmwe examinedthe hierarchical structure of the identified
communities.The hierarchical relationscapture the orderinwhichthe communities
have beenidentified.Basedonthe orderof community-split-upswe couldassign
namesto larger-order(i.e.parent) communitiesaswell.
Accordingto our definitionacommunityshouldconsistof atleasttwocore papers
(thattalk aboutarchitectural knowledge)writtenbydifferentauthors.Basedon
thisrule we furtheranalyzedthe data.We limitedthe numberof maincommunities
by removingthe single-core-paperonesandthe onesconsistingof merelypapers
by the same author(s).Inthe endthisrefinementculminatedintothe fourmain
communitiesdiscussedthroughoutthischapter:pattern-centric,dynamism-centric,
requirements-centric,and decision-centric.
6 Summary
In thischapterwe have analyzedthe state-of-the-artinarchitectural knowledge
management,andhave shownthatthe conceptof ‘architectural knowledge’isbecoming
more prominentinliterature.InSection2.1we have identifiedfourmain
viewsonarchitectural knowledge:apattern-centricview,adynamism-centricview,
a requirements-centricview,andadecision-centricview.The conceptof ‘decision’
was foundtobe an umbrellaconceptthatunifiespartsof these views.
To betterunderstandthe conceptof architectural knowledgeinSection2.2we
have definedfourmaincategories(ortypes) of architectural knowledgebasedona
distinctionbetweentacitandexplicitknowledge onthe one hand,andapplicationgeneric
and application-specificarchitecturalknowledge onthe otherhand.Intotal
16 knowledge conversionsare possible betweenthese fourtypesof architectural
knowledge.Toarticulate the commonalitiesanddifferencesbetweenthe fourviews,
inSection3 we statedtheirmainphilosophiesof architectural knowledgemanagement
and elaborateduponthe architectural knowledge conversionsthatare central
for these views.The conversionswere furtherillustratedbyexamplesof related
work.
Basedon the discussion of the mainphilosophieswe identifiedfoursingle philosophy
approachesforarchitectural knowledge management:rationale managementsystems,
patternlanguagesandcatalogs,architectural descriptionlanguages,
and designdecisioncodification.All these approacheshave boththeirorigininand
scope on onlyone of the main philosophies.Inrecentyears,however,ashifttowards
more overarchingapproachescanbe observed.Fourmaintrendsforarchitectural
knowledge managementcanbe identifiedthatmostlyfocusonspecificuse
casesfor architectural knowledge management(e.g.sharing,learning,traceability).
Thisstate of the art inarchitectural knowledge managementindicatesashiftfrom
‘decision-in-the-narrow’to‘decision-in-the-large’.
We expectthe interestinarchitectural knowledge tokeepincreasingoverthe
comingyears.Althoughitisunlikelythatwe will see aunifiedview onarchitectural
knowledge anytime soon,the observedtrendsinarchitectural knowledgemanagement
indicate thatfuture developmentsonmanagingarchitectural knowledge may
furtheralignthe differentviews.We expectthe trendtowards‘decision-in-the-large’
to continue,since bothresearchersandpractitionersaimforabetterunderstanding
of whatarchitectsdo,what theirknowledge needsare,andhow thisarchitectural
knowledge canbestbe managedinthe architectingprocess.
Source : springerlink.com
Recommendedby:
JonCohn ,CTO, VP IT Architecture
https://www.linkedin.com/in/jonacohn
joncohn@comcast.net
"JonCohn ExtonPA""JonCohn Exton""JonCohnEvolution"

More Related Content

Viewers also liked

Knowledge-based Systems
Knowledge-based SystemsKnowledge-based Systems
Knowledge-based Systemssaimohang
 
Knowledge management system
Knowledge management system Knowledge management system
Knowledge management system Setyagus Sucipto
 
Knowledge Management Lecture 1: definition, history and presence
Knowledge Management Lecture 1: definition, history and presenceKnowledge Management Lecture 1: definition, history and presence
Knowledge Management Lecture 1: definition, history and presenceStefan Urbanek
 
Knowledge management in theory and practice
Knowledge management in theory and practiceKnowledge management in theory and practice
Knowledge management in theory and practicethewi025
 
Knowledge Management System & Technology
Knowledge Management System & TechnologyKnowledge Management System & Technology
Knowledge Management System & TechnologyElijah Ezendu
 
Knowledge Management Presentation
Knowledge Management PresentationKnowledge Management Presentation
Knowledge Management Presentationkreaume
 
Introduction to Knowledge Management
Introduction to Knowledge ManagementIntroduction to Knowledge Management
Introduction to Knowledge ManagementMiera Idayu
 
Knowledge Management Lecture 4: Models
Knowledge Management Lecture 4: ModelsKnowledge Management Lecture 4: Models
Knowledge Management Lecture 4: ModelsStefan Urbanek
 
Types of knowledge management systems
Types of knowledge management systemsTypes of knowledge management systems
Types of knowledge management systemsNitin Reddy Katkam
 
Knowledge management
Knowledge managementKnowledge management
Knowledge managementSehar Abbas
 

Viewers also liked (10)

Knowledge-based Systems
Knowledge-based SystemsKnowledge-based Systems
Knowledge-based Systems
 
Knowledge management system
Knowledge management system Knowledge management system
Knowledge management system
 
Knowledge Management Lecture 1: definition, history and presence
Knowledge Management Lecture 1: definition, history and presenceKnowledge Management Lecture 1: definition, history and presence
Knowledge Management Lecture 1: definition, history and presence
 
Knowledge management in theory and practice
Knowledge management in theory and practiceKnowledge management in theory and practice
Knowledge management in theory and practice
 
Knowledge Management System & Technology
Knowledge Management System & TechnologyKnowledge Management System & Technology
Knowledge Management System & Technology
 
Knowledge Management Presentation
Knowledge Management PresentationKnowledge Management Presentation
Knowledge Management Presentation
 
Introduction to Knowledge Management
Introduction to Knowledge ManagementIntroduction to Knowledge Management
Introduction to Knowledge Management
 
Knowledge Management Lecture 4: Models
Knowledge Management Lecture 4: ModelsKnowledge Management Lecture 4: Models
Knowledge Management Lecture 4: Models
 
Types of knowledge management systems
Types of knowledge management systemsTypes of knowledge management systems
Types of knowledge management systems
 
Knowledge management
Knowledge managementKnowledge management
Knowledge management
 

Similar to Knowledge management in software architecture

RESEARCH ON THE RELATIONSHIP BETWEEN ARCHITECTURAL DECORATIVE PATTERNS AND TH...
RESEARCH ON THE RELATIONSHIP BETWEEN ARCHITECTURAL DECORATIVE PATTERNS AND TH...RESEARCH ON THE RELATIONSHIP BETWEEN ARCHITECTURAL DECORATIVE PATTERNS AND TH...
RESEARCH ON THE RELATIONSHIP BETWEEN ARCHITECTURAL DECORATIVE PATTERNS AND TH...civejjour
 
Research on the Relationship between Architectural Decorative Patterns and th...
Research on the Relationship between Architectural Decorative Patterns and th...Research on the Relationship between Architectural Decorative Patterns and th...
Research on the Relationship between Architectural Decorative Patterns and th...civejjour
 
4F C A Conceptual Framework For Understanding Architectural Works
4F C  A Conceptual Framework For Understanding Architectural Works4F C  A Conceptual Framework For Understanding Architectural Works
4F C A Conceptual Framework For Understanding Architectural WorksCheryl Brown
 
A framework for information systems architecture by J.docx
A framework  for  information systems  architecture by J.docxA framework  for  information systems  architecture by J.docx
A framework for information systems architecture by J.docxevonnehoggarth79783
 
Semantic_Visualisation_in_Design_Computing.pdf
Semantic_Visualisation_in_Design_Computing.pdfSemantic_Visualisation_in_Design_Computing.pdf
Semantic_Visualisation_in_Design_Computing.pdfEly Hernandez
 
Sysnosis 2 - Architecture Where Desire Can Live by Jacques Derrida
Sysnosis 2 - Architecture Where Desire Can Live by Jacques DerridaSysnosis 2 - Architecture Where Desire Can Live by Jacques Derrida
Sysnosis 2 - Architecture Where Desire Can Live by Jacques DerridaAlfred Tan
 
A metric based approach for measuring the conceptual integrity of software ar...
A metric based approach for measuring the conceptual integrity of software ar...A metric based approach for measuring the conceptual integrity of software ar...
A metric based approach for measuring the conceptual integrity of software ar...ijseajournal
 
Essays On Architecture.pdf
Essays On Architecture.pdfEssays On Architecture.pdf
Essays On Architecture.pdfAshley Ito
 
Architectural Styles And The Design Of Network-Based Software Architectures
Architectural Styles And The Design Of Network-Based Software ArchitecturesArchitectural Styles And The Design Of Network-Based Software Architectures
Architectural Styles And The Design Of Network-Based Software ArchitecturesAndrea Porter
 
Software architecture
Software architectureSoftware architecture
Software architectureUdayna
 
1387908_a1232_Moneta_2.pdf
1387908_a1232_Moneta_2.pdf1387908_a1232_Moneta_2.pdf
1387908_a1232_Moneta_2.pdfParnianSalehi1
 
1387908_a1232_Moneta.pdf
1387908_a1232_Moneta.pdf1387908_a1232_Moneta.pdf
1387908_a1232_Moneta.pdfParnianSalehi1
 
© Baltzer Science PublishersNext Generation Building 1 (20.docx
© Baltzer Science PublishersNext Generation Building 1 (20.docx© Baltzer Science PublishersNext Generation Building 1 (20.docx
© Baltzer Science PublishersNext Generation Building 1 (20.docxgerardkortney
 
Derix 2010: mediating spatial phenomena through computational heuristics
Derix 2010:  mediating spatial phenomena through computational heuristicsDerix 2010:  mediating spatial phenomena through computational heuristics
Derix 2010: mediating spatial phenomena through computational heuristicsArchiLab 7
 
Year 1 of research - presentation
Year 1 of research - presentationYear 1 of research - presentation
Year 1 of research - presentationserena pollastri
 
A Methodology For Generating Systems Architectural Glimpse Statements Using T...
A Methodology For Generating Systems Architectural Glimpse Statements Using T...A Methodology For Generating Systems Architectural Glimpse Statements Using T...
A Methodology For Generating Systems Architectural Glimpse Statements Using T...Richard Hogue
 
Structure and architecture
Structure and architectureStructure and architecture
Structure and architectureDavood Navabiasl
 
MarvinAndGarrett-SoS_ArchitectureModeling
MarvinAndGarrett-SoS_ArchitectureModelingMarvinAndGarrett-SoS_ArchitectureModeling
MarvinAndGarrett-SoS_ArchitectureModelingBob Garrett
 
Essay On Engineering.pdf
Essay On Engineering.pdfEssay On Engineering.pdf
Essay On Engineering.pdfJessica Summers
 

Similar to Knowledge management in software architecture (20)

RESEARCH ON THE RELATIONSHIP BETWEEN ARCHITECTURAL DECORATIVE PATTERNS AND TH...
RESEARCH ON THE RELATIONSHIP BETWEEN ARCHITECTURAL DECORATIVE PATTERNS AND TH...RESEARCH ON THE RELATIONSHIP BETWEEN ARCHITECTURAL DECORATIVE PATTERNS AND TH...
RESEARCH ON THE RELATIONSHIP BETWEEN ARCHITECTURAL DECORATIVE PATTERNS AND TH...
 
Research on the Relationship between Architectural Decorative Patterns and th...
Research on the Relationship between Architectural Decorative Patterns and th...Research on the Relationship between Architectural Decorative Patterns and th...
Research on the Relationship between Architectural Decorative Patterns and th...
 
4F C A Conceptual Framework For Understanding Architectural Works
4F C  A Conceptual Framework For Understanding Architectural Works4F C  A Conceptual Framework For Understanding Architectural Works
4F C A Conceptual Framework For Understanding Architectural Works
 
A framework for information systems architecture by J.docx
A framework  for  information systems  architecture by J.docxA framework  for  information systems  architecture by J.docx
A framework for information systems architecture by J.docx
 
Semantic_Visualisation_in_Design_Computing.pdf
Semantic_Visualisation_in_Design_Computing.pdfSemantic_Visualisation_in_Design_Computing.pdf
Semantic_Visualisation_in_Design_Computing.pdf
 
Architectural Essay
Architectural EssayArchitectural Essay
Architectural Essay
 
Sysnosis 2 - Architecture Where Desire Can Live by Jacques Derrida
Sysnosis 2 - Architecture Where Desire Can Live by Jacques DerridaSysnosis 2 - Architecture Where Desire Can Live by Jacques Derrida
Sysnosis 2 - Architecture Where Desire Can Live by Jacques Derrida
 
A metric based approach for measuring the conceptual integrity of software ar...
A metric based approach for measuring the conceptual integrity of software ar...A metric based approach for measuring the conceptual integrity of software ar...
A metric based approach for measuring the conceptual integrity of software ar...
 
Essays On Architecture.pdf
Essays On Architecture.pdfEssays On Architecture.pdf
Essays On Architecture.pdf
 
Architectural Styles And The Design Of Network-Based Software Architectures
Architectural Styles And The Design Of Network-Based Software ArchitecturesArchitectural Styles And The Design Of Network-Based Software Architectures
Architectural Styles And The Design Of Network-Based Software Architectures
 
Software architecture
Software architectureSoftware architecture
Software architecture
 
1387908_a1232_Moneta_2.pdf
1387908_a1232_Moneta_2.pdf1387908_a1232_Moneta_2.pdf
1387908_a1232_Moneta_2.pdf
 
1387908_a1232_Moneta.pdf
1387908_a1232_Moneta.pdf1387908_a1232_Moneta.pdf
1387908_a1232_Moneta.pdf
 
© Baltzer Science PublishersNext Generation Building 1 (20.docx
© Baltzer Science PublishersNext Generation Building 1 (20.docx© Baltzer Science PublishersNext Generation Building 1 (20.docx
© Baltzer Science PublishersNext Generation Building 1 (20.docx
 
Derix 2010: mediating spatial phenomena through computational heuristics
Derix 2010:  mediating spatial phenomena through computational heuristicsDerix 2010:  mediating spatial phenomena through computational heuristics
Derix 2010: mediating spatial phenomena through computational heuristics
 
Year 1 of research - presentation
Year 1 of research - presentationYear 1 of research - presentation
Year 1 of research - presentation
 
A Methodology For Generating Systems Architectural Glimpse Statements Using T...
A Methodology For Generating Systems Architectural Glimpse Statements Using T...A Methodology For Generating Systems Architectural Glimpse Statements Using T...
A Methodology For Generating Systems Architectural Glimpse Statements Using T...
 
Structure and architecture
Structure and architectureStructure and architecture
Structure and architecture
 
MarvinAndGarrett-SoS_ArchitectureModeling
MarvinAndGarrett-SoS_ArchitectureModelingMarvinAndGarrett-SoS_ArchitectureModeling
MarvinAndGarrett-SoS_ArchitectureModeling
 
Essay On Engineering.pdf
Essay On Engineering.pdfEssay On Engineering.pdf
Essay On Engineering.pdf
 

More from Jon Cohn

Jon Cohn Exton PA - Technology Trends – 2016 and beyond
Jon Cohn Exton PA - Technology Trends – 2016 and beyondJon Cohn Exton PA - Technology Trends – 2016 and beyond
Jon Cohn Exton PA - Technology Trends – 2016 and beyondJon Cohn
 
Jon Cohn Exton PA - Rationalizing Application Portfolios
Jon Cohn Exton PA - Rationalizing Application PortfoliosJon Cohn Exton PA - Rationalizing Application Portfolios
Jon Cohn Exton PA - Rationalizing Application PortfoliosJon Cohn
 
Jon Cohn Exton PA - Next Gen Enterprise Information Technology
Jon Cohn Exton PA - Next Gen Enterprise Information TechnologyJon Cohn Exton PA - Next Gen Enterprise Information Technology
Jon Cohn Exton PA - Next Gen Enterprise Information TechnologyJon Cohn
 
Jon Cohn Exton PA - Healthcare - Enterprise Architecture
Jon Cohn Exton PA - Healthcare - Enterprise Architecture Jon Cohn Exton PA - Healthcare - Enterprise Architecture
Jon Cohn Exton PA - Healthcare - Enterprise Architecture Jon Cohn
 
Jon Cohn Exton PA - ERP Predictions
Jon Cohn Exton PA - ERP PredictionsJon Cohn Exton PA - ERP Predictions
Jon Cohn Exton PA - ERP PredictionsJon Cohn
 
Jon Cohn Exton PA - Enterprise Architecture - Best Practices
Jon Cohn Exton PA - Enterprise Architecture - Best PracticesJon Cohn Exton PA - Enterprise Architecture - Best Practices
Jon Cohn Exton PA - Enterprise Architecture - Best PracticesJon Cohn
 
Jon Cohn Exton PA - EA and Innovation
Jon Cohn Exton PA - EA and InnovationJon Cohn Exton PA - EA and Innovation
Jon Cohn Exton PA - EA and InnovationJon Cohn
 
Jon Cohn Exton PA - Data Governance – Best Practices
Jon Cohn Exton PA - Data Governance – Best PracticesJon Cohn Exton PA - Data Governance – Best Practices
Jon Cohn Exton PA - Data Governance – Best PracticesJon Cohn
 
Jon cohn exton pa corporate data architecture
Jon cohn exton pa   corporate data architectureJon cohn exton pa   corporate data architecture
Jon cohn exton pa corporate data architectureJon Cohn
 
Big Data Architecture
Big Data ArchitectureBig Data Architecture
Big Data ArchitectureJon Cohn
 
Jon Cohn Exton PA - Microservices anti
Jon Cohn Exton PA - Microservices antiJon Cohn Exton PA - Microservices anti
Jon Cohn Exton PA - Microservices antiJon Cohn
 
Jon Cohn Exton PA - Knowledge management in software architecture
Jon Cohn Exton PA - Knowledge management in software architectureJon Cohn Exton PA - Knowledge management in software architecture
Jon Cohn Exton PA - Knowledge management in software architectureJon Cohn
 
Jon Cohn Exton PA - Resume
Jon Cohn Exton PA - ResumeJon Cohn Exton PA - Resume
Jon Cohn Exton PA - ResumeJon Cohn
 
Jon A Cohn - CTO / VP / Sr Director - joncohn@comcast.net
Jon A Cohn - CTO / VP / Sr Director - joncohn@comcast.netJon A Cohn - CTO / VP / Sr Director - joncohn@comcast.net
Jon A Cohn - CTO / VP / Sr Director - joncohn@comcast.netJon Cohn
 
Where is enterprise architecture in healthcare
Where is enterprise architecture in healthcareWhere is enterprise architecture in healthcare
Where is enterprise architecture in healthcareJon Cohn
 
The big data architecture dilemma for ci os
The big data architecture dilemma for ci osThe big data architecture dilemma for ci os
The big data architecture dilemma for ci osJon Cohn
 
Enterprise architecture
Enterprise architectureEnterprise architecture
Enterprise architectureJon Cohn
 
Best practices
Best practicesBest practices
Best practicesJon Cohn
 
9 enterprise tech trends for 2016 and beyond
9 enterprise tech trends for 2016 and beyond9 enterprise tech trends for 2016 and beyond
9 enterprise tech trends for 2016 and beyondJon Cohn
 
8 enterprise software predictions
8 enterprise software predictions8 enterprise software predictions
8 enterprise software predictionsJon Cohn
 

More from Jon Cohn (20)

Jon Cohn Exton PA - Technology Trends – 2016 and beyond
Jon Cohn Exton PA - Technology Trends – 2016 and beyondJon Cohn Exton PA - Technology Trends – 2016 and beyond
Jon Cohn Exton PA - Technology Trends – 2016 and beyond
 
Jon Cohn Exton PA - Rationalizing Application Portfolios
Jon Cohn Exton PA - Rationalizing Application PortfoliosJon Cohn Exton PA - Rationalizing Application Portfolios
Jon Cohn Exton PA - Rationalizing Application Portfolios
 
Jon Cohn Exton PA - Next Gen Enterprise Information Technology
Jon Cohn Exton PA - Next Gen Enterprise Information TechnologyJon Cohn Exton PA - Next Gen Enterprise Information Technology
Jon Cohn Exton PA - Next Gen Enterprise Information Technology
 
Jon Cohn Exton PA - Healthcare - Enterprise Architecture
Jon Cohn Exton PA - Healthcare - Enterprise Architecture Jon Cohn Exton PA - Healthcare - Enterprise Architecture
Jon Cohn Exton PA - Healthcare - Enterprise Architecture
 
Jon Cohn Exton PA - ERP Predictions
Jon Cohn Exton PA - ERP PredictionsJon Cohn Exton PA - ERP Predictions
Jon Cohn Exton PA - ERP Predictions
 
Jon Cohn Exton PA - Enterprise Architecture - Best Practices
Jon Cohn Exton PA - Enterprise Architecture - Best PracticesJon Cohn Exton PA - Enterprise Architecture - Best Practices
Jon Cohn Exton PA - Enterprise Architecture - Best Practices
 
Jon Cohn Exton PA - EA and Innovation
Jon Cohn Exton PA - EA and InnovationJon Cohn Exton PA - EA and Innovation
Jon Cohn Exton PA - EA and Innovation
 
Jon Cohn Exton PA - Data Governance – Best Practices
Jon Cohn Exton PA - Data Governance – Best PracticesJon Cohn Exton PA - Data Governance – Best Practices
Jon Cohn Exton PA - Data Governance – Best Practices
 
Jon cohn exton pa corporate data architecture
Jon cohn exton pa   corporate data architectureJon cohn exton pa   corporate data architecture
Jon cohn exton pa corporate data architecture
 
Big Data Architecture
Big Data ArchitectureBig Data Architecture
Big Data Architecture
 
Jon Cohn Exton PA - Microservices anti
Jon Cohn Exton PA - Microservices antiJon Cohn Exton PA - Microservices anti
Jon Cohn Exton PA - Microservices anti
 
Jon Cohn Exton PA - Knowledge management in software architecture
Jon Cohn Exton PA - Knowledge management in software architectureJon Cohn Exton PA - Knowledge management in software architecture
Jon Cohn Exton PA - Knowledge management in software architecture
 
Jon Cohn Exton PA - Resume
Jon Cohn Exton PA - ResumeJon Cohn Exton PA - Resume
Jon Cohn Exton PA - Resume
 
Jon A Cohn - CTO / VP / Sr Director - joncohn@comcast.net
Jon A Cohn - CTO / VP / Sr Director - joncohn@comcast.netJon A Cohn - CTO / VP / Sr Director - joncohn@comcast.net
Jon A Cohn - CTO / VP / Sr Director - joncohn@comcast.net
 
Where is enterprise architecture in healthcare
Where is enterprise architecture in healthcareWhere is enterprise architecture in healthcare
Where is enterprise architecture in healthcare
 
The big data architecture dilemma for ci os
The big data architecture dilemma for ci osThe big data architecture dilemma for ci os
The big data architecture dilemma for ci os
 
Enterprise architecture
Enterprise architectureEnterprise architecture
Enterprise architecture
 
Best practices
Best practicesBest practices
Best practices
 
9 enterprise tech trends for 2016 and beyond
9 enterprise tech trends for 2016 and beyond9 enterprise tech trends for 2016 and beyond
9 enterprise tech trends for 2016 and beyond
 
8 enterprise software predictions
8 enterprise software predictions8 enterprise software predictions
8 enterprise software predictions
 

Recently uploaded

Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 

Recently uploaded (20)

Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 

Knowledge management in software architecture

  • 1. KnowledgeManagementinSoftwareArchitecture:State of the Art Architectural knowledgehasplayedarole indiscussionsondesign,reuse, and evolutionforoveradecade.Overthe pastfew years,the termhas significantly increasedinpopularityand attemptsare beingmade toproperlydefinewhatconstitutes ‘architectural knowledge’. 1 Introduction Overthe past fewyears,the conceptof ‘architectural knowledge’hasbecome more prominentinliteratureandattemptsare beingmade toarrive at a properdefinition for thisconcept.Inthischapter we presentthe state-of-the-artinarchitectural knowledge management.Tothisend,we lookatwhatpreciselyentailsarchitectural knowledge andwhatpredominantphilosophiesexistformanagingsuchknowledge. In answertothe question‘whatisarchitectural knowledge?’,inSection2we describe fourmainviewsonarchitectural knowledge thatemergedfromasystematic literature review,andexplore theircommonalitiesanddifferences.Usingtwo orthogonal architectural knowledge dimensions,we definefourcategoriesof architectural knowledge.The potential knowledge conversionsbetweenthesecategories, whichwe describe inSection3, togetherforma descriptive frameworkwith whichdifferentarchitectural knowledgemanagementphilosophiescanbe typified. Thisframeworkshowsthatthe differencesbetweenthe fourviewsonarchitectural knowledge are verymuchrelatedtothe differentphilosophiestheyare basedon. Althoughthere existseveral single-philosophyapproachesthathave boththeir originandscope on onlyone of the mainphilosophies,inrecentyearsashifttowards more overarchingapproachescanbe observed.Fourof suchtrendsforarchitectural knowledge managementare discussedinSection4. 2 What is‘Architectural Knowledge’? To be able tounderstandwhatarchitectural knowledgeentails,we have conducted
  • 2. a systematicliterature reviewinwhichwe exploredthe ‘roots’architectural knowledge has indifferentsoftware architecture communities.Detailsonthe protocol followedinthissystematicliteraturereview canbe foundinSection5.The review revealedfourprimaryviewsonarchitectural knowledge.InSection2.1we elaborate uponthese views,andinSection2.2we formulate atheoryon architectural knowledge bylookingatthe commonalitiesanddifferencesbetweenthese views. 2.1 DifferentViewsonArchitectural Knowledge Architectural knowledgeisrelatedtosuchvarioustopicsasarchitecture evolution, service orientedarchitectures,productline engineering,enterprise architecture,and program understanding,toname buta few.Inthe literature,however,there are four mainviewsonthe use and importance of architectural knowledge.Those fourviews – pattern-centric,dynamism-centric,requirements-centric,anddecision-centric– are introducedinthissection. 2.1.1 Pattern-centricview In the mid-nineties,patternsbecame popularasa way to capture and reuse design knowledge.People were disappointedbythe lackof abilityof (object-oriented) frameworkstocapture the knowledge necessarytoknow whenandhow toapply those frameworks.Inspiredbythe workof ChristopherAlexanderoncataloging patternsusedincivil architecture,software engineersstartedtodocumentproven solutionstorecurringproblems. Initially,patternsfocusedmainlyonobjectorienteddesignandreuse;the canonical workin thisarea isthe bookby the ‘Gang of Four’[22]. The aim wasto letthose designpatternscapture expertanddesignknowledge,necessarytoknow whenand howto reuse designandcode.Soon,however,the patternscommunityextendedits horizonbeyondobject-orienteddesign.Nowadays,patternsexistinmanyareas,including patternsforanalysis(e.g.,[19]), architectural design(e.g.,[20,12]),and the developmentprocess(e.g.,[16,15]).
  • 3. Patternsinsoftware developmentservetwopurposes.Patternsare reusablesolutions that can be appliedtorecurringproblems.Theyalsoformavocabularythat provides acommonframe of reference,whicheasessharingarchitectural knowledge betweendevelopers.Althoughpatternsare usuallydocumentedaccordingto certaintemplates,there isnotastandardtemplate usedforall patterns.The wayin whichpatternsare codifiedmake themverysuitable forhumanconsumption,but lesssofor automatedtools 2.1.2 Dynamism-centricview A more formal approachto architectural knowledge canbe foundindiscussionson dynamicsoftware architectures.Systemsthatexhibitsuchdynamismcandynamically adapt theirarchitecture duringruntime,andforexample performupgrades withoutthe needformanual interventionorshuttingdown.Suchsystemsmust be able to self-reflectand‘reasonoverthe space of architectural knowledge’[23], whichinvariablymeansthat –unlike patterns –thisarchitectural knowledge must be codifiedforconsumptionbynon-humanagents. Since the software itselfmustunderstandthe architecturalknowledge,architecture based adaptationhasto relyon rather formal waysof codification.A 2004 survey by Bradburyet al.[9] revealsthatalmostall formal specificationapproachesfor dynamicsoftware architecturesare basedongraphrepresentationsof the architectural structure.Purelygraph-basedapproachesuse explicitgraphrepresentationsof componentsandconnectors.Inthose approaches,architectural reconfigurationis expressedwithgraphrewritingrules.Otherapproaches,whichuse implicitgraph representations,relymainlyonprocessalgebraorlogic toexpressdynamicrecon- figurationof the architecture. A particularfamilyof formal languagesforrepresentingarchitecturesisformed by so-called‘architecture descriptionlanguages’(ADLs).Althoughnotall ADLs
  • 4. are suitable foruse inrun-time dynamicsystems,all ADLsare basedon the same component-connectorgraph-likerepresentationof architectures(cf.[33]). 2.1.3 Requirements-centricview The architecture isultimatelyrootedinrequirements.Therefore,architectural knowledge playsa role inenablingtraceabilityinthe transitionfromrequirementstoarchitecture. But there isan inverse relationtoo,namelythe factthat‘stakeholdersare quite oftennotable tospecifyinnovative requirementsinthe requireddetailwithout havingsome knowledge aboutthe intendedsolution’[38].Hence,inordertospecify sufficientlydetailedrequirements,one needsknowledgeaboutthe (possible) solutions,whichmeansthatrequirementsandarchitecture needtobe co-developed. Thisis a subtle,butimportantdifference:the transition-view isabitolderanddenotes the believe thatproblemisfollowedbysolution,whereasthe more recent co-developmentviewemphasizesthatbothneedtobe consideredconcurrently. The relationbetweenrequirementsandarchitecture hasbeenapopularsubject of discourse since the early2000s. Althoughthe relatedSTRAWworkshopseries isno longerorganized,manyresearchersstill focusonbridgingthe gapbetween requirementsandarchitecture.A 2006 surveybyGalsteret al.[21] identifiedand classifiedthe methodologiesinthisarea,includingJackson’sproblemframes(later extendedto‘architectural frames’[40]),goal-orientedrequirementsengineering, and the twinpeaksmodel forweavingarchitectureandrequirements[36]. 2.1.4 Decision-centricview For manyyears,software architecture hasmainlybeenregardedasthe high-level structure of componentsandconnectors.Manyarchitectural descriptionframeworks, such as the IEEE-1471 standard[28] therefore have a particularfocuson documentingthe endresultof the architectingprocess. Nowadays,the viewonarchitecture seemstobe shiftingfromthe endresult
  • 5. to the rationale behindthatendresult.More andmore researchersagree thatone shouldconsidernotonlythe resultingarchitecture itself,butalsothe designdecisions and relatedknowledgethatrepresentthe reasoningbehindthisresult.All such architectural knowledge needstobe managedtoguide systemevolutionandprevent knowledge vaporization.[8] The treatmentof designdecisionsasfirst-classentitiesenablesthe consideration of a wide range of concernsand issues,includingpure technical issues,butalso business,political andsocial ones.Architectsneedtobalance all these concernsin theirdecisionmaking.Tojustifythe architectural designtootherstakeholders,communication of the architectural designdecisionsplaysakeyrole.Inthat sense,the decision-centricviewisverymuchrelatedtothe (broader) fieldof designrationale. 2.2 So,what isArchitectural Knowledge? If there’sanythingclearfromthe fourviewsonarchitectural knowledge,itmustbe that there isnot a single encompassingdefinitionof whatthisknowledgeentails. A 2008 surveyof definitionsof architecturalknowledge revealedthatmoststudies circumstantiallydefine architectural knowledge.Those studiesthatdogive a direct definitionare of recentdate,andall of themhave roots inthe decision-centric view[3]. The apparentimportance of the decision-centricview indiscussinganddefining architectural knowledge maybe explainedwhenwe lookatthe linksbetween thisviewandthe otherviews;decisionsappeartobe the linkingpinbetweenthe differentviews The relationbetweenpatternsand decisionsisdiscussedbyHarrisonetal.Their conclusionisthatthe two are complementaryconcepts,andthat‘[u]singapatternin
  • 6. systemdesignis,infact,selectingone of the alternativesolutionsandthusmaking the decisionsassociatedwiththe patterninthe targetsystemsspecificcontext’[26]. Ran and Kuuselaproposedahierarchical orderingof designpatternsinwhatthey call a ‘designdecisiontree’[39]. The relationbetweendesigndecisionsandrequirementscanbe approachedfrom twodirections.Boschconceptuallydividesanarchitectural designdecisionintoa ‘solutionpart’anda ‘requirementspart’[8].The requirementspartrepresentsthe subsetof the system’srequirementstowhichthe solutionpartprovidesasolution. VanLamsweerde,onthe otherhand,arguesthatfor alternative goal refinementsand assignments,‘decisionshave tobe made whichinthe endwill produce different architectures’[32]. Formal graph-basedarchitecture representationsare especiallysuitable forautomated reasoning.Inotherwords,those representationsenable automatedagents eithertake designdecisionsthemselves[9],orto informhumanarchitectsabout potential problemsandpendingdecisions[42]. Decisionsmayindeedbe anumbrellaconceptthatunifypartsof those different viewsonarchitectural knowledge,becausetheycloselyrelatetovariousmanifestations of architectural knowledgeconcepts.Of course,there are differencesbetween the viewstoo:patternsare individual solutionfragments, formal representationsfocus on the endresultonly,andrequirementsengineeringismore occupiedwith problemanalysisthansolutionexploration.If we wanttobettercompare the different manifestationsof architectural knowledge,ithelpstodistinguishbetween differenttypesof architectural knowledge.Twodistinctionsare particularlyuseful: tacit vs.explicitknowledge,andapplication-genericvs.application-specificarchitectural knowledge. Nonakaand Takeuchi drawthe distinctionbetweentacit andexplicitknowledge
  • 7. [35] (see alsoChapter1).This distinctionisapplicabletoknowledge ingeneral, and itsapplicationtoarchitectural knowledgeallowsustodistinguishbetween the (tacit) knowledgethatanarchitectand otherstakeholdersbuiltupfromexperience and expertise,andthe (explicit) architectural knowledgethatisproducedand codified –forexample inartifactssuchas architecture descriptions. The distinctionbetweenapplication-genericandapplication-specificarchitectural knowledge hasbeenproposedbyLagoandAvgeriou[31].Thisdistinction, whichisnot necessarilyapplicable tootherknowledgethan‘architectural’knowledge, allowsusto distinguishbetween(application-generic) knowledge thatis“a formof libraryknowledge”that“can be appliedinseveral applicationsindependently of the domain”and(application-specific) knowledge thatinvolves“all the decisions that were takenduringthe architectingprocessof aparticularsystemandthe architectural solutionsthatimplementedthe decisions”.Insummary,application genericknowledge isall knowledge thatisindependentof the applicationdomain, application-specificknowledge isall knowledge relatedtoaparticularsystem. Application-generictacitarchitectural knowledge includesthe designknowledge an architectgainedfromexperience,suchasarchitectural concepts,methodologies, and internalizedsolutions. Application-specifictacitarchitectural knowledgeentailscontextual domainknowledge regardingforces onthe eventual architectural solution;itincludesbusiness goals,stakeholderconcerns,andthe applicationcontextingeneral. Application-genericexplicitknowledge isdesignknowledge thathasbeenmade explicitindiscussions,books,standards,and othertypesof communication.Itincludes reusable solutionssuchaspatterns,stylesandtactics,butalsoarchitecture descriptionlanguages,reference architectures,andprocessmodels.
  • 8. Application-specificexplicitarchitectural knowledge isprobably the mosttangible type of architectural knowledge.Itincludesall externalizedknowledgeof a particularsystem,suchas architectural viewsandmodels,architecturallysignificant requirements,andcodifieddesigndecisionsandtheirrationale. 3 Philosophiesof ArchitecturalKnowledge Management Knowledgefromeachof the four architectural knowledgecategoriescanbe converted to knowledgeinanother(oreveninthe same) category.Thisconversion liesatthe basisof differentarchitectural knowledge managementphilosophies.For some,architectural knowledgemanagementmaybe mainlyintendedtosupportthe transitionfromapplication-generictoapplication-specificknowledge.Forothers, the interplaybetweentacitandexplicitknowledge maybe the essence of architectural knowledge management. Nonakaand Takeuchi definedfourmodesof conversionbetweentacitandexplicit knowledge:socialization(tacittotacit),externalisation(tacittoexplicit), internalisation(explicittotacit),and combination(explicittoexplicit;cf.Chapter 1). Basedon the distinctionbetweenapplication-genericandapplication-specific knowledge,we candefine fouradditionalmodesof conversion: • Utilizationisthe conversionfromapplication-generictoapplication-specific knowledge.Itisa commonoperationinthe architectingprocesswhere background knowledge andexperience are appliedtothe problemathand. • Abstractionisthe conversionfromapplication-specifictoapplication-generic knowledge.Inthisconversion,architectural knowledge isbroughttoa higher level of abstractionsothatit has value beyondthe originalapplicationdomain. • Refinementisthe conversionfromapplication-specifictoapplication-specific knowledge.Here,the architectural knowledge foraparticularapplicationisanalyzed
  • 9. and furtherrefinedandrelated. • Maturementisthe conversionfromapplication-generictoapplication-generic knowledge.Itsignifiesthe developmentof the individualarchitectaswell asthe architecture fieldasawhole;akindof learningwhere new genericknowledgeis derivedandbecomesavailableforapplicationinsubsequentdesignproblems. In total,there are sixteenarchitecturalknowledge conversions.Eachconversion isformedbypairing one of the fourconversionsbetweentacitandexplicitknowledge withone of the fourconversionsbetweenapplication-genericandapplication specific knowledge.Together,the sixteenconversionsformadescriptiveframework withwhichdifferentarchitectural knowledge managementphilosophiescanbe typified. We sawearlierthatthe four viewsonarchitectural knowledge canall be related to decisionmaking.Atthe same time,we saw thatthere are alsoobviousdifferences betweenthose views.Those differencesare verymuchrelatedtothe different architectural knowledge managementphilosophiestheyare basedon. The pattern-centricview,forexample,ismainlygearedtowardsthe development of a sharedvocabularyof reusable,abstractsolutions.Assuch,the development of a sharedtacit mental model isamajorgoal.This goal isachievedby sharingapplication-genericpatternsthatare minedfromapplication-specificsolutions. A secondgoal isthe developmentof librariesof reusablesolutions,which ismade possiblebymaturementof documentedpatternsbycatalogingthem.The knowledge managementphilosophyinthisviewisprimarilybasedonthe following architectural knowledge conversions. (a) Abstractionandcombination:The mostobviousexample of thisconversion isthe processof patternmining.Patternsare inherentlyabstractions.Theyare minedfromexistingarchitectural solutionsanddescribedinaclearand structured
  • 10. wayto improve the reusability. (b) Utilizationandcombination:One of the waysinwhichpatternscan be reused innewdesignsisbylookingthemupinbooks,cataloges,orotherrepositories. Architectswhowishtodesigna systemcomprisedof several independentprograms that workcooperativelyonacommondata structure couldlookup one of the many booksavailable onarchitectural patterns(e.g.,[12]) tofindoutthatthe ‘blackboard’patternisjustwhattheyneed.GradyBooch workson the creation of a Handbookof software architecture,of whichthe primarygoal is “to fill this voidinsoftware engineeringbycodifyingthe architecture of alarge collection of interestingsoftware-intensive systems,presentingtheminamannerthat exposes theiressential patternsandthatpermitscomparisonsacrossdomainsand architectural styles.”[7]. (c) Maturementand combination:Documentedpatternsmaybe organizedinpattern catalogs.These catalogspresentacollectionof relativelyindependentsolutions to commondesignproblems.Asmore experience isgainedusingthese patterns,developersandauthorswill increasinglyintegrategroupsof relatedpatterns to formso-calledpatternlanguages[44].Althougheachpatternhasitsmerits inisolation,the strengthof apatternlanguage isthat itintegratessolutions to particularproblemsinimportanttechnical areas.Anexampleisprovidedby SchmidtandBuschmannin the contextof developmentof concurrentnetworked applications[43].Each designprobleminthisdomain –includingissuesrelated to connectionmanagement,eventhandling,andservice access –mustbe resolved coherentlyandconsistentlyandthisiswhere patternlanguagesare particularly helpful. (d) Maturementandinternalisation:Experiencedarchitectsknow numerouspatterns by heart.Sucharchitectshave no trouble discussingdesignsintermsof proxies,blackboardarchitectures,orthree-tierCORBA-basedclient-serverarchitectures.
  • 11. Theirexposure toandexperience withthosepatternshasledtointernalised and maturedpatternknowledge.The consequentshared,tacitvocabulary can be employedatwill,withoutthe needtolookupindividual patternsinorder to understandwhatthe otherpartymeans. (e) Utilizationandexternalisation:Whenanarchitecthasinternalizedseveral patterns, the use of those patternsasa meansforcommunicationordesignisa combinationof utilization(of the pattern)andexternalisation(of the knowledge aboutthe patternandits existence). While the pattern-centricview aimstosupportthe developmentof tacitlyshared application-genericarchitectural knowledge,the dynamism-centricview ismuch more focusedonexplicitapplication-specificarchitectural knowledge.Although some application-genericknowledgeisutilized,the actual reasoningandreconfiguration usesapplication-specificknowledge.Thisarchitectural knowledgemanagement philosophyisthereforeprimarilybasedontwoconversions: (f) Refinementandcombination:correspondstothe formal reasoningovercodi- fiedarchitectural solutionsintermsof modelsthatare consumable bynon-human agents.One approachfor automatedreasoningoverapplication-specificarchitectural knowledge isintroducedbyRobbinsetal.,whointroduce the concept of ‘critics’[42].Criticsare active agentsthatsupportdecision-makingbycontinuously and pessimisticallyanalyzingpartial architectures.Eachcriticchecks for the presence of certainconditionsinthe partial architecture.Criticsdeliver knowledge tothe architectaboutthe implicationsof,oralternativesto,adesign decision.Often,criticssimplyadvisethe architectof potential errorsorareas needingimprovementinthe architecture.One couldtherefore seecriticsasan automatedformof the backlogthatarchitectsuse in the architectingprocessto acquire and maintainoverview of the problemandsolutionspace [27].
  • 12. (g) Utilizationandcombination:correspondstoformallyspecifyingthe application’s componentsandconnectorsingenericlanguagessuchasADLsor other graph representations.Medvidovicand Taylorpropose acomparisonandclassification frameworkforADLs,enablingthe identificationof keypropertiesof ADLs and toshowthe strengthandweaknessesof these languages[33].Intheir comparison,MedvidovicandTaylorpointoutthat at one end of the spectrum some ADLs specificallyaimtoaidarchitectsinunderstandingasoftware system by offeringasimple graphical syntax,some semanticsandbasicanalyses of architectural descriptions.Atthe otherendof the spectrum, however,ADLs provide formal syntax andsemantics,powerful analysistools,model checkers, parsers,compilers,code synthesistoolsandsoon. For the requirements-centricview,the primarygoal istracingknowledge about the problemtoknowledge aboutthe solution.Inco-development,anadditional goal isto connectknowledge aboutproblemandsolutionsothata stakeholder’simage of the problemandsolutiondomainisrefined.Inthisview,the primaryarchitectural knowledge conversionsare: (h) Refinementandsocialization:Especiallyinco-development,architectsand stakeholderswill interacttoalignsystemgoalsandarchitectural solutions.Such interactionbetween‘customer’and‘productdeveloper’isaprime exampleof a situationinwhichtacitknowledgeisshared(cf.[35]).Pohl andSikoradiscuss the needforco-developmentof requirementsandarchitecture.Theyargue that such co-designisonlypossibleisthere issufficientknowledge aboutthe (course) solutionwhendefining(detailed) systemrequirements:“insteadof definingrequirements basedon implicitassumptionsaboutthe solution,requirementsand architectural artifactsneedtobe developedconcurrently”[36]. (i) Refinementandcombination:Addingandmaintainingtraceabilityfromrequirements
  • 13. to architecture isa refinementstepthatcombinesexplicitknowledge aboutelementsfromthe problemandthe solutionspace.Several techniquesexist to guide the transitionfromrequirementsengineeringtosoftware architecture.In their2006 survey,Galsteret al.use architectural knowledge asknowledgeabout (previous) architectural solutionsthatcanbe reusedwhenencounteringsimilar requirementsinanewproject.Theypresentpatternsasa useful container for these reusable assets.Anotherapproachforguidingthe transitionbetween requirementsandarchitecture isthatof feature-solutiongraphs[10].De Bruin and VanVlietuse architectural knowledge asknowledgeaboutqualityconcerns (representedasfeatures)andsolutionfragmentsatthe architectural level (represented as solutions).These are modeledtogetherasFeature-Solutiongraphs inorder to guide the explicittransition(oralignment)betweenthe problemand solutionworld. (k) Refinementandexternalisation:Externalisationof application-specifictacit knowledge –suchas concerns,goals,andthe like – isan importantpartof the requirementsprocess.Externalisationof tacitknowledge (problem-relatedaswell as solution-related)isapreconditionformaintainingtraceability. (j) Refinementandinternalisation:The interactionbetweenarchitectsandstakeholders isnot purelya matterof socialization.Inco-development,forexample, specificationsanddesignartifactsplayamajorrole as well andmaybe an aidto letthe parties‘re-experience’eachother’sexperiences(cf.[35]).Thisinternalization of explicitapplication-specificarchitectural knowledge mayconsequently leadto ‘newideasandinsightsconcerningboththe envisionedsystemusage and the architectural solution’[38] Finally,the essentialphilosophyof the decision-centricview isexternalizing the rationale behindarchitectural solutions(i.e.‘the whyof the architecture’) that
  • 14. can thenbe internalizedandshape otherpeople’smentalmodels,soasto prevent knowledge vaporization.The architecturalknowledge conversionscentral tothis philosophyare: (l) Refinementandcombination:The systemizationandcategorizationof codi- fieddesignknowledge isamajorpart of rationale management.Overthe past fewyears,researchershave proposed(web-based) toolstovisualize codifieddesign decisionsandtheirrelationshipsandimpact.Forexample,Capillaetal. have proposedaweb-basedtool,ADDSS,forrecordingandmanagingarchitectural designdecisions[13];Falessi etal.have devisedaspecificdesigndecision rationale documentationtechnique,whichisdrivenbythe decisiongoalsanddesign alternativesavailable [17];andArchiumisa tool environmentproposedby Jansenetal.aimed at establishingandmaintainingtraceabilitybetweendesign decisionmodelsandthe software architecture design[29]. (m) Utilizationandcombination:Thisconversionamountstothe reuse of codi- fied,genericknowledge (decisiontemplates,architectural guidelines,patterns, etc.) ‘to take decisionsforasingle applicationandthusconstructapplication specific knowledge’[31]. (n) Internalisationandabstraction:Basedonexperience andexpertise,anarchitect may quicklyjumptoa ‘good’solution foraparticularproblem.Sucha good solutioncanbe a combinationof severalfinergraineddesigndecisions.This combinationof designdecisionsmaybecome socommonforthe architectthat the solutionisnolongerseenasconsistingof individualdecisions.Itmaybe hard for the architectto reconstructwhya certainsolutionfitsaparticularproblem; the architect‘justknows’. (o) Utilizationandexternalisation:Whenasolutionhasbeeninternalized,andthe
  • 15. architect‘justknows’whentoapplyit,itbecomesdifficulttosee whichother solutionsare possible.Partof the decision-centricphilosophy(e.g.,in[10]) is therefore toreconstructanddocumentthe constitutingdesigndecisions. (p) Refinementandinternalisation:This‘consumption’of architecturalknowledge takesplace whenpeople wantto‘learnfromitor carry out some quality assessment’[31]. (q) Refinementandexternalisation:The rationalizationof takenarchitectural decisions, i.e.reconstructionandexplanationof the ‘why’ behindthem,isacrucial part of the decision-centricphilosophyinwhichtacitknowledge ismade explicit. In thisrespect,the software architectingcanapplythe bestpracticesknownfrom the ‘older’andwell-knownfieldof designrationale.Reglietal.presentasurvey of designrationalesystems,inwhichtheydistinguishbetweenprocess-oriented and feature-orientedapproaches[41].Process-orienteddesignrationalesystems emphasize the designrationaleasa ‘history’of the designprocess,whichisdescriptive and graph-based.A well-knownexample isthe Issue-BasedInformation System(IBIS) frameworkforargumentation.A feature-orientedapproachstarts fromthe designspace of an artifact,where the rulesandknowledge inthe specific domainmustbe consideredindesigndecisionmaking.Oftenthese typeof design rationale systemsoffersupportforautomatedreasoning.A more recentsurvey on architecture designrationale byTangetal. providesinformationabouthow practitionersthinkabout,reasonwith,documentanduse designrationale [46]. It turnsout that althoughpractitionersrecognize the importance of codifyingdesign rationale,alackof appropriate standardsandtoolsto assisttheminthis processacts as barrierto documentingdesignrationale.Fortunately,the fieldof designrationale isworkinghardondevelopingmore mature support.Recentdevelopments have ledto the creationof mature toolingsuchas Compendiumand SEURAT [11], and modelssuchas AREL [47]
  • 16. (r) Abstractionand combination:The constructionof high-level structures(templates, ontologies,models) tocapture andstore architecture designdecisions. Variousapproachestocodifyarchitectural designdecisionsinsuchasway have beenreported.Tyree andAkermanpresentatemplate tocodifyarchitectural design decisionstogetherwiththeirrationale andseveralotherpropertiesrelevant to that decision,suchasthe associatedconstraints,atimestamp,andashort description [48]. Kruchten proposesamore formal approachof codifyingdesign decisionsbyusinganontology[30].Ran andKuuselapresentworkondesign decisiontrees[39]. 4 State-of-the-artinarchitectural knowledge management Basedon the discussionof the fourphilosophiesonarchitectural knowledge management and the primaryarchitectural knowledge conversionsof these philosophies, we can identifyafewsingle-philosophyapproachestoarchitectural knowledge management: • Rationale managementsystems.Inordertoachieve refinementandexternalisation of architectural knowledge,designrationale needstobe managed.Various toolsand methodshave beenproposedoverthe lastdecade fordoingexactlythis. • Patternlanguagesandcatalogs.Toallow forutilizationandcombinationof architectural knowledge architectural knowledgeneedstobe categorizedinpattern languagesorcatalogs.From these sourcesitcan be quicklyusedinspecificapplications. In additionitenableslearningandreasoning • Architecture descriptionlanguages.ADLsenable utilizationandcombinationof architectural knowledge inaformal way.Varioustypesof ADLsexist,which range in level of formalityandpurpose,the latterrangingfromaidingunderstanding
  • 17. of software systemstoenablingpowerfulanalyses. • Designdecisioncodification.Tosupportrefinementandcombinationof architectural knowledge muchefforthasbeenputinmethods,tools,andtechniques to codifyarchitectural knowledgeconcepts.Designdecisionsare central tothese methodsandtools,butalsorelatedconceptssuchas rationale andalternative solutionsare captured. We sawearlierhowthe conceptof ‘decisions’seemtobe an umbrellaconcept for all viewsonarchitectural knowledge.We cannow explainthisbetter: ‘mature’ architectural knowledge managementunifiesconversionsfromall architectural knowledge managementphilosophies,andisnotmerelylimitedtojustone philosophy.Thisconcept,whichwe call ‘decision-in-the-large’,isrelatedmore to the architectingprocessthanto pure rationale management(whichwe couldcall ‘decision-in-the-narrow’),eventhoughcodifyingrationaleandpreventingknowledge vaporizationhasbeenone of the prime driversforthe decision-centricphilosophy. A focuson ‘decision-in-the-large’seemsdrivenmore byarchitectural knowledge use casesthan by anythingelse,oftenunderthe concept‘knowledge sharing’. A classificationof suchuse casesispresentedbyLagoet al.[31], whichdistinguishes betweenarchitecting,sharing,assessing,andlearning. Obviously,some‘decision-in-the-large’approachesevolvedfrom‘decision-inthe-narrow’ approaches.Butthe formerstarts to playa more prominentrole inthe otherphilosophies,andhence the otherviews,too.Inrecentyears, a shifttowards more overarchingstate-of-the-artapproachescanbe observed.Fourmaintrendsfor architectural knowledge managementcanbe identifiedthatmostlyfocusonspecific use casesfor architectural knowledge management.These trendswillbe elaborated uponin the nextsubsections.
  • 18. 4.1 Sharingarchitectural knowledge The trend of sharingarchitectural knowledge isfocusedonprovidingsupportfor managementof varioustypesof architectural knowledge (bothapplication-generic and application-specific).De Boeretal.propose a core model of architectural knowledge thatprovidesfurtherinsightinwhatarchitectingentails(e.g.how design decisionsare made) andwhichknowledge conceptsare worthfocusingonin supportfor architectural knowledgemanagement[4].Thisincludesconceptsthat have theirorigininthe pattern-centric,requirements-centricanddecision-centric view. From knowledgemanagementliteratureitisknownthatknowledgesharingcan be achievedthroughcodificationorpersonalization[25].Farenhorstetal.have come to the conclusionthata hybridstrategymightworkbest.Theypropose aplatform for architectural knowledgesharingthatcombinescodificationtechniques(design decisionrepositories,documentmanagementfacilities)withpersonalizationmechanisms (yellow pages,discussionforums) inordertoenable Just-In-Time architectural knowledge:deliveryof andaccessto the right architectural knowledge,tothe rightpeople,atthe righttime [18]. Anotherplatformthatallowsmanagingdifferenttypesof architecturalknowledge conceptsisthe Process-basedArchitecture KnowledgeManagementEnvironment (PAKME) proposedbyAli Babaret al.[1]. Thisenvironmentallowsstoring application-genericarchitectural knowledge (suchasgeneral scenarios,patterns, and qualityattributes),andapplication-specificarchitectureknowledge (suchas concrete scenarios,contextualizedpatterns,andqualityfactors). 4.2 Aligningarchitectingwithrequirementsengineering We observe atrendinarchitectural knowledgemanagementliteraturetowardsaligning the architectingprocesswithrequirementsengineering,since the twopractices
  • 19. seemtohave much incommon.Pohl etal. propose COSMOD-RE,a methodfor co-designingrequirementsandarchitecture [37].Thismethodssupportsthe development of detailedrequirementsbasedonthe specifiedarchitectureandthe speci- fiedgoalsandscenarios.Thisco-designfocusisfundamentallydifferentfromthe focuson traceabilityfromrequirementstoarchitecture,apredominantfocusinthe requirements-centricview. Withthe transitionfromtraceabilitytoco-development/co-designthe requirements engineeringcommunityappearstolookbeyondtheirownphilosophy.Inan attemptto betterunderstandthe relationshipof requirementsandarchitecture,De Boerand Van Vlietexploresimilaritiesbetweenthe two[6].Basedontheirstudy theyargue that there isno fundamental difference betweenarchitecturallysignificant requirementsandarchitectural decisions,whichalsopleadsforintegratedmethods and toolsforarchitectural knowledge managementthatoverarchrequirementsengineering and architecting. 4.3 Intelligentsupportforarchitecting Thistrendfocusesonspecificarchitectinguse casesrelatedtointelligentand/or real-time supportforarchitects.One of the state-of-the-artapproachesfocuseson providingarchitectsorreviewerswithareadingguide whenlookingforspecific architectural knowledge [5].Tosave time,architectsuse thisintelligentdiscovery methodtoquicklygetto the importantknowledge while skippinglessrelevantdocumentation. Otherintelligentsupportapproachesfocusonmodelingarchitectural knowledge conceptsinsuch a way that learningandreasoningisstimulated.One example isprovidedbyKruchten,whoproposesanontologyof architectural design decisions[30].The templateshe proposesallow acquiringinsightsinnotonlyimportant propertiesof designdecisions(e.g.the status),butalsointhe relationshipsbetween designdecisions(e.g.‘enables’or‘conflictswith’).Whenpropervisualizationtechniques are usedthisinformationisveryuseful forarchitectsinthe decisionmaking
  • 20. process,forexample tomodel the backlog[27]. 4.4 Towardsa bodyof architectural knowledge The last trendrelatestoestablishingabodyof architectural knowledge,toenable bothlearningandreuse.Recently,severalapproachesforsettingupsucha bodyof knowledge havebeenintroduced.LeninBabuet al.propose ArchVoc,anontology for software architecture [2].Basedonknowledge frommajortextbooksonsoftware architecture andby parsingpartsof the web,theyhave constructedasoftware architecture vocabularyforreuse purposes.Theirontologyof softwarearchitecture enablesthe architectinunderstandingthe existingbestpracticesandthe relationships betweenthemandalsoprovide ameanstoapplythemto the new systemsto be developed. The needforcatalogingarchitectural knowledge isalsoexpressedbyShaw and Clements,whoargue thatBooch’Handbook(cf.Section3) “can provide important exemplars,butengineersalsoneedreference material thatorganizeswhatwe know aboutarchitecture intoan accessible,operational bodyof knowledge.” [45] This bodyof knowledgeisthusnotcomprisedof onlypatterns,butalsoothertypesof explicitapplication-genericarchitectural knowledge thatcanbe utilizedeffectively. In an attemptto furtherdefinethese typesof architectural knowledge,Clements et al.have conductedempirical researchtofindoutwhatset of duties,skillsand knowledge ismostimportantforanarchitect[14]. Codificationof thisarchitectural knowledge isperceivedas“the beginningsof aroad map fortrainingand mentoring.” 5 Justification Our state-of-the-artoverview onarchitectural knowledgemanagementisthe result of an extensive literature reviewconductedbasedonapredefinedprotocol.More
  • 21. detailsonthisprotocol can be foundin[3]. The mainphasesexecuted are discussed inthe remainderof thissection. In a systematicliteraturereviewof studiesthatdefineordiscuss‘architectural knowledge’,we identified115 such studies[3].These 115 studiesformthe basisfor our discussioninthischapter.Consequentlywe will refertothese studiesasthe set of core studies(C). Since we are interestedinthe communitystructuresthatunderlythe topicof architectural knowledge,we enrichedourdatasetwithbibliographical links.We assume the communitystructure canbe found,orapproximated,bytakingintoaccount the bibliographical referencesthatvariousauthorsmake toeach otherswork. Strongcommunitieswill displaymanyintra-communityreferences,andrelatively fewreferencestoworkoutside the community.Thereare twotypesof bibliographical references:referencesfromstudiesinCtootherstudies,andreferencestostudies inC fromotherstudies.We will use B(for‘bibliography’) todenote studiesthatare referredtofromstudiesinC,and R (for’referring’) todenote studiesthatreferto studiesinC.Hence,the mappingR →C→ B summarizesthe enricheddatasetused throughoutthischapter.1 To determine B,we simplytookall referenceslistedinthe 115 studiesfrom C. To determine R,however,we hadtodo a ‘reverse search’onthe studiesinC, since the informationneededisnotpresentinCitself.Forconstructionof R,we usedthe Google Scholarsearchengine whichprovidessuchareverse searchfacility throughits‘citedby’feature. While constructingRandB, we alsoobtainedresults not necessarilyfoundinsourcesfromthe sourceslistidentifiedinoursystematic review(cf.[3]).We donot see thisasa limitationof ourmethodology.The goal of the datasetenrichmentisdifferentfromthe initial identificationof primarystudiesin the systematicreview;inthe enrichmentwe are interestedincommunitystructures, and the differentcommunitiesneednotbe limitedtostudiespublishedthroughand
  • 22. indexedbythe sourcesusedfor the review. Together,B,C, and R comprise a‘social network’of scholarlypublicationsand theirinterconnections.We analyzedthisnetworkusingthe Girvan-Newmanalgorithm [24]. The Girvan-Newmanalgorithmdiscoverscommunitiesinagraph,based on the ‘betweenness’of edges,i.e.,the numberof shortestpathsthatrunthrough an edge.The algorithmiterativelycalculatesthe edge betweennessandremovesthe edge withthe highestbetweennessvalue,therebyeliminatingedgesthatact as connections betweendifferentcommunities.Eventually,the algorithmresultsinafully disconnectedgraphof ‘communities’thatconsistof a single node. Obviously,adisconnectedgraphisnotthe strongestcommunitystructure possible. Newmandefinesthe modularity(Q) asameasure of strengthof the community structure discoveredinanetwork[34].High valuesof Q(0 ≤ Q ≤ 1) indicate networks witha strong communitystructure.Newman’sempirical evidence showsthat local maximaof Q correspondto reasonable community divisions,hence itisgood practice to stop the Girvan-Newmanalgorithmwhena(local orglobal) maximum Q-value hasbeenobtained.Inourcase,the firstlocal maximumof Q occurredwhen the graph had beensplitupin52 communities,while the global maximumoccurred at 59 communities(Q≈ 0,7832), whichisextremelyhigh(accordingtoNewman, valuesabove 0.7 are rare; typical valuesfall inthe range 0.3−0.7). Because of the data enrichmentprocesswe followedandthe waythe Girvan-Newmanalgorithm works,eachof these 59 communitiesconsistsof atleastone studyfromC,pluszero or more publicationsfromeitherBor R. In orderto assignmeaningtothe 59 communitiesthatcame outof the algorithm we examinedthe setof papersforeachof these communitiesinturn,andgave thema label thatcorrespondedbesttothe papersinthat community.Often,the non-core papersinthe communitydidhelpinfurthercharacterizingthe community and helpedinphrasingasuitable label.Whenthiswasmore difficult(forexample
  • 23. whenthe non-core papersvariedtoomuchinsubject),we lookedmore specifically at the core papersinthat communitysince these actuallytalkaboutarchitectural knowledge andcantherefore leadtomore fittingforthe communityname. Inthe endwe endedupwith59 labelsforthe communities,althoughsome of those did overlaptoa certainextentwitheachother. In orderto findouthow exactlythe communitieshadbeendiscoveredbythe GirvanNewmanalgorithmwe examinedthe hierarchical structure of the identified communities.The hierarchical relationscapture the orderinwhichthe communities have beenidentified.Basedonthe orderof community-split-upswe couldassign namesto larger-order(i.e.parent) communitiesaswell. Accordingto our definitionacommunityshouldconsistof atleasttwocore papers (thattalk aboutarchitectural knowledge)writtenbydifferentauthors.Basedon thisrule we furtheranalyzedthe data.We limitedthe numberof maincommunities by removingthe single-core-paperonesandthe onesconsistingof merelypapers by the same author(s).Inthe endthisrefinementculminatedintothe fourmain communitiesdiscussedthroughoutthischapter:pattern-centric,dynamism-centric, requirements-centric,and decision-centric. 6 Summary In thischapterwe have analyzedthe state-of-the-artinarchitectural knowledge management,andhave shownthatthe conceptof ‘architectural knowledge’isbecoming more prominentinliterature.InSection2.1we have identifiedfourmain viewsonarchitectural knowledge:apattern-centricview,adynamism-centricview, a requirements-centricview,andadecision-centricview.The conceptof ‘decision’ was foundtobe an umbrellaconceptthatunifiespartsof these views.
  • 24. To betterunderstandthe conceptof architectural knowledgeinSection2.2we have definedfourmaincategories(ortypes) of architectural knowledgebasedona distinctionbetweentacitandexplicitknowledge onthe one hand,andapplicationgeneric and application-specificarchitecturalknowledge onthe otherhand.Intotal 16 knowledge conversionsare possible betweenthese fourtypesof architectural knowledge.Toarticulate the commonalitiesanddifferencesbetweenthe fourviews, inSection3 we statedtheirmainphilosophiesof architectural knowledgemanagement and elaborateduponthe architectural knowledge conversionsthatare central for these views.The conversionswere furtherillustratedbyexamplesof related work. Basedon the discussion of the mainphilosophieswe identifiedfoursingle philosophy approachesforarchitectural knowledge management:rationale managementsystems, patternlanguagesandcatalogs,architectural descriptionlanguages, and designdecisioncodification.All these approacheshave boththeirorigininand scope on onlyone of the main philosophies.Inrecentyears,however,ashifttowards more overarchingapproachescanbe observed.Fourmaintrendsforarchitectural knowledge managementcanbe identifiedthatmostlyfocusonspecificuse casesfor architectural knowledge management(e.g.sharing,learning,traceability). Thisstate of the art inarchitectural knowledge managementindicatesashiftfrom ‘decision-in-the-narrow’to‘decision-in-the-large’. We expectthe interestinarchitectural knowledge tokeepincreasingoverthe comingyears.Althoughitisunlikelythatwe will see aunifiedview onarchitectural knowledge anytime soon,the observedtrendsinarchitectural knowledgemanagement indicate thatfuture developmentsonmanagingarchitectural knowledge may furtheralignthe differentviews.We expectthe trendtowards‘decision-in-the-large’ to continue,since bothresearchersandpractitionersaimforabetterunderstanding of whatarchitectsdo,what theirknowledge needsare,andhow thisarchitectural knowledge canbestbe managedinthe architectingprocess.
  • 25. Source : springerlink.com Recommendedby: JonCohn ,CTO, VP IT Architecture https://www.linkedin.com/in/jonacohn joncohn@comcast.net "JonCohn ExtonPA""JonCohn Exton""JonCohnEvolution"