Software language engineering 6th international conference sle 2013 indianapolis in usa october 26 2

Page 1


Software Language Engineering 6th International Conference SLE 2013

Indianapolis IN USA October 26 28 2013 Proceedings 1st Edition Don Batory

Visit to download the full and correct content document: https://textbookfull.com/product/software-language-engineering-6th-international-conf erence-sle-2013-indianapolis-in-usa-october-26-28-2013-proceedings-1st-edition-don -batory/

More products digital (pdf, epub, mobi) instant download maybe you interests ...

Advanced Concepts for Intelligent Vision Systems 15th

International Conference ACIVS 2013 Pozna■ Poland

October 28 31 2013 Proceedings 1st Edition Christophe Deknudt

https://textbookfull.com/product/advanced-concepts-forintelligent-vision-systems-15th-international-conferenceacivs-2013-poznan-poland-october-28-31-2013-proceedings-1stedition-christophe-deknudt/

Information Theoretic Security 7th International Conference ICITS 2013 Singapore November 28 30 2013 Proceedings 1st Edition Kaoru Kurosawa

https://textbookfull.com/product/information-theoreticsecurity-7th-international-conference-icits-2013-singaporenovember-28-30-2013-proceedings-1st-edition-kaoru-kurosawa/

Universal Access in Human Computer Interaction User and Context Diversity 7th International Conference UAHCI

2013 Held as Part of HCI International 2013 Las Vegas

NV USA July 21 26 2013 Proceedings Part II 1st Edition Stijn Bannier

https://textbookfull.com/product/universal-access-in-humancomputer-interaction-user-and-context-diversity-7thinternational-conference-uahci-2013-held-as-part-of-hciinternational-2013-las-vegas-nv-usa-july-21-26-2013-proceedingspa/

Ultrafast Magnetism I Proceedings of the International Conference UMC 2013 Strasbourg France October 28th November 1st 2013 1st Edition Jean-Yves Bigot

https://textbookfull.com/product/ultrafast-magnetism-iproceedings-of-the-international-conference-umc-2013-strasbourgfrance-october-28th-november-1st-2013-1st-edition-jean-yvesbigot/

Engineering Secure Software and Systems 6th

International Symposium ESSoS 2014 Munich Germany February 26 28 2014 Proceedings 1st Edition Jan Jürjens

https://textbookfull.com/product/engineering-secure-software-andsystems-6th-international-symposium-essos-2014-munich-germanyfebruary-26-28-2014-proceedings-1st-edition-jan-jurjens/

Robotic Sailing 2013 Proceedings of the 6th

International Robotic Sailing Conference 1st Edition Cédric Anthierens

https://textbookfull.com/product/roboticsailing-2013-proceedings-of-the-6th-international-roboticsailing-conference-1st-edition-cedric-anthierens/

Unifying Theories of Programming and Formal Engineering Methods International Training School on Software

Engineering Held at ICTAC 2013 Shanghai China August 26 30 2013 Advanced Lectures 1st Edition Ruzhen Dong

https://textbookfull.com/product/unifying-theories-ofprogramming-and-formal-engineering-methods-internationaltraining-school-on-software-engineering-held-atictac-2013-shanghai-china-august-26-30-2013-advancedlectures-1st-edition/

Decision and Game Theory for Security 4th International Conference GameSec 2013 Fort Worth TX USA November 11 12 2013 Proceedings 1st Edition Emrah Akyol

https://textbookfull.com/product/decision-and-game-theory-forsecurity-4th-international-conference-gamesec-2013-fort-worth-txusa-november-11-12-2013-proceedings-1st-edition-emrah-akyol/

Multiple Access Communcations 6th International Workshop MACOM 2013 Vilnius Lithuania December 16 17 2013 Proceedings 1st Edition Jing Yan

https://textbookfull.com/product/multiple-accesscommuncations-6th-international-workshop-macom-2013-vilniuslithuania-december-16-17-2013-proceedings-1st-edition-jing-yan/

Software Language Engineering

6th International Conference, SLE 2013 Indianapolis, IN, USA, October 2013 Proceedings

LectureNotesinComputerScience8225

CommencedPublicationin1973

FoundingandFormerSeriesEditors: GerhardGoos,JurisHartmanis,andJanvanLeeuwen

EditorialBoard

DavidHutchison LancasterUniversity,UK

TakeoKanade

CarnegieMellonUniversity,Pittsburgh,PA,USA

JosefKittler UniversityofSurrey,Guildford,UK

JonM.Kleinberg

CornellUniversity,Ithaca,NY,USA

AlfredKobsa UniversityofCalifornia,Irvine,CA,USA

FriedemannMattern ETHZurich,Switzerland

JohnC.Mitchell StanfordUniversity,CA,USA

MoniNaor

WeizmannInstituteofScience,Rehovot,Israel

OscarNierstrasz UniversityofBern,Switzerland

C.PanduRangan IndianInstituteofTechnology,Madras,India

BernhardSteffen TUDortmundUniversity,Germany

MadhuSudan MicrosoftResearch,Cambridge,MA,USA

DemetriTerzopoulos UniversityofCalifornia,LosAngeles,CA,USA

DougTygar UniversityofCalifornia,Berkeley,CA,USA

GerhardWeikum

MaxPlanckInstituteforInformatics,Saarbruecken,Germany

MartinErwigRichardF.Paige EricVanWyk(Eds.)

SoftwareLanguage Engineering

6thInternationalConference,SLE2013 Indianapolis,IN,USA,October26-28,2013

Proceedings

VolumeEditors

MartinErwig

OregonStateUniversity

SchoolofElectricalEngineeringandComputerScience Corvallis,OR97331-5501,USA

E-mail:erwig@eecs.oregonstate.edu

RichardF.Paige UniversityofYork DepartmentofComputerScience DeramoreLane,YorkYO105GH,UK

E-mail:richard.paige@york.ac.uk

EricVanWyk UniversityofMinnesota DepartmentofComputerScienceandEngineering 200SEUnionStreet,Minneapolis,MN55455,USA

E-mail:evw@cs.umn.edu

ISSN0302-9743e-ISSN1611-3349

ISBN978-3-319-02653-4e-ISBN978-3-319-02654-1 DOI10.1007/978-3-319-02654-1

SpringerChamHeidelbergNewYorkDordrechtLondon

LibraryofCongressControlNumber:2013949676

CRSubjectClassification(1998):

D.3.2-4,D.2.1-2,D.2.11-13,F.4.2,I.2.4,I.6.5,K.6.3

LNCSSublibrary:SL2–ProgrammingandSoftwareEngineering ©SpringerInternationalPublishingSwitzerland2013

Thisworkissubjecttocopyright.AllrightsarereservedbythePublisher,whetherthewholeorpartof thematerialisconcerned,specificallytherightsoftranslation,reprinting,reuseofillustrations,recitation, broadcasting,reproductiononmicrofilmsorinanyotherphysicalway,andtransmissionorinformation storageandretrieval,electronicadaptation,computersoftware,orbysimilarordissimilarmethodology nowknownorhereafterdeveloped.Exemptedfromthislegalreservationarebriefexcerptsinconnection withreviewsorscholarlyanalysisormaterialsuppliedspecificallyforthepurposeofbeingenteredand executedonacomputersystem,forexclusiveusebythepurchaserofthework.Duplicationofthispublication orpartsthereofispermittedonlyundertheprovisionsoftheCopyrightLawofthePublisher’slocation, initscurrentversion,andpermissionforusemustalwaysbeobtainedfromSpringer.Permissionsforuse maybeobtainedthroughRightsLinkattheCopyrightClearanceCenter.Violationsareliabletoprosecution undertherespectiveCopyrightLaw.

Theuseofgeneraldescriptivenames,registerednames,trademarks,servicemarks,etc.inthispublication doesnotimply,evenintheabsenceofaspecificstatement,thatsuchnamesareexemptfromtherelevant protectivelawsandregulationsandthereforefreeforgeneraluse.

Whiletheadviceandinformationinthisbookarebelievedtobetrueandaccurateatthedateofpublication, neithertheauthorsnortheeditorsnorthepublishercanacceptanylegalresponsibilityforanyerrorsor omissionsthatmaybemade.Thepublishermakesnowarranty,expressorimplied,withrespecttothe materialcontainedherein.

Typesetting: Camera-readybyauthor,dataconversionbyScientificPublishingServices,Chennai,India

Printedonacid-freepaper

SpringerispartofSpringerScience+BusinessMedia(www.springer.com)

Preface

Wearepleasedtopresenttheproceedings ofthe6thInternationalConference ofSoftwareLanguageEngineering(SLE2013).TheconferencewasheldinIndianapolis,USA,duringOctober26–28,2013.Itwasco-locatedwiththe12th InternationalConferenceonGenerativeProgrammingandComponentEngineering(GPCE2013),the4thConferenceonSystems,Programming,Languages andApplications:SoftwareforHumanity(SPLASH2013,whichincludesOOPSLA),theDynamicLanguagesSymposium,the5thInternationalWorkshopon Feature-OrientedSoftwareDevelopment,andthreeSLEworkshops:theIndustryTrackofSoftwareLanguageEngineering,theSystemsBiologyandLanguage Engineering,andtheParsing@SLEWorkshop.

TheSLEconferenceseriesisdevotedtoawiderangeoftopicsrelatedto artificiallanguagesinsoftwareengineering.SLEisaninternationalresearchforumthatbringstogetherresearchersandpractitionersfrombothindustryand academiatoexpandthefrontiersofsoftwarelanguageengineering.SLE’sforemostmissionistoencourage,synthesize,andorganizecommunicationbetween communitiesthathavetraditionallylookedatsoftwarelanguagesfromdifferent andyetcomplementaryperspectives.Supportingthesecommunitiesinlearning fromeachother,andtransferringknowledge,istheguidingprinciplebehindthe organizationofSLE.

Theconferenceprogramincludedakeynotepresentation,17technicalpaperpresentations,2toolpapers,andanumberofposterpresentations(which arenotincludedintheseproceedings,butinacomplementaryvolume).The invitedkeynotespeakerwasDonBatory(UniversityofTexasatAustin,USA), whospokeprovocativelyabout“DarkKnowledgeandGraphGrammarsinAutomatedSoftwareDesign”.

Wereceived56fullsubmissionsfrom63abstractsubmissions.Fromthese submissions,theProgramCommittee(PC)selected19papers:17fullpapers and2tooldemonstrationpapers,resultinginanacceptancerateof34%.Each submittedpaperwasreviewedbyatleastthreePCmembersanddiscussedin detailduringtheelectronicPCmeeting.

SLE2013wouldnothavebeenpossiblewithoutthesignificantcontributionsofmanyindividualsandorganizations.WearegratefultotheSPLASH 2013generalchairsandlocalorganizingchairs,particularlyAntonyHoskingand PatrickEugster,fortakingcareoflogisticalmattersandhostingtheconference inIndianapolis.TheSLESteeringCommitteeprovidedinvaluableassistanceand

guidance.WearealsogratefultothePCmembersandtheadditionalreviewersfortheirdedicationinreviewingthesubmissions.Wethanktheauthorsfor theireffortsinwritingandthenrevisingtheirpapersandaddressingtherecommendationsoftherefereesinaconstructivemanner.Ourfinalthanksgotothe sponsoringandcooperatinginstitutionsfortheirgeneroussupport.

Organization

GeneralChair

EricVanWykUniversityofMinnesota,USA

ProgramCo-chairs

MartinErwigOregonStateUniversity,USA

RichardF.PaigeUniversityofYork,UK

SteeringCommittee

MarkvandenBrandEindhovenUniversityofTechnology, TheNetherlands

JamesCordyQueen’sUniversity,Canada

Jean-MarieFavreUniversityofGrenoble,France DraganGaševićAthabascaUniversity,Canada GörelHedinLundUniversity,Sweden EricVanWykUniversityofMinnesota,USA JurgenVinjuCWI,TheNetherlands KimMensCatholicUniversityofLouvain,Belgium ProgramCommittee

EmilieBallandInria,France

OlafChitilUniversityofKent,UK

JamesR.CordySchoolofComputing,Queen’sUniversity, Canada

DavideDiRuscioUniversitàdegliStudidell’Aquila,Italy

IavorDiatchkiGaloisInc.,USA

AnneEtienLIFL-UniversityofLille1,France

Jean-MarieFavreUniversityofGrenoble,France DraganGaševićAthabascaUniversity,Canada

JeremyGibbonsUniversityofOxford,UK AndyGillUniversityofKansas,USA JeffGrayUniversityofAlabama,USA

GiancarloGuizzardiFederalUniversityofEspiritoSanto,Brazil GörelHedinLundUniversity,Sweden

MarkusHerrmannsdörferTechnischeUniversitätMünchen,Germany

ZhenjiangHuNII,Japan

OlegKiselyovUSA

PaulKlintCWI,TheNetherlands

ThomasKühneVictoriaUniversityofWellington,NewZealand KimMensUniversitéCatholoqueLouvain,Belgium

Pierre-EtienneMoreauEcoledesMinesdeNancy,France KlausOstermannUniversityofMarburg,Germany

ArndPoetzsch-HeffterUniversityofKaiserslautern,Germany

FionaPolackUniversityofYork,UK

LukasRenggliUniversityofBern,Switzerland BernhardRumpeRWTHAachen,Germany JoãoSaraivaUniversidadedoMinho,Portugal FriedrichSteimannFernUniversitätinHagen,Germany

GabrieleTäntzerPhilipps-UniversitätMarburg,Germany MarkVanDenBrandTUEindhoven,TheNetherlands JurgenVinjuCWI,TheNetherlands

AdditionalReviewers

Alalfi,Manar Arendt,Thorsten Asadi,Mohsen Bach,Jean-Christophe Bieniusa,Annette Boskovic,Marko Bosnacki,Dragan Brunnlieb,Malte Chen,Sheng Cho,Hyun Corley,Jonathan Cunha,Jácome Dean,Thomas Feller,Christoph Fontaine,Pascal Fort,Karën Greifenberg,Timo Groener,Gerd Hermerschmidt,Lars Horst,Andreas

Jacob,Ferosh Kelter,Udo Kolassa,Carsten Kurnia,Ilham Kurpick,Thomas Martins,Pedro Michel,Patrick Pollet,Damien Ressia,Jorge Ringert,JanOliver Serebrenik,Alexander Smeltzer,Karl Stephan,Matthew Stevenson,Andrew Sun,Yu vanAmstel,Marcel vanderMeer,Arjan Verhoeff,Tom Weber,Mathias

TableofContents

InvitedTalk DarkKnowledgeandGraphGrammarsinAutomatedSoftware

DonBatory,RuiGonçalves,BryanMarker,andJanetSiegmund

Domain-SpecificLanguages

DevelopingaDomain-SpecificLanguageforSchedulingintheEuropean

StefanSobernig,MarkStrembeck,andAndreasBeck

PaulKlintandRiemervanRozen

TanjaMayerhofer,PhilipLanger,ManuelWimmer,and GertiKappel

LanguagePatternsandEvolution

EdoardoVacchi,WalterCazzola,SureshPillay,and BenoîtCombemale

StefanFehrenbach,SebastianErdweg,andKlausOstermann

VadimZaytsev

AliAfroozeh,MarkvandenBrand,AdrianJohnstone, ElizabethScott,andJurgenVinju

NaveneethaVasudevanandLaurenceTratt

AnyaHeleneBaggeandTeroHasu

Tools

TheStateoftheArtinLanguageWorkbenches:Conclusions fromtheLanguageWorkbenchChallenge

197 SebastianErdweg,TijsvanderStorm,MarkusVölter, MeinteBoersma,RemiBosman,WilliamR.Cook,AlbertGerritsen, AngeloHulshout,StevenKelly,AlexLoh,GabriëlD.P.Konat, PedroJ.Molina,MartinPalatnik,RistoPohjonen, EugenSchindler,KlemensSchindler,RiccardoSolmi, VladA.Vergu,EelcoVisser,KevinvanderVlist, GuidoH.Wachsmuth,andJimivanderWoning

AModel-DrivenApproachtoEnhanceToolInteroperabilityUsing theTheoryofModelsofComputation 218 PapaIssaDiallo,JoëlChampeau,andLoïcLagadec

Whiley:APlatformforResearchinSoftwareVerification 238 DavidJ.PearceandLindsayGroves

MethodandToolSupportforClassifyingSoftwareLanguages with Wikipedia ................................................... 249 RalfLämmel,DominikMosen,andAndreiVaranovich

LanguageAnalysis

ALanguageIndependentTaskEngineforIncrementalNameandType Analysis 260

GuidoH.Wachsmuth,GabriëlD.P.Konat,VladA.Vergu, DannyM.Groenewegen,andEelcoVisser

AGenericFrameworkforSymbolicExecution ....................... 281 AndreiArusoaie,DorelLucanu,andVladRusu

CircularHigher-OrderReferenceAttributeGrammars ................ 302 EmmaSöderbergandGörelHedin

Meta-andMegamodelling

Mapping-AwareMegamodeling:DesignPatternsandLaws ............ 322 ZinovyDiskin,SaharKokaly,andTomMaibaum

PartialInstancesviaSubclassing 344 KacperBąk,ZinovyDiskin,MichałAntkiewicz, KrzysztofCzarnecki,andAndrzejWąsowski

ReifyingConcurrencyforExecutableMetamodeling 365 BenoîtCombemale,JulienDeAntoni,MatiasVaraLarsen, FrédéricMallet,OlivierBarais,BenoitBaudry,andRobertB.France AuthorIndex ..................................................

DarkKnowledgeandGraphGrammars inAutomatedSoftwareDesign

DonBatory 1 ,RuiGonc¸alves2 ,BryanMarker1 ,andJanetSiegmund3

1 UniversityofTexasatAustin,Austin,TX78712USA

{batory,marker}@cs.utexas.edu

2 UniversidadedoMinho,Braga,Portugal rgoncalves@di.uminho.pt

3 UniversityofPassau,Germany feigensp@ovgu.de

Abstract. Mechanizingthedevelopmentofhard-to-writeandcostly-to-maintain softwareisthecoreproblemofautomatedsoftwaredesign.Encodingexpert knowledge(a.k.a. darkknowledge)aboutasoftwaredomainiscentraltoitssolution.Weassertthatasolutioncanbecastintermsoftheideasoflanguage designandengineering.Graphgrammarscanbeafoundationformodernautomatedsoftwaredevelopment.Thesentencesofagrammararedesignsofcomplex dataflowsystems.Weexplainhowgraphgrammarsprovideaframeworktoencodeexpertknowledge,producecorrect-by-constructionderivationsofdataflow applications,enablethegenerationofhigh-performancecode,andimprovehow softwaredesignofdataflowapplicationscanbetaughttoundergraduates.

1Introduction

Likemanyofyou,Ireadpopularsciencearticles.Iespeciallyenjoydiscussionson currentproblemsintheoreticalphysics.Myfavoriteproblemisthatroughly80%of themassofouruniverseismadeofmaterialthatscientistscannotdirectlyobserve.It iscalled darkmatter .Darkmatteremitsnolightorenergy,butisnotentirelyinvisible. Scientistsknowitexistsbecausewithitthey canexplaintheotherwiseunusualrotations ofgalaxies,theunexpectedbendingoflightinemptyspace,andthesurprisingfactthat theexpansionofouruniverseisaccelerating.Theissueofdarkmatterhasbeenknown foratleast25years[2],yettodayitremainspoorlyunderstood.

Darkmatterremindsmeofacorrespondingprobleminsoftwaredesign.Software designisaseriesofdecisionswhoseeffectsareseeninprograms,butarenotdirectly observable.Inanalogytodarkmatter,Icallit darkknowledge.Darkknowledgeis fleeting.Programmersmayknowitonedayandforgetitthenext.Itisnotpresent insourcecode.Yetweknowdarkknowledgeexists,becausewithitwecanexplain programdesigns.Ifanengineermakesacertaindecision,(s)hewouldexpecttosee algorithm α inaprogram;withanalternativechoice,(s)hewouldsee β.Thepresence ofdarkknowledgeinprogramshasbeenknownforatleast30years[6,9,22],andtoday ittooremainspoorlyunderstood.

Asthispapertranscribesakeynotepresentation,“I”referstoBatory’spersonalexperienceand “We”referstotheexperienceofallauthors.

M.Erwig,R.F.Paige,andE.VanWyk(Eds.):SLE2013,LNCS8225,pp.1–18,2013. c SpringerInternationalPublishingSwitzerland2013

cone of implementations (a)(b)

Fig.1. ConeofImplementationsforaSpecification

Darkknowledgeisimportant.Softwaredesignstartswithaformalorinformalspecification.Weknowthattherearehugenumbersof possibleprogramsthatcouldimplement aspec(indicatedbythe“coneofimplementations”inFig.1a,[3]).Withdomainand software-engineeringknowledge,anengineermakesaseriesofdecisionstocreateaprogramtoimplementthespec.ThedashedlinesinFig.1aindicate“darkknowledge”:the engineerstartswithanexistingprogram(possiblytheemptyprogram) P0 thattypically doesnotsatisfythespec,makesaseriesofmodifications(oneperdecision)toultimately arriveataprogramthatdoessatisfythespec.Thischainofdecisionsisfleeting—over timeitisforgotten,therebylosingvitalknowledgeabouttheprogram’sdesign.Whenthe specisupdated(Fig.1b),engineerswhomaintaintheprogrameffectivelyhavetorecreatetheseriesofdecisionsthatleadtotheoriginalprogram,eraseapreviousdecision,and replaceitwiththosethatareconsistentwiththenewspec.Intime,thesedecisionsare forgottenasbefore,bringingusbacktosquareonewheredesignknowledgeisdark.1

Theconnectiontolanguagedesignisimmediateinashallowway:languagedesign andlanguageimplementationareinstancesoftheseideas.Theytooinvolveaseriesof decisionswhoseeffectscanbeseen,butnotexplicitlyencoded.Consequently,thesame problemsarise:vitaldesignknowledge formaintenanceandevolutionislost.

Theimportanceofdarkknowledgeiswell-known.Makingdarkknowledgewhite (explicit)wasexpressedin1992byBaxterinhispaperon“DesignMaintenanceSystems”[6].Morerecently,anotherversionofthisideaarisesinself-adaptiveandselfmanagingsoftware[48].Here,thegoalistoencodedesigndecisionsexplicitlyin softwaretomakedarkknowledgewhite,sothesedecisionscanberevisitedandredecidedautomatically(possiblywithahumanintheloop).Illuminatingdarkknowledge embodiesanewapproachtosoftwaredevelopment[40].

Theapproachpresentedinthispapertomakedarkknowledgewhiteiscalled Design byTransformation(DxT) [17,21,37,38,46,50].

2HowDarkKnowledgeCanBeEncoded

Thechallengeishowtoencodedarkknowledgetherebymakingitwhite.Transformationscandothis.Fig.2showsthebasicidea.Startingwithprogram P0 ,aseriesof transformations τ4 τ3 τ2 τ1 isappliedtoproducethedesiredprogram P4 .Ofcourse, todayeachofthesetransformationsisaccomplishedmanually: P0 ishackedinto P1 , P1 ishackedinto P2 , P2 into P3 ,and P3 into P4 .Withenoughexperience,anengineercanskip

1 Darkknowledgecanbeencodedincodecomments,butthisiswoefullyinadequate.

Fig.2. ProgramDerivation intermediatesteps.Butifeachtransformationwereprogrammedsothatitcouldbeappliedbyatool, P4 wouldbeautomaticallyderivedfrom P0 .Itisthisautomationmindset thatdrivesDxT.

ProgramderivationinDxTisrelatedto grammarsandparsetrees.Agrammar G for alanguageisasetofrulescalled productions thatdescribehowtoformsentences(inthelanguage’salphabet)thatarevalidaccordingto thelanguage’ssyntax.Thesetofderivablesentencesisthelanguage L (G ).Fig.3ashows grammar G anditsconeofsentences L (G ). WhatIhavecalleddarkknowledgeisasequenceofdecisionsthatderivesaparticular sentence S (thedashedarrowsinFig.3a).Startingfromarepresentation S0 thatlikelydoesnot belongto L (G ),aseriesofdecisions(productioninvocations)derives S.Thisderivation,of course,istheparsetreeof S:itisaproofthat S ∈ L (G ) (Fig.3b).Italsorepresentsthenotso-darkknowledgeof S.Characteristicofdark knowledgeisthatthereisnodirectevidenceof theseproductionsin S itself;allthatappearsaretheirafter-effects.Suchknowledgeis important;giventhe abstractsyntaxtree(AST) ofaprogram,onecanautomateprogrammanipulations,suchasrefactorings.Withoutsuchknowledge,refactoringswould bedifficult,ifnotimpossible,toperformcorrectly.

Fig.3. TheLanguageofaGrammaranda ParseTreeofSentence S

Inover25yearsofstudyingprogramdesign,Ihavecometoseetypicalprogramming languagesandtheirgrammarsasone-dimensional;theirsentences(eg Javaprograms) aresimply1Dstrings.Thisisnotenough:to seethepossibilitiesthatariseinprogram development,onehastothinkintermsof n≥2dimensionalgraphs,not1Dlines.

Ifocusondataflowprogramsinthispaper.Theyarenotrepresentativeofallprograms,buttheydooccupyasignificantgroupofprogramsthataredevelopedtoday.A dataflowprogramcanbevisualizedasagraphofcomputations,wherenodesareprimitivecomputationsandedgesindicatetheflowofdata.Fig.4aisanexample: α, β, γ are computations;dataentersontheleftandexitsontheright.Althoughitisalwayspossibletomapdataflowgraphsto1Dprograms,thereisanimportantdistinctionbetween 1Dand nDgrammars,whichI’lldiscusslaterinSection5.1.

Informally, graphgrammars aregeneralizationsofChomskystringgrammars.They extendtheconcatenationofstringstoagluingofgraphs[10,15].Productionsareofthe form Graphleft → Graphright ; ie replace Graphleft with Graphright 2 Derivationsare

2 Therearedifferentformalismsforgraphgrammars[47].DxTgrammarsfollowthealgebraic (double-pushout)approachto(hyper-)graphgrammars.

oftheform Graphinitial ⇒∗ Graphfinal ; ie applyasequenceofrewritesto Graphinitial toproduce Graphfinal .Graphgrammarshavebeenusedformanypurposes,suchas designofvisuallanguages[19,44,59],modelsynchronization[20,28],modelvalidation[25,52],programcompilation[49],anddynamicadaptation/evolutionofarchitectures[11,14,33,55,56].

Fig.4showsthreerewrites.Fig.4b replacesa β computationwithagraph ofcomputations(eg amap-reduceof β).

Fig.4cshowsthesamefor γ.Fig.4d showsthatof α followedby α 1 cancelseachother,yieldinganidentity map.Fig.5isaderivationthatstarts ataninitialgraphwherecomputation β precedes γ tothefinalgraphofFig.4a usingtherewritesofFig.4b-d.

Adirectanalogyof1Dand nDgrammarswouldhavebothdefiningthesyntaxofalanguage.Forexample,itis easytoimaginealanguageofcyclic graphs,whereeachnodeisconnected toexactlytwoothernodes.DxTgoes furtherinthateachproductiondefinesa semanticequivalencebetweenitsLHS andRHSgraphs.

Thereisasubtledistinction betweenagraphgrammarandagraphrewritingsystem:theformerenumeratesallgraphsfromsomestarting graphandthelattertransformsagiven state(hostgraph)intoanewstate[57]. Inthissense,DxTisclosertoagraph grammar.

Allofthisisratherabstract,solet’s pauseheretoseeaconcreteexample.

3Upright:ASynchronous CrashFaultTolerantServer

Uprightwasthestate-of-the-artByzantinecrashfaulttolerantserverin2009 [8].Wewereinterestedinitsdataflow design.TalkingtotheUprightauthors, wesoondiscoveredthat ∼15peopleon earthreallyunderstoodit(andwecertainlywerenotamongthem).Itposed

Fig.4. ADataflowGraphand3Rewrites
Fig.5. Graphinitial ⇒∗ Graphfinal

achallengingreverseengineeringtask[46].Inthissection,wereviewUpright’s SynchronousCrashFaultTolerant(SCFT) designintermsofDxT.Doingsoturnsitsdark knowledgewhite.

Upright’sstartingdataflowgraphisFig.7a.(Myapologyforthe sizeofthisfigure;itcanbedigitallyenlarged).Suchagraphin Model DrivenEngineering(MDE) iscalleda PlatformIndependentModel (PIM).Clients(the C boxes)asynchronouslysendrequeststoastatefulserver(box VS);thenetworkeffectivelyserializestheserequests (box Serialize).Theserverreadseachrequest,updatesitsstate,and thensendsoutaresponse.Thenetworkroutestheresponsebackto theoriginatingclient(box Demultiplex).Ineffect,messagesexiting ontherightofFig.7are-enterthefigureontheleft,asifthegraphwereembeddedon thesurfaceofacylinder(Fig.6).

Fig.6. Cylinder

ThederivationofUpright’simplementeddataflowgraph,calleda PlatformSpecific Model(PSM),beginswiththetransitionfromFig.7atoFig.7bthatexposesanetwork queue(L)infrontoftheserver(S).Next,thetransitionfromFig.7btoFig.7ceffectively performsamap-reduceofboth L and S [29].Fig.7disacopyofFig.7cthatshowsthe subgraphstobereplaced(toeliminatesinglepointsoffailure).TheSCFTdataflow designofFig.7eisaPSMforFig.7a[46].Weusedthisderivationtoreimplement Upright’sSCFTdesign[46].

Thesemanticsoftheserewritesarewell-understoodbyexpertsofSCFTdesign;for thispresentation,weviewthemassterilegraphtransformations.

Fig.7. Upright’sSCFTPIM ⇒∗

3.1DxTandtheEssenceofGraphGrammars

Agraphgrammar GG isanorderedpair (g, P ); g isthestartinggraphand P isaset ofgraphproductions.Thelanguageof GG , L (GG ),isthesetofgraphsthatcanbe derivedbyapplyingtherulesin P to g [10,15,47].

DxTbuildsonthisfoundation:(1)theprimitivecomputations(operations)ofadomainarethealphabetof GG ,(2)thefundamentalcomputationalequivalencesofthe domainareitsgraphtransformations(whichencodethefundamentalpatternsofcomputationthatwerepreviouslydarkknowledge),and(3)theinitialgraph g isthePIM ofanapplicationand L (GG ) isthesetofitsPSMs—theconeofimplementationsfor g.DxTgoesfurther,inthattheinitialgraphcanbeamemberofadomainofPIMs, g ∈ Gpim . Thereareindeeddistinctionsbetween1Dand nDgrammars.Hereareafew:

– Ingeneral,theparseofasentenceina 1Dgrammarshouldbeunique;thegrammar iseitherunambiguousoritisambiguouswithcontextmakingaparseunambiguous. Notsofor nDgrammars:multipleparsesofadataflowprogramsimplymeans therearemultipleequivalentwaysofderivingthatprogram—aperfectlyacceptable situation.

– 1Dproductionsdonotneedproofsofcorrectness—theysimplydefineatextual patternwherethereisnothingtoprove.Incontrast,eachDxTrewritedefinesafundamentalcomputationalequivalenceinadomain;thereshouldbesomeevidence (ideallyaproof)thateachrewriteiscorrect.

– Aparsetreeforsentence S ina1Dgrammar G isproofthat S isasentenceof L (G ) Aderivationtreefordataflowapplication S inan nDgrammar GG isaproofthat S ∈ L (GG ), ie S isacorrect-by-constructionimplementationof g

– 1Dtechnologyaimsatparsingsentences.AlthoughDxTcanalsobeusedforreverseengineering(parsethedesignofalegacyapplication),hereweuseittoderive programs(andexplorethespaceofimplementationsofaspec).

ItisnotdifficulttoimaginetheutilityofUpright’sDxTexplanation.Icouldgointo moretechnicaldetailsaboutDxTnow,butthatwouldbeoverkill.Instead,abigpicture isneededtomotivatethisgeneralfieldofresearch,whichIconsidernext.

4WhoCares?MotivationsfromPractice

SoftwareEngineering(SE) largelyaimsattechniquesandtoolstoaidmassesofprogrammerswhosecodeisusedbyhoards—theseprogrammersneedallthehelpthey canget.Atthesametime,therearemanydomainswhereprogrammingtasksaresodemandingthatthereareonlyafewprogrammersthatcanperformthem—theseexperts needallthehelpthattheycanget,too.

Assaidearlier,thefocusofmyresearchgroupisondataflowdomainswhichrepresentanimportantclassoftoday’sapplications(eg virtualinstrumentation[53]andapplicationsofstreaminglanguages[54]).Thespecificdomainsofourinterestincludeparallelrelationaljoinalgorithms[12],crashfaulttolerantfileservers[8],anddistributedmemory,sequential,andshared-memory DenseLinearAlgebra(DLA) kernels[37,38].

Inpractice,domainexpertsmagicallyproducea bigbang design:thedataflowgraph ofthecompleteapplication.Typically,itisaspaghettidiagram. Howitwascreated and whyitworks aremysteriestoallbutitsauthors.Foracademicandpracticalreasons,it seemsintuitivelybettertoderivethegraphfromdomainknowledge;doingsowould answerbothquestions.3 AdigitallyenlargeableFig.8showsaDxTderivationofthe parallelizationofhashjoinsintheGammadatabasemachine[12].Askyourself:would youwantonly Gammafinal oritsderivation Gammainitial ⇒∗ Gammafinal ?Ireturnto thispointinSection6.

Ourcurrentprojectfocuses onthegenerationofDLAkernels/libraries.Kernelportabilityisaseriousproblem.First, portingmayfail:kernelsfor distributedmemory(wherecommunicationbetweencoresisexplicitlyhandledviaahigh-speed network[38])maynotwork onsequentialmachinesandvice versa.Second,ifitdoeswork, itmaynotperformwell.The choiceofalgorithmstouseon onehardwarearchitecturemay bedifferentfromthosetouse onanother.Onecannotsimply“undo”optimizationsandapplyothers—hopefullythereason forthisisclear:suchchanges requiredarkknowledge.Third, intheworstcase(whichdoes frequentlyhappen),kernelsare codedfromscratch.

Whyisthisso?Theprimary reasonis performance.ApplicationsthatmakeDLAkernelcalls arecommontoscientificcomputing, eg simulationofairflow,climatechange,and weatherforecasting.Theseapplicationsarerunonextraordinarilyexpensivemachines. Timeonthesemachinescostsmoney;higherperformancemeansquicker/cheaperruns ormoreaccurateresults.Bottomline:Applicationdeveloperswantthebestperformancetojustifytheircosts[35].

Fig.8. DerivationoftheGammaJoinAlgorithm

Considerdistributed-memoryDLAkernels.Theydealwith SingleProgram,MultipleData(SPMD) hardwarearchitectures:thesameprogramisrunoneachprocessor, butwithdifferentinputsandprocessorscommunicatewithoneanother.Theoperations thataDLAkernelisexpectedtosupportisfixed—theyhavebeenwell-knownand

3 Thisisnosurprisetoscientists.Physicsstudents,forexample,typicallyrederiveequationsto understandapaper.SimilaractivitiesoccurinComputerScience.

well-definedfor40years.Fig.9listssomeofthe Level3BasicLinearAlgebraSubprograms(BLAS3),whicharematrix-matrixoperations[13].(Level2dealswith

WhatisunusualfromanSEperspectiveisthateachoperationhasmanyvariants.Consider Gemm.Withconstants α, β,the generalformofthisoperationis:

C := α A B + β C

TheBLAS3 vector-matrixoperationsandLevel1vector-vectoroperations.) Thereis Gemm,generalmatrix-matrixmultiply,Hermitian Hemm, symmetric Symm,andtriangular Trmm matrix-matrixmultiplies. Trsm solvesnon-singulartriangularsystemofequations.

wherematrices A and B areeither“normal”ortransposed. That’s 4 possibilities.Further,theimplementationof Gemm is specializedfordistributedmemorybasedonwhether A, B,or C islargest.That’sanother 3 foratotalof 4 × 3 = 12.Asimilar varietyisrequiredforotheroperations.

Wealsomustconsider“LAPACK-level”algorithms,whichcallDLAandBLAS3 operations,suchassolvers,factorizations(eg Cholesky),andeigenvaluedecompositions[1].Wehavetogeneratehigh-performancealgorithmsfortheseoperations,too.

Letmebeclear: ourworkonDLAkernelsdidnotstartfromscratch.WemechanizedportionsofvandeGeijn’sFLAMEproject[26]andthedistributed-memoryDLA libraryElemental[42].FLAMEandElementalleverage15yearsofpolishingelegantly layereddesignsofDLAlibrariesandtheircomputations.FLAMEandElementalprovidedthefoundationforustoconvertdarkknowledgeofDLAintowhiteknowledge.

4.1PerformanceResults

Weusedtwomachinesinourbenchmarks:Intrepid,Argonne’sBlueGene/Pwith8,192 coresand27+TFLOPSpeakperformanceandLonestaroftheTexasAdvancedComputingCenterwith240coresand3.2TFLOPSpeakperformance.WecomparedourresultsagainstScaLAPACK[7],whichisthestandardlinearalgebralibraryfordistributed memorymachines.EachinstallationofScaLAPACKisauto-tunedormanually-tuned. ScaLAPACKwastheonlyDLAlibrary,other thanElemental,forthesemachines.

DxTerisourtoolthatgeneratesElementalcode[34,37].IttakesaPIM g ofa sequential DLAprogramasinput.Itexhaustivelyappliesalloftheproductions P initslibrary toproducethespaceofallof g’simplementations L ((g, P )) indistributedmemory.Usingcostfunctionstoestimatetheperformanceofeachderivedgraph,themostefficient graphischosen.4

WeusedDxTertoautomaticallygenerateandoptimizeElementalcodeforBLAS3 andCholeskyFLAMEalgorithms.Fig.10showstheperformanceforBLAS3.Overall, DxTer-generatedcodeexecutessignificantlyfasterthanitshand-writtenScaLAPACK counterparts.Fig.11showstheperformanceofCholeskyfactorization.Again,DxTergenerated-codeisnoticeablyfaster,whichisthesameorbetterthanhand-coded Elementalimplementations.ThesegraphsaretypicalofDxTerresults[36,37,38].

4 Thisprocessofmappinganabstractspecificationtoanefficientimplementationishistorically called automaticprogramming

Fig.9.

Today, ElementalisshippedwithDxTer-generatedalgorithms [16].

4.2State-of-the-Artvs.OurGroup’sVision

Today’slinearalgebralibrariesexistascode.Theyarerewrittenmanuallyasthearchitecturedujourchanges,anditchangesrapidly.Consequently,librarydevelopmentlags farbehindarchitecturedevelopment,by asmuchasadecade.Attainingsub-optimal performanceonthelatestandgreatestmachinescarriesabigpriceforendusers.

Thisisnotsustainable.Wearguethatlinearalgebralibrarieswritteninaspecific languageforaspecificarchitectureshouldneverbedevelopedentirely manually.Instead,tools,techniques,andtheoriesareneededtoencodealgorithms,expertknowledge,andinformationabouttargetarchitectures.Themajorityofcodelibrariescan

Fig.10. BLAS3PerformanceonIntrepid
Fig.11. CholeskyPerformanceonLonestar

thenbegenerated automatically.Expertscanoverlookoptimizationsandmakemistakes.Machinescannot.Performanceofgeneratedcodeisasgoodasorbetterthan hand-written[36,37,38].Foralgorithmsthat cannotbeautomaticallygenerated,experts willnowhavemorefreetimetocodethemmanually.Thiscodecaneventuallybecast intermsoftransformationstoencodeitsdarkknowledge.Inshort,automationwillultimatelybeafaster,cheaper,better,andmoresustainablesolutionthedevelopmentof librariesforlinearalgebra(cf [4]).

4.3DxTLimitationsandSalutetoPriorWork

DxTisnotlimitedtostatelesscomputations;DxTwasoriginallydevelopedtoexplain thestatefuldesignofUpright.DxTcanbeappliedtoanydataflowdomainwherethe mechanizationofroteand/orhigh-performancecodeisneeded.Therearehugenumbers ofsuchdomainsrepresentinggreatdiversity[53].

Wewouldberemissinnotacknowledgingpriorprojectswithsimilargoalsand ideas.Amongthemarethepioneeringworksoncorrect-by-constructionanddeductiveprogramsynthesis[24],Amphion[32],rule-basedrelationalqueryoptimization (fromwhichDxTisadirectdescendant)[31],SPIRAL[43],theTensorContraction Engine[5],andBuild-To-OrderBLAS[51].Theseprojectsweresuccessful,because theirauthorsputintheefforttomakethemsucceed.Unfortunately, thesuccessesof theseprojectsareknowntofartoofewintheSEcommunity.Ireturntothispointin Section6.

5TechnicalDetails

Withthebigpicturemadeclear,let’snowdrilldowntoseesomedetails—whatinMDE iscalledthemetamodel—ofDxT.Thereare threebasic“objects”inDxT:interfaces, primitives,andalgorithms.An interface isexactlywhatitsuggests:Itisaboxthatdefinesonlytheinput/outputportsand—atleastinformally—boxsemantics.A primitive isaboxthatimplementsafundamentalcomputation(operation)incode.An algorithm isadataflowgraphthatreferencesinterfacesandprimitives.

DxThastwobasic“relationships”:refinementsandabstractions.A refinement replacesaninterfacewithanimplementation(primitiveoralgorithm).An abstraction rewritesintheoppositedirection:fromprimitiveoralgorithmtoaninterface.5

Interfaceshavepreconditions(nosurprise).Butprimitivesandalgorithmsmayhave preconditionsoftheirownthatare stronger thantheinterfacestheyimplement(thisis different).Fig.12isaclassicalexample.The sort interfacetakesastreamofrecordsas inputandproducesasortedstreamasoutput.(Thesortkeyparameterisnotshown).The firsttworefinementsshow quick-sortand merge-sortasprimitives.Thethirdshowsa map-reduceimplementation,where hash and omerge areprimitiveandanyimplementationof sort canbesubstitutedfor sort interfaces.Thelastrefinementisthefocus ofthisdiscussion:itsaysiftheinputstreamisalreadyinsort-keyorder,nothingneeds tobedone.This donothing algorithmhasapreconditionthatis stronger thanits sort interface.

5 ThereismoretoDxT,butthisissufficientforthispaper.See[21,46]formoredetails.

The LiskovSubstitutionPrinciple(LSP) isahallmarkofobject-orientation[30].It saysif S isasubtypeof T,thenobjectsoftype S canbesubstitutedforobjectsof type T withoutalteringprogramcorrectness.Substitutinganinterfacewithanimplementingobject(component)isstandardfaretodayandisawaytorealizerefinementin LSP[39,58].ThekeyconstraintsofLSParethatpreconditionsforusing S can not be strongerthanpreconditionsfor T,andpostconditionsfor S are not weakerthanthatfor T.

The donothing refinementisincompatiblewithLSP.Infact,LSPistoorestrictive forgraphrewriting;anotherprincipleisatwork.In1987,Perry[41]saidabox A (read: algorithmorprimitive)isupwardcompatiblewithbox I (read:interface)iff:

pre(A) ⇒ pre(I) ;preconditionscanbestronger post(A) ⇒ post(I) ;postconditionscan’tbeweaker

Thisisexactlywhatweneed,whichwecallthe PerrySubstitutionPrinciple(PSP) [41]. ItisapracticalalternativetoLSPthatdominatestheDxTworld.PSPtakesintoaccount thelocalconditionssurroundinganinterfacetoqualifylegalrefinements. Wecouldnot re-engineerlegacydesignswithoutit.

Abstraction—whichreplacesanimplementationwithaninterface—hasstrongerconstraintsthanrefinement.Itimpliesthatagraph A mustimplement I.Forthistohold, thepre-andpostconditionsof A and I mustbeequivalent[21]:

pre(I) ⇔ pre(A) post(I) ⇔ post(A)

5.1Optimizations

Earlierweusedrewritesthatreplaceagraph α1 (morethanasinglenode)withanother graph α2 (Fig.13a),whereFig.4disanexample.Wecalltheserewrites optimizations Optimizationseffectivelybreak“modular”boundariesofadjacentalgorithmstoexpose inefficientgraphswhicharereplacedwithmoreefficientgraphs.Optimizationisequivalenttoanabstraction(replacinggraph α1 withinterface ι)followedbyarefinement (replacing ι withgraph α2 )(Fig.13b).ThisallowsDxTrewritestoassumethecanonical formofinterfacesontheleftandimplementationsontheright(Fig.13b).

Fig.12. The sort InterfaceanditsImplementations

Fig.13. OptimizingRewriteRules

Optimizationsareeasilyexpressedin nDgrammars.Notsofor1Dgrammars.Considerthefollowing1Dgrammar,whereuppercasenamesareinterfacesandlowercase namesareprimitives:

Asentenceofthisgrammaris abc.Supposecomposition bc implementsinterface Z:

Z : bc | q ;

Further,domainexpertsknowthat bc isinefficientandcanbereplacedbybox q,which isfaster.Thisisaccomplishedbyabstractingsentence abc to aZ andthenrefiningto afasterprogrambyreplacing Z with q toyield aq.Althoughthismakesperfectsense, abstractionisforeignto1Dgrammarsandparsingtechnology[45];itisanaturalpart of nDgrammars.Imentionedearlier(Section2)thatthereisanimportantdistinction between1Dand nDgrammars;thisisthepointthatIwantedtomake.

Muchofthisshouldlookfamiliar:itissimilartooptimizationtechniquesincompilers(esp.forfunctionallanguages)[27].Optimizationsbreakencapsulationboundaries toproducemoreefficientcode.ThenoveltiesofDxTare(1)DxTusesgraphsnottrees, (2)DxTgrammarsderivesoftwaredesigns,whichare not parse-treesorASTsofprogramsandare not statesofprogramexecutions,and(3)DxTrewritesshouldbeclearly visibletodomainexpertsandprogramdesigners,nothiddencompilerinternals.

5.2AbstractInterpretation

Anotherfundamentalidea(stolenfromcompilerplaybooks)is abstractinterpretation. ADxTgraph g mayhavemanyinterpretations.Thedefault—whatwehaveusedupto now—istointerpreteachboxof g asthecomputationitrepresents. sort means“sort theinputstream”.Wecallthisthe standardinterpretation S .The S interpretationof box b isdenoted S (b) orsimply b, eg S (sort) is“sorttheinputstream”.Thestandard interpretationofgraph g is S (g) orsimply g

Thereareotherinterpretations. COST interpretseachbox b asacomputationthat estimatestheexecutiontime of S (b) givenstatisticsabout S (b)’sinputs.So COST (sort) is“returnanestimateoftheexecutiontimetoproduce sort’soutputstream”.Eachbox b ∈ G hasexactlythesameportsas COST (b) ∈ COST (G),butthemeaningofeach boxanditsportsaredifferent.

– WementionedinSection4.1thatDxTerforward-engineers(derives)allpossible PSMsfromaninputPIM.Theestimatedrun-timeofaPSM p isdeterminedby

A : aBc | ;
B : b | ;

executing COST (p).ThemostefficientPSMthatimplementsthePIMistheone withthelowestestimatedcost[38].

– M 2T (p) isamodel-to-textinterpretationthatmaps p toexecutablecode.

– Pre-andpostconditionshelpguaranteethecorrectnessofDxTgraphs.The POST interpretationcomputespropertiesthatareoutputbyaboxgivenpropertiesabout boxinputs.The PRE interpretationreadspropertiesaboutboxinputs(computed by POST )andchecksifthepreconditionsofthatboxaresatisfied.Acomposition oftheseinterpretations(PRE · POST (P))computespostconditionsandvalidates preconditionsof P [21].

6TheReactiontoDxT

Fellisenonceremarked“Itisnotaproblemtokeepourselvesasresearchersbusy;we needtokeepundergraduatesbusy”[18].IsavedthemostimportantmessageaboutDxT forlast.DxTissimpleenoughtoteachtoundergraduates.

Ourthoughthasalwaysbeen:onceyouhaveaprooforderivationofadesign,you’ve hitthejackpot:youhaveturneddarkknowledgeintowhiteknowledge.Havingsaidthis, wehavebeensurprisedatthereactiontoDxT.Someofthereviewswereceivedhad breathtakingstatementsoftechnicalacuity.InLettermanShowcountdownorder,our top3statementsare:

3.“Refinementisnotatransformation.”

2.“Whywillyousucceedwhereothershavenot?”6 , 7

1.“Theworklacksmotivation.”

Wewerecomfortedbythefactthatconferenceswerebeingcreatedsolelyforrejecting ourpapers.Overall,noneofthereactionsmadesensetous.

Thisleadustoconductuserstudiesinvolvingthird-yearCSundergraduatesandfirstyeargraduates.Wespliteachsetofstudentsintotwogroups.Tothefirst,wepresented thebig-bangdesignforGamma(Fig.8);tothesecond,wepresentedGamma’sderivation.Wegaveawrittenquizthatwegraded.Theresult: nodifference! Therewasno differenceinthenumberofcorrectanswers,noobviousbenefittoDxTderivationsover abig-bang.Bothundergraduatesandgraduateswereconsistentonthispoint.Thiswas counter-intuitivetous;itdidn’tmakesense.

Perhaps,wethought,Gammawastoosimple.Sowere-rantheexperimentusing Upright.Theresult:againnodifference!Weweremystified.

Thenitoccurredtous:maybethesestudentsandrefereeshad no experiencedevelopingsoftwareinthismanner.ItcouldnotbethecasethatDxTwasdifficulttograsp—the ideasaresimple.Andperhapsalsothestudentsandrefereeshadnodomainknowledge ofparallelrelationalqueryprocessingorcrashfaulttolerantservers.Theycouldnot appreciatewhatweweretellingthem.Ifso,theycouldnotrecognizethevalueonour parttodistillsoftware-architectureknowledgeaselementarygraphrewrites.Norcould theyseethepracticalimplicationofourresults.

6 Theyconvenientlyignoredourperformanceresults.

7 Others have beensuccessful(Section4.3).Ithelpstoknowtheliterature.

Wehadanecdotalevidenceforthislastconjecture.Weaskedourselves“whatare therefinementsof DGemm (Distributed Gemm)?”Ofcourse,weknewtheanswer(see Fig.14),buthowmanyotherswould?PeoplewhowerefamiliarwithdistributedDLA algorithmsshouldknow.Butveryfewwouldknowamajorityoftherulesthatweused inDxTertoderiveDLAalgorithmsandhowtheserulescouldbeapplied.Inshort,the answerwas: very,veryfew.

Thisagainbringsusbacktothedifferencesbetween1Dand nDgrammars.Itis relativelyeasytounderstand1Dproductions—thereislittletoknow.Graphgrammars asweusethemaredifferent.Oneneedsdeepknowledgeofadomaintoappreciate mostrewrites.Veryfewhavesuchknowledge.CordellGreenoncetoldme“Ittakes effort”[23].Fewpeoplehavebeeninhis(our)positiontoappreciatethispoint.

OurnextuserstudyinFall2012exploredtheseconjectures.Wegaveaprogrammingassignmenttoanundergraduateclassof28students.WehadthembuildGamma givenitsderivation.Oncetheycompletedthetask,wegavethemaquestionnaireasking forthemtocomparetheirexperienceswithabig-bangapproach(wherederivationdetailswereabsent).Asstudentshadbeenexposedtobig-bangimplementationsinother classes(andinpreviousassignments),theycouldcompareDxTwithabig-bang.We brieflyreviewsomeofourquestionsandresults[17,50]:

–Comprehension. DoyouthinkthestructuredwayDxTimposesgivesyouadeeper understandingofGamma’sdesignthanyouwouldgetbynotusingitanddoingit yourownway?

–Modification. DoyouthinkitwouldbeeasierormoredifficulttomodifyGamma withDxTcomparedtoabig-bangapproach?

–Recommendation. Wouldyourecommendtoyourfellowstudentsimplementing GammausingDxTorinabig-bangmanner?

Analyzingtheresponsesshowedthat55%saidDxTprovidedadeepercomprehension ofGamma’sdesign;over80%saidDxTimprovedcomprehension.47%saiditwould beconsiderablyeasiertomodifyGammagivenitsderivation;over90%saiditwould makemodificationeasier.Nonesaiditwouldmakeitharder.And88%saidtheywould recommendDxToverabig-bang.

Fig.14. Distributed Gemm Refinements

Moregratifyingwerethewrittencomments,afewfromdifferentindividualsare listedbelow:

– IhavelearnedthemostfromthisprojectthananyotherCSprojectIhaveeverdone.

– IevenmademyOSgroupdoaDxTimplementationonthelast2projectsdueto myexperienceimplementingGamma.

– Honestly,Idon’tbelievethatsoftwareengineerseverhaveasource(toprovidea DxTexplanation)inreallife.Iftherewassuchathingwewouldloseourjobs, becausethereisanexplanationwhichevenamonkeycanimplement.

– It’ssomucheasiertoimplement(usingDxT).Thebig-bangmakesiteasytomake somanyerrors,becauseyoucan’ttesteachsectionseparately.DxTmighttakeabit longer,butsavesyousomuchtimedebugging,andisamorenaturalwaytobuild things.Youwon’tgetlostinyourdesigntryingtodotoomanythingsatonce.

Inretrospect,thesecommentswerefamiliar.InOctober2003,NSFheldaScience ofDesignWorkshopinAirlie,Virginia.FredBrooks(1999TuringAward)summarized theconclusionsofhisworkinggrouptoexploretheroleofscienceindesign:“We don’tknowwhatwe’redoingandwedon’tknowwhatwe’vedone!”.Toparaphrase EdsgerDijkstra(1972TuringAward):“Haveyounoticedthattherearechildprodigies inmathematics,music,andgymnastics,butnoneinhumansurgery?”.Thepointbeing thattherearebodiesofknowledgethattakeyearstocomprehendandtherearenoshortcutstoachievesuchunderstanding.WeoweoursuccesswithDxTerto15yearsof researchbyvandeGeijnandotherstounderstandthedomainofDLA.Notalldomains arethishardtounderstand,butagain, ittakeseffort.Ourtake-awayconclusionisthis:

Knowledge,experience,andunderstandinghowtocodifyknowledgeofefficientprogramsinareproduciblewayiseverythingtoautomateddesign.Lackinganyoftheseisasignificantbarriertoprogress.

7Conclusions

Programmersaregeniusesatmakingthesimplestthingslookcomplicated;findingthe underlyingsimplicityisthechallenge.Programmersarealsogeniusesatmakingcriticalwhiteknowledgedark;reversingthecolorofknowledgeisyetanotherchallenge. Ittakesefforttounderstandalegacyapplicationordomaintomineoutitsfundamentalidentitiesorrewriterulesthatarekeyto(a)automateddesign,(b)correct-byconstruction,and(c)transformingundergraduateeducationonsoftwaredesignfrom hackingtoamorescientificfoundation.

SoftwareLanguageandEngineering(SLE) hasgreatpotentialforthefutureofSoftwareEngineering.Formallanguageswillbethefoundationforautomatedsoftwaredevelopment.Knowledgeofdataflowapplicationdesignswillbeencodedasgraphgrammars,notChomskystringgrammars,whosesentencesdefinecomplexprograms.Such grammarswillenablethedesignofprogramstobeoptimizedautomatically;theywill removetheburdenofrote,tedious,difficult,anderror-proneactivitiesofprogramdevelopment;theywillscaledomainexpertisefromafewpeopletothemasses;andmost importantly,theyultimatelywillhelpmodernizeundergraduatecurriculumsinsoftware design.

16D.Batoryetal.

Acknowledgements. WethankR.vandeGeijn(Texas),T.Riche(NI),M.Erwig (Oregon),R.Paige(York),andC.K¨astner(CMU)fortheirhelpfulcommentson draftsofthispaper.WegratefullyacknowledgesupportforthisworkbyNSFgrants CCF-0724979,CCF-0917167,andACI-1148125.Gonc¸alveswasfundedbytheERDF projectFCOMP-01-0124-FEDER-010152andFCTgrantSFRH/BD/47800/2008. MarkerheldfellowshipsfromSandiaNationalLaboratoriesandNSF(grantDGE1110007).SiegmundwasfundedbyBMBFproject01IM10002B.ThisresearchusedresourcesoftheArgonneLeadershipComputingFacilityatArgonneNationalLab,which issupportedbytheOfficeofScienceoftheU.S.DepartmentofEnergyundercontract DE-AC02-06CH11357.WearegreatlyindebtedtoJackPoulsonforhishelptounderstandhisElementallibrary.

References

1.Anderson,E.,etal.:LAPACKUsers’Guide.SIAM,Philadelphia(1992)

2.Bahcall,J.,Piran,T.,Weinberg,S.:Darkmatterintheuniverse.In:4THJerusalemWinter SchoolForTheoreticalPhysics(1987)

3.Batory,D.,Azanza,M.,Saraiva,J.:TheObjectsandArrowsofComputationalDesign.In: Czarnecki,K.,Ober,I.,Bruel,J.-M.,Uhl,A.,V¨olter,M.(eds.)MODELS2008.LNCS, vol.5301,pp.1–20.Springer,Heidelberg(2008)

4.Batory,D.,Singhal,V.,Sirkin,M.,Thomas,J.A.:Scalablesoftwarelibraries.In:SIGSOFT (1993)

5.Baumgartner,G.,etal.:Synthesisofhigh-performanceparallelprogramsforaclassofab initioquantumchemistrymodels.ProceedingsoftheIEEE(2005)

6.Baxter,I.D.:DesignMaintenanceSystems.CACM(April1992)

7.Blackford,L.S.,etal.:ScaLAPACK:aportablelinearalgebralibraryfordistributedmemory computers-designissuesandperformance.In:SC(1996)

8.Clement,A.,Kapritsos,M.,Lee,S.,Wang,Y.,Alvisi,L.,Dahlin,M.,Riche,T.:Upright clusterservices.In:SOSP(2009)

9.Curtis,B.,Krasner,H.,Iscoe,N.:Afieldstudyofthesoftwaredesignprocessforlarge systems.Comm.ACM(November1988)

10.D’Antonio,F.:(October2003), http://www.docstoc.com/docs/123006845/ Introduction-to-Graph-Grammars-DAntonio

11.Derk,M.,DeBrunner,L.:Reconfigurationgraphgrammarformassivelyparallel,faulttolerantcomputers.In:Cuny,J.,Engels,G.,Ehrig,H.,Rozenberg,G.(eds.)GraphGrammars 1994.LNCS,vol.1073,pp.185–195.Springer,Heidelberg(1996)

12.Dewitt,D.J.,Ghandeharizadeh,S.,Schneider,D.,Hsiao,A.B.H.,Rasmussen,R.:The GammaDatabaseMachineProject.IEEEToKaDE2(1)(1990)

13.Dongarra,J.J.,DuCroz,J.,Hammarling,S.,Duff,I.:Asetoflevel3basiclinearalgebra subprograms.ACMTrans.Math.Software16(1)(March1990)

14.Dowling,J.,Cahill,V.:Dynamicsoftwareevolutionandthek-componentmodel.In:WorkshoponSoftwareEvolutionatOOPSLA(2001)

15.Ehrig,H.,Pfender,M.,Schneider,H.J.:Graph-grammars:Analgebraicapproach.In:SWAT (1973)

16.ElementalTeam, http://libelemental.org/about/team.html

17.Feigenspan,J.,Batory,D.,Rich´e,T.L.:Isthederivationofamodeleasiertounderstandthan themodelitself?In:ICPC(2012)

18.Felleisen,M.:PrivateCorrespondence(January2007)

19.Ferrucci,F.,Tortora,G.,Tucci,M.,Vitiello,G.:Apredictiveparserforvisuallanguages specifiedbyrelationgrammars.In:VL(1994)

20.Giese,H.,Wagner,R.:Incrementalmodelsynchronizationwithtriplegraphgrammars. In:Wang,J.,Whittle,J.,Harel,D.,Reggio,G.(eds.)MoDELS2006.LNCS,vol.4199, pp.543–557.Springer,Heidelberg(2006)

21.Gonc¸alves,R.C.,Batory,D.,Sobral,J.:ReFlO:Aninteractivetoolforpipe-and-filterdomain specificationandprogramgeneration(submitted2013)

22.Green,C.,Luckham,D.,Balzer,R.,Cheatham,T.,Rich,C.:Reportonaknowledge-based softwareassistant.Tech.rep.,KestrelInstitute(1983)

23.Green,C.:PrivateCorrespondence(January2009)

24.Green,C.,Luckham,D.,Balzer,R.,Cheatham,T.,Rich,C.:Reportonaknowledge-based softwareassistant.KestrelInstituteTechnicalReportKES.U.83.2(1983)

25.Grunske,L.,Geiger,L.,Z¨undorf,A.,VanEetvelde,N.,VanGorp,P.,Varro,D.:Usinggraph transformationforpracticalmodeldrivensoftwareengineering.In:Model-DrivenSoftware Development.Springer,Heidelberg(2005)

26.Gunnels,J.A.,Gustavson,F.G.,Henry,G.M.,vandeGeijn,R.A.:FLAME:FormalLinear AlgebraMethodsEnvironment.ACMTrans.onMath.Softw.(December2001)

27.Jones,S.L.P.,Santos,A.L.M.:Atransformation-basedoptimiserforhaskell.ScienceofComputerProgramming32(1-3)(1998)

28.K¨onigs,A.,Sch¨urr,A.:Toolintegrationwithtriplegraphgrammars-asurvey.Electronic NotesinTheoreticalComputerScience148(1)(2006)

29.Lamport,L.:Thepart-timeparliament.ACMTrans.Comput.Syst.16(2)(1998)

30.Liskov,B.H.,Wing,J.M.:Abehavioralnotionofsubtyping.ACMTrans.Program.Lang. Syst.16(6)(1994)

31.Lohman,G.M.:Grammar-likefunctionalrulesforrepresentingqueryoptimizationalternatives.In:ACMSIGMOD(1988)

32.Lowry,M.,Philpot,A.,Pressburger,T.,Underwood,I.:Amphion:Automaticprogramming forscientificsubroutinelibraries.In:Ra´s,Z.W.,Zemankova,M.(eds.)ISMIS1994.LNCS, vol.869,pp.326–335.Springer,Heidelberg(1994)

33.Maggiolo-Schettini,A.,Peron,A.:Agraphrewritingframeworkforstatechartssemantics. In:Cuny,J.,Engels,G.,Ehrig,H.,Rozenberg,G.(eds.)GraphGrammars1994.LNCS, vol.1073,pp.107–121.Springer,Heidelberg(1996)

34.Marker,B.,Batory,D.,Shepherd,C.:Dxter:Adenselinearalgebraprogramsynthesizer. ComputerSciencereportTR-12-17,Univ.ofTexasatAustin(2012)

35.Marker,B.,Batory,D.,vandeGeijn,R.:DSLs,DLA,DxT,andMDEinCSE.In:SECSE (May2013)

36.Marker,B.,Batory,D.,vandeGeijn,R.:Acasestudyinmechanicallyderivingdenselinear algebracode.InternationalJournalofHighPerformanceComputingApplications(toappear)

37.Marker,B.,Batory,D.S.,vandeGeijn,R.A.:Codegenerationandoptimizationofdistributedmemorydenselinearalgebrakernels.In:ICCS(2013)

38.Marker,B.,Poulson,J.,Batory,D.,vandeGeijn,R.:Designinglinearalgebraalgorithmsby transformation:Mechanizingtheexpertdeveloper.In:Dayd´e,M.,Marques,O.,Nakajima, K.(eds.)VECPAR.LNCS,vol.7851,pp.362–378.Springer,Heidelberg(2013)

39.Medvidovic,N.,Rosenblum,D.S.,Taylor,R.N.:Alanguageandenvironmentfor architecture-basedsoftwaredevelopmentandevolution.In:ICSE(1999)

40.M¨uller,H.:PrivateCorrespondence(May2013)

41.Perry,D.E.:Versioncontrolintheinscapeenvironment.In:ICSE(1987)

42.Poulson,J.,Marker,B.,vandeGeijn,R.A.,Hammond,J.R.,Romero,N.A.:Elemental:A newframeworkfordistributedmemorydensematrixcomputations.ACMTrans.onMath. Softw.39(2)(February2013)

43.P¨uschel,M.,etal.:SPIRAL:CodegenerationforDSPtransforms.In:Proceedingsofthe IEEE,specialissueon“ProgramGeneration,Optimization,andAdaptation”(2005)

44.Rekers,J.,Sch¨urr,A.:Definingandparsingvisuallanguageswithlayeredgraphgrammars. JournalofVisualLanguages&Computing8(1)(1997)

45.Rich,E.A.:Automata,ComputabilityandComplexity:TheoryandApplications.PearsonPrenticeHall(2008)

46.Rich´e,T.,Goncalves,R.,Marker,B.,Batory,D.:PushoutsinSoftwareArchitectureDesign. In:GPCE(2012)

47.Rozenberg,G.:HandbookofGraphGrammarsandComputingbyGraphTransformation. Foundations,vol.I.WorldScientific(1997)

48.Salehie,M.,Tahvildari,L.:Self-adaptivesoftware:Landscapeandresearchchallenges.ACM Trans.Auton.Adapt.Syst.(2009)

49.Sch¨urr,A.:Introductiontoprogress,anattributegraphgrammarbasedspecificationlanguage. In:Nagl,M.(ed.)WG1989.LNCS,vol.411,pp.151–165.Springer,Heidelberg(1990)

50.Siegmund,J.:FrameworkforMeasuringProgramComprehension.Ph.D.thesis,University ofMagdeburg,SchoolofComputerScience(2012)

51.Siek,J.G.,Karlin,I.,Jessup,E.R.:Buildtoorderlinearalgebrakernels.ParallelandDistributedProcessing(2008)

52.Taentzer,G.:AGG:Agraphtransformationenvironmentformodelingandvalidationofsoftware.In:Pfaltz,J.L.,Nagl,M.,B¨ohlen,B.(eds.)AGTIVE2003.LNCS,vol.3062,pp.446–453.Springer,Heidelberg(2004)

53.TheLabVIEWEnvironment, http://www.ni.com/labview/

54.Thies,W.,Karczmarek,M.,Amarasinghe,S.P.:StreamIt:Alanguageforstreamingapplications.In:ConferenceonCompilerConstruction(2002)

55.Tichy,M.,Henkler,S.,Holtmann,J.,Oberth¨ur,S.:Componentstorydiagrams:Atransformationlanguageforcomponentstructuresinmechatronicsystems.In:WorkshoponObjectorientedModelingofEmbeddedReal-TimeSystems,Paderborn,Germany(2008)

56.Wermelinger,M.,Fiadeiro,J.L.:Agraphtransformationapproachtosoftwarearchitecture reconfiguration.Sci.Comput.Program.(2002)

57.Wikipedia:Graphrewriting, http://en.wikipedia.org/wiki/Graph_rewriting

58.Wikipedia:Component-basedsoftwareengineering(2013), http://en.wikipedia.org/ wiki/Component-based_software_engineering

59.Wittenburg,K.:Earley-styleparsingforrelationalgrammars.In:VisualLanguages(1992)

Another random document with no related content on Scribd:

may also be coloured, and in that case are generally yellow; this colour is chiefly connected with the fat (oil) which may be found in abundance in the Fungi, whilst starch is invariably absent in all the true Fungi.

The mycelium assumes many different forms; sometimes it appears as a thread-like, cobwebby, loose tissue, less frequently as firm strands, thin or thick membranes, horn-like plates or tuber-like bodies. The thread-like mycelium may, in the parasitic Fungi, be intercellular or intracellular, according as it only extends into the interstices between the cells or enters into the cells proper. In the first case there are generally found haustoria, or organs of suction (e.g. among the Peronosporaceæ; Taphrina, on the contrary, has no haustoria); but haustoria are also found among the epiphytic Fungi (e.g. Erysiphaceæ). Intracellular mycelia are found in the Rust-Fungi, in Claviceps purpurea, Entomophthora, etc. In spite of its delicate structure, this mycelium may live a long time, owing to the circumstance that it continues to grow peripherally, while the older parts gradually die off (“fairy rings”).

String-like mycelia may be found, for example, in Phallus, Coprinus, and are formed of hyphæ, which run more or less parallel to each other. Membrane-like mycelia are chiefly to be found in Fungi growing on tree-stems (Polyporaceæ and Agaricaceæ); they may have a thickness varying from that of the finest tissue-paper to that of thick leather, and may extend for several feet. The peculiar horny or leather-like strands and plates which, for instance, appear in Armillaria mellea, are known as Rhizomorpha; they may attain a length of more than fifty feet. The tuber-like mycelia or sclerotia play the part of resting mycelia, since a store of nourishment is accumulated in them, and after a period of rest they develope organs of reproduction. The sclerotia are hard, spherical, or irregular bodies, from the size of a cabbage seed to that of a hand, internally white or greyish, with a brown or black, pseudo-parenchymatous, external layer. Sclerotia only occur in the higher Fungi, and are found both in saprophytes, e.g. Coprinus, and in parasites, e.g. Claviceps (Ergot), Sclerotinia.

Reproduction. S is found only among the lower Fungi which stand near to the Algæ, the Algal-Fungi, and takes place by the same two methods as in the Algæ, namely by conjugation and by the fertilisation of the egg-cell in the oogonium.

The majority of Fungi have only reproduction. The most important methods of this kind of reproduction are the sporangiofructification and the conidio-fructification.

In the - the spores (endospores) arise inside a mother-cell, the sporangium (Fig. 80). Spores without a cellwall, which move in water by means of cilia and hence are known as swarmspores or zoospores, are found among the Oomycetes, the sporangia in which these are produced being called swarmsporangia or zoosporangia (Figs. 86, 87, 91, 94).

In the - the conidia (exospores) arise on special hyphæ (conidiophores), or directly from the mycelium. When conidiophores are present, the conidia are developed upon them terminally or laterally, either in a basipetal succession (in many Fungi, for example in Penicillium, Fig. 111, Erysiphe, Cystopus), or acropetally (in which method the chains of conidia are often branched; examples, Pleospora vulgaris, Hormodendron cladosporioides). All conidia are at first unicellular, sometimes at a later stage they become two-celled or multicellular through the formation of partition-walls (Piptocephalis). The conidia with thick, brown cell-walls, and contents rich in fats (resting conidia), can withstand unfavourable external conditions for a much longer period than conidia with thin walls and poor in contents.

The arise either from the ordinary cells of the mycelium (Protomyces), or are borne on special hyphæ. They are generally spherical (Mucor, Fig. 80; Saprolegniaceæ), egg-, pear-, or club-shaped (Ascomycetes), more rarely they are cylindrical or spindle-shaped. While among the Phycomycetes the size, form, and number of spores are indefinite in each species, in the Ascomycetes the sporangia (asci) have a definite size, form, and number of spores. The spores of the Ascomycetes are known as ascospores.

The sporangio-fructification is found under three main forms.

1. F S which are either single (Mucor, Fig. 78), or branched (Thamnidium).

2. S- These are produced by a number of sessile or shortly-stalked sporangia, being formed close together like a palisade (Taphrina, Fig. 105).

3. S. These consist usually of many sporangia enclosed in a covering, they are found only in the Carpoasci, and are also known as ascocarps. The parts of an ascocarp are the covering (peridium), and the hymenium, which is in contact with the inner wall of the peridium, and is generally made up of asci, and sterile, slender hyphæ. The latter either penetrate between the asci and are branched and multicellular (paraphyses, Figs. 103 d, 123, 125, 129), or clothe those parts of the inner wall which bear no asci (periphyses; among many peronocarpic Ascomycetes, e.g. Chætomium, Sordaria, Stictosphæra hoffmanni). The ascocarps are produced directly from the mycelium, or from a stroma, that is a vegetative body of various forms, in which they may be embedded (Figs. 116 B, C).

Among the conidio-fructifications there are, in the same way, three divisions.

1. F (Fig. 109). The form of the conidiophores, the shape, and number of its spores are various. In the most highly developed Fungi, the Basidiomycetes, there are, however, special more highly developed conidiophores, the basidia, which have a definite form and spores of a definite shape and number. The conidia borne on basidia are called basidiospores.

2. C-. (a) The case of this is found when the conidiophores arise directly from the mycelium, parallel to one another, and form a flat body (e.g. Exobasidium vaccinii, Hypochnus; among the Phycomycetes, Empusa muscæ and Cystopus). (b) In a form the conidial-layers are thick, felted threads (stroma) inserted between the mycelium and the hymenium (i.e. the region of the conidiophores). Examples are found in a section of the Pyrenomycetes (Fig. 122). (c) The form has the basidiallayer, that is a conidial-layer with more highly developed

conidiophores (basidia). The basidial-layer, with stroma, and the hymenium (region of the basidia), forms the basidio-fructification, which is branched in the Clavariaceæ, and hat-shaped in other Hymenomycetes (in these groups the hymenium is confined to the lower side of the pileus).

The hymenium of the conidial-layer and basidial-layer is composed entirely of conidiophores, or of conidiophores and sterile hyphæ (paraphyses) which are probably always unicellular. Paraphyses are found in Entomophthora radicans, and in certain Basidiomycetes (e.g. Corticium).

3. C (pycnidia). A special covering surrounds the conidia-forming elements. The inner side of this covering (peridium) bears the hymenium, i.e. those elements from which the conidia are abstricted. The conidiocarps arise either immediately from the hyphæ or from a stroma in which they are generally embedded. Conidiocarps are entirely wanting in the Phycomycetes. On the other hand they are found among the Ascomycetes and Basidiomycetes, and in the latter group the conidiocarps contain more highly differentiated conidiophores (basidia) and are known as basidiocarps. Conidiocarps with simple conidiophores, are found only among the Basidiomycetes, in the Uredinaceæ, and in Craterocolla cerasi. In the Ascomycetes (Figs. 120 d, e; 117 a, b; 123 a; 124 b) the conidiocarps are visible, as points, to the naked eye, while the basidiocarps of the Basidiomycetes (Figs. 170, 171, 173–176, 178–180) vary from the size of a pea to that of a child’s head. The “spermogonia” of the Ascomycetes and Lichenes, are conidiocarps with small conidia (microconidia) which germinate sometimes more slowly than other conidia, and formerly were erroneously considered as male reproductive cells, and called spermatia.

The conidia of the Fungi are not primitive structures. The comparison of the sporangia and conidia among the Zygomycetes, and among the species of the genus Peronospora shows, that the conidia are aberrant formations, and that they have arisen through the degeneration of the sporangium, which, by the reduction of its spores to one, has itself become a spore.

In the genera Thamnidium and Chætocladium the gradual diminution of the sporangia, and the reduction of the number of spores can be distinctly followed. In Thamnidium the number of spores is often reduced to one, which is free in the sporangium In Chætocladium however the sporangia are typically one-spored, the spore is always united with the sporangium, and the two become a single body, the so-called conidium, which is in reality a closed sporangium How close is the connection between the sporangia and conidia of Thamnidium and Chætocladium, is seen from the fact that, in the conidial stage of Chætocladium the same whorlform of branching appears as in the sporangial stages of Thamnidium chætocladioides, and also, that the conidia of Ch. fresenianum throw off the former sporangium-wall (exosporium), while Ch. jonesii germinates without shedding its exosporium. The Phycomycetes have doubtless sprung from Water-Algæ and inherit the sporangia from them. On this supposition, as the Phycomycetes assumed a terrestrial mode of life, the sporangia would become adapted to the distribution of the spores by means of the air, the sporangia would become small, contain dust-like spores, and would eventually become closed-sporangia, i.e. conidia. The conidia are a terrestrial method for the multiplication of Fungi. In the Hemiasci and the Ascomycetes the sporangia are still preserved, but in every instance they are adapted to terrestrial spore-distribution, their spores being set free on the destruction of the sporangium-wall (generally shot out) and distributed through the air For further examples of spore-distribution see below, p 91–93

The reproduction of Fungi is accomplished not only by spores and conidia, but also sometimes by chlamydospores These are fundaments[11] of sporangiophores and conidiophores, which have taken on a resting condition in the form of a spore, and are able to germinate and produce carpophores. In the formation of the chlamydospores the hyphæ accumulate reserve materials at the expense of the neighbouring cells; in the undivided hyphæ of the Phycomycetes transverse walls are formed, and finally the chlamydospores are set free by the decay of the empty cells connecting them with the mycelium. One must distinguish between oidia and true chlamydospores. The former are more simple, the latter are a somewhat more differentiated form of carpophore fundaments, which serve for propagation in the same manner as spores. In Chlamydomucor racemosus the chlamydospores grow out into the air and form differentiated carpophores. In the Autobasidiomycetes they only germinate vegetatively, and not with the formation of fructifications. From Chlamydomucor up to the Autobasidiomycetes the successive development of the fructification,

which is interrupted by the formation of the chlamydospores, degenerates more and more. Among certain Ustilagineæ the chlamydospores (brand-spores) no longer germinate with the production of fructifications. In the Uredinaceæ, only one of the three chlamydospore-forms has the property of producing fructifications on germination; the other forms only germinate vegetatively, like ordinary spores, and in the same manner as the chlamydospores of the Autobasidiomycetes. In the Hemibasidii, and the Uredinaceæ, in Protomyces, the chlamydospores are the chief means of reproduction. They are found also among the Ascomycetes.

The sporangia and the conidia of the Fungi have their common origin in the sporangia of the Phycomycetes. The asci (and the Ascomycetes which are characterised by these bodies) are descended from the sporangia-forming, lower Fungi; the basidia (and the Basidiomycetes) from those which bear conidia. The sporangia of the Phycomycetes are the primitive form and the starting point for all the reproductive forms of the Fungi. The chlamydospores appear besides in all classes of Fungi as supplementary forms of reproduction, and are of no importance in determining relationships. Although the expression “fruit” must essentially be applied to true Phanerogams, yet, through usage, the term “fruit-forms,” is employed to designate the forms or means of reproduction of Fungi, and the organs of reproduction are known as organs of fructification, the sporangiophores and conidiophores as fruit-bearers (carpophores), and the sporangiocarps, conidiocarps, and basidiocarps as “fruit-bodies.”

The majority of Fungi have more than one method of reproduction, often on various hosts (Uredinaceæ). Species with one, two, or more than two methods of reproduction are spoken of as having monomorphic, dimorphic, or pleomorphic fructification. Monomorphic, e.g. the Tuberaceæ; dimorphic, Mucor, Piptocephalis, Saprolegniaceæ, Penicillium crustaceum; pleomorphic, Puccinia graminis, Capnodium salicinum (in the last species there are five methods of reproduction: yeast-like conidia, free conidiophores, conidiocarps with small and large conidia, and ascocarps)

The liberation and distribution of the spores and conidia. The spores and conidia, on account of their small size and lightness, are spread far and wide by currents in the air, but in addition to this

method, insects and other animals frequently assist in disseminating them. The liberation of the conidia is occasionally effected by the complete shrinking away of the conidiophore, but more frequently by abstriction from the conidiophores, either by their gradually tapering to a point, or by the dissolution of a cross-wall (generally of a mucilaginous nature). The individual links of conidia-chains are detached from one another in the same way, or often by means of small, intercalary cells, which are formed at the base of the individual links, and becoming slimy, dissolve upon the maturity of the spores. Special contrivances for ejecting the spores and conidia may often be found. In Peronospora the cylindrical fruit-hyphæ in the dry condition become strap-shaped and also twisted. These are very hygroscopic, and the changes of form take place so suddenly, that the spores are violently detached and shot away. In Empusa a peculiar squirting mechanism may be found (Fig. 85). Each clubshaped hypha which projects from the body of the fly, bears a conidium at its apex; a vacuole, which grows gradually larger, is formed in the slimy contents of the hypha, and the pressure thereby eventually becomes so great that the hypha bursts at its apex, and the conidium is shot into the air. By a similar mechanism, the spores of many of the Agaricaceæ are cast away from the parent-plants. In the case of Pilobolus (Fig. 84) the entire sporangium is thrown for some distance into the air by a similar contrivance, the basal region of the sporangium having, by the absorption of water, been transformed into a slimy layer which is readily detached. Sphærobolus, a Gasteromycete, has a small, spherical fruit-body (basidiocarp), the covering of which, when ripe, suddenly bursts, and the basidiospores contained in it are forcibly ejected.

The spores which are enclosed in asci are, in some instances, set free from the mother-cell (ascus) prior to their complete development (Elaphomyces, Eurotium). In the case of the majority of the Pyrenomycetes and Truffles, the asci swell by the absorption of water into a slimy mass, which gradually disappears, so that the spores lie free in the fruit-body; they either remain there till the fruitbody decays, as in those which have no aperture (Perisporiaceæ, Tuberaceæ), or the slimy mass, by its growth, is forced out through the aperture of the sporocarp, taking the spores with it (Nectria). The

ejection of the spores by mechanical means takes place in a number of Ascomycetes, and should many spores be simultaneously ejected, a dust-cloud may be seen with the naked eye to arise in the air from the fruit-body. This is the case in the larger species of Peziza, Helvella, Rhytisma, when suddenly exposed to a damp current of air. A distinction is drawn between a simultaneous ejection of all the spores contained in the ascus, and an ejection at intervals (successive), when only one spore at a time is thrown out. The first of these methods is the most frequent, and is brought about by the ascus being lined with a layer of protoplasm, which absorbs water to such a degree that the elastic walls are extended at times to double their original size. The spores are forced up against the free end of the ascus, a circular rupture is made at this point, and the elastic walls contract, so that the fluid with the spores is ejected. Special means may in some instances be found to keep the spores together, and compel their simultaneous ejection. Thus, a tough slime may surround all the spores (Saccobolus), or a chain-apparatus, similarly formed of tough slime; or there may be a hooked appendage from each end of the spores which hooks into the appendage of the next spore (Sordaria). The paraphyses occurring between the asci in many Ascomycetes, also play a part in the distribution of the spores, by reason of the pressure they exercise. The asci in some of the Pyrenomycetes, which are provided with jar-shaped fruit-bodies, elongate to such an extent that, without becoming detached from their bases, they reach the mouth of the fruit-body one at a time, burst and disperse their spores, and so make room for those succeeding. An ejection of the spores at intervals from the ascus is rarer. It takes place, for instance, in Pleospora, whose asci have a double wall. The external wall, by absorption of water, at last becomes ruptured, and the internal and more elastic membrane forces itself out in the course of a few seconds to one of two or three times greater length and thickness, so that one spore after another is forcibly ejected from a narrow aperture at the end of the ascus.

Germination of spores (conidia and chlamydospores). In many spores may be found one or more germ-pores, i.e. thinner places, either in the inner membrane (uredospores, Sordaria) or in the external membrane (teleutospores in Rust-Fungi), through which the

germination takes place. Generally this does not occur till the spores have been set free: in some Ascomycetes germination commences inside the ascus (Taphrina, Sclerotinia). The different ways in which the spores germinate may be classified into three groups.

I. T occurs by the spore emitting a germ-tube, which immediately developes into a mycelium. In spores with a double wall it is only the inner membrane which forms the germ-tube. In swarmspores a single wall is formed after the withdrawal of the cilia, and this, by direct elongation, becomes the germ-tube. The protoplasm accumulated in the spore enters the hypha, which, in pure water, can only grow as long as the reserve nourishment lasts.

2. G differs only by the circumstance that the hypha developed from the germ-tube has a very limited growth, and hence it does not immediately develope into a mycelium, but produces conidia (Rust-and Brand-Fungi). This promycelium must only be regarded as an advanced development of a conidiophore or basidium.

3. T - of conidia consists in the production of outgrowths, very much constricted at their bases, from one or more places. Each of the conidia formed in this manner may again germinate in the same way. When sufficient nourishment is present, a branched chain of such conidia is formed, and these are finally detached from one another. Yeast-like buddings from the conidia are produced in various Fungi, e.g. Ascoidea, Protomyces, Ustilagineæ, Ascomycetes, Tremellaceæ, etc. In the Ustilagineæ these conidia are an important element in the development. The budding conidia of Exobasidium forms a “mould” on the nutritive solution. The yeast-like conidia are not to be confounded with the “Mucor-yeast” (comp. Mucoraceæ). For Saccharomyces see Appendix to the Fungi, page 176.

In a compound spore (i.e. when a mass of spores are associated together) each spore germinates on its own account. There are sometimes, however, certain among them which do not germinate, but yield their contents to those which do.

The length of time for which conidia can retain their power of germination is shortest (being only a few weeks) in those having thin walls and containing a large supply of water (Peronosporaceæ, Uredinaceæ). In many spores a resting period is absolutely necessary before they are able to germinate (resting spores). It has been observed in some spores and conidia, that the faculty of germinating may be preserved for several years if the conditions necessary for germination remain absent (Ustilagineæ, Eurotium, Penicillium).

The optimum, minimum and maximum temperatures required for the germination of the spores has been decided in the case of a good many Fungi. A large portion of the most common Fungi have their optimum at 20°C., minimum at 1–2°C, maximum at 40°C. In the case of pathogenic Fungi the optimum is adapted to the temperature of the blood. Fungi living in manure, whose spores are often adapted to germinate in the alimentary canals of warm-blooded animals, have an optimum corresponding to the temperature of these animals, but with a little margin.

Systematic Division.—The lowest class of the Fungi is that of the P, which have an unicellular mycelium, sexual and asexual reproduction, and have doubtless sprung from sporangiabearing, lower Green Algæ. From the Phycomycetes (and certainly from the Zygomycetes) spring two well defined branches, each with numerous distinct species; to the one branch belong the H and the A, to the other the H and the BASIDIOMYCETES. Ascomycetes and Basidiomycetes may be united under the title of M or H F. The Hemiasci and the Hemibasidii constitute the class of M The Hemiasci are an intermediate form between Zygomycetes and Ascomycetes; the Hemibasidii a similar group between the Zygomycetes and Basidiomycetes. Mesomycetes and Mycomycetes have only asexual reproduction; sexual reproduction is wanting. Their mycelium is multicellular.

Up to the present time about 39,000 species have been described.

Review of the divisions of the Fungi:—

Class I.—Phycomycetes (Algal-Fungi).

Sub-Class 1. Zygomycetes.

Sub-Class 2. Oomycetes.

Family 1. E.

Family 2. C.

Family 3. M.

Class II. Mesomycetes.

Sub-Class 1 Hemiasci.

Sub-Class 2 Hemibasidii (Brand-Fungi).

Class III.—Mycomycetes (Higher Fungi).

Sub-Class 1 Ascomycetes.

Series 1 Exoasci.

Series 2 Carpoasci.

Family 1 G }

Family 2 P }Angiocarpic Exoasci

Family 3. P. }

Family 4. H. }

Family 5. D. } Hemiangiocarpic Exoasci.

Family 6. H. Gymnocarpic (?) Exoasci.

Additional: A. Lichen-forming Ascomycetes.

Sub-Class 2. Basidiomycetes.

Series 1. Protobasidiomycetes. Partly gymnocarpic, partly angiocarpic.

Series 2. Autobasidiomycetes.

Family 1. D. Gymnocarpic.

Family 2. H. Partly gymnocarpic, partly hemiangiocarpic.

Family 3 P Hemiangiocarpic

Family 4 G Angiocarpic

Additional: B Lichen-forming Basidiomycetes

Additional to the Fungi: F I Incompletely known (Saccharomyces, Oidium-forms, etc )

Class 1. Phycomycetes (Algal-Fungi).[12]

This group resembles Vaucheria and the other Siphoneæ among the Algæ.

O N The mycelium is formed of a single cell, often thread-like and abundantly branched (Fig. 78). Vegetative propagation by chlamydospores and oidia. Asexual reproduction by endospores (sometimes swarmspores) and conidia. Sexual reproduction by conjugation of two hyphæ as in the Conjugatæ, or by fertilisation of an egg-cell in an oogonium. On this account the class of the Phycomycetes is divided into two sub-classes: Z and O.

Sub-Class I. Zygomycetes.

Sexual reproduction takes place by zygospores, which function as resting-spores, and arise in consequence of conjugation (Fig. 81); in the majority of species these are rarely found, and only under special conditions. The most common method of reproduction is by endospores, by acrogenous conidia, by chlamydospores, or by oidia. Swarmspores are wanting. Parasites and saprophytes (order 6 and 7). The zygospores are generally produced when the formation of sporangia has ceased; e.g. by the suppression of the sporangialhyphæ (Mucor mucedo), or by the diminution of oxygen; Pilobolus crystallinus forms zygospores, when the sporangia are infected with saprophytic Piptocephalis or Pleotrachelus.

A. Asexual reproduction only by sporangia.

Order 1. Mucoraceæ. The spherical sporangia contain many spores. The zygospore is formed between two unicellular branches (gametes).

The unicellular mycelium (Fig. 78) of the Mucoraceæ branches abundantly, and lives, generally, as a saprophyte on all sorts of dead organic remains. Some of these Fungi are known to be capable of producing alcoholic fermentation, in common with the Saccharomyces. This applies especially to Chlamydomucor racemosus (Mucor racemosus), when grown in a saccharine solution, and deprived of oxygen; the mycelium, under such conditions, becomes divided by transverse walls into a large number of small cells. Many of these swell out into spherical or club-shaped cells, and when detached from one another become chlamydospores, which abstrict new cells of similar nature (Fig. 79).

These chlamydospores were formerly erroneously termed “mucoryeast,” but they must not be confounded with the yeast-conidia (page 94). They are shortened hyphæ, and are not conidia of definite size, shape, and point of budding. Oidia are also found in Chlamydomucor.

F 78 Mucor mucedo A mycelium which has sprung from one spore, whose position is marked by the *: a, b, c are three sporangia in different stages of development; a is the youngest one, as yet only a short, thick, erect branch; b is commencing to form a sporangium which is larger in c, but not yet separated from its stalk

The Mucoraceæ, in addition to the chlamydospores and oidia, have a more normal and ordinary method of reproduction; viz., by spores which are formed without any sexual act. Mucor has round

sporangia; from the mycelium one or more long branches, sometimes several centimetres in length, grow vertically into the air; the apex swells (Figs. 78, 80) into a sphere which soon becomes separated from its stalk by a transverse wall; in the interior of this sphere (sporangium) a number of spores are formed which eventually are set free by the rupture of the wall. The transverse wall protrudes into the sporangium and forms the well-known columella (Fig. 80 d, e). The formation of spores takes place in various ways among the different genera.

F 79 Chlamydospores of Chlamydomucor racemosus (× 375 times )

F 80 —Mucor mucedo: a a spore commencing to germinate (× 300 times); b a germinating spore which has formed a germ-tube from each end (× 300 times); c the apex of a young sporangium before the formation of spores has commenced; the stalk is protruded in the sporangium in the form of a column: on the wall of the sporangium is found a very fine incrustation of lime in the form of thorn-like projections; d a sporangium in which the formation of spores has commenced; e a sporangium, the wall of which is ruptured, leaving a remnant attached to the base of the columella as a small collar. A few spores are seen still adhering to the columella.

S R by conjugation takes place in the following manner. The ends of two hyphæ meet (Fig. 81) and become more or less club-shaped; the ends of each of these are cut off by a cell-wall, and two new small cells (Fig. 81 A) are thus formed, these coalesce and give rise to a new cell which becomes the very thick-walled zygote (zygospore), and germinates after period of rest, producing a new hypha, which bears a sporangium (Fig. 81 E).

Mucor mucedo, Pin-mould, resembles somewhat in appearance Penicillium crustaceum and is found growing upon various organic materials (bread, jam, dung, etc.).

Pilobolus (Figs. 83, 84) grows on manure. Its sporangium (Fig. 84 a″) is formed during the night and by a peculiar mechanism (page

92) is shot away from the plant in the course of the day This generally takes place in the summer, between eight and ten a.m. The sporangium is shot away to a height which may be 300 times greater than that of the plant itself, and by its stickiness it becomes attached to portions of plants, etc., which are in the vicinity. If these are eaten by animals, the spores pass into the alimentary canal and are later on, sometimes even in a germinating condition, passed out with the excrement, in which they form new mycelia.

Phycomyces nitens (“Oil-mould”) is the largest of the Mould Fungi; its sporangiophores may attain the height of 10–30 c.m.

Order 2. Rhizopaceæ. Rhizopus nigricans (Mucor stolonifer) which lives on decaying fruits containing sugar, on bread, etc., has, at the base of the sporangiophores, tufts of rhizoids, i.e. hyphæ, which function as organs of attachment. From these, “runners” are produced which in a similar manner develope sporangiophores and rhizoids.

F 81, 82 Mucor mucedo: A-C stages in the formation of the zygote; D zygote; E germination of

zygote: the exospore has burst, and the endospore grown into a hypha bearing a sporangium.

Order 3. Thamnidiaceæ. On the same sporangiophore, in addition to a large, terminal, many-spored sporangium, many smaller, lateral sporangia are formed with a few spores. Thamnidium.

B. Asexual reproduction by sporangia and conidia.

Order 4. Choanephoraceæ. Choanephora with creeping endophytic mycelium, and perpendicular sporangiophores.

Order 5. Mortierellaceæ. Mortierella polycephala produces on the same mycelium conidia and sporangiophores. M. rostafinskii has a long stalked sporangiophore, which is surrounded at its base by a covering of numerous felted hyphæ.

F 83 Pilobolus Mycelium (a, a), with a sporangiophore (A) and the fundament of another (B)

F. 84. Pilobolus. Sporangium (a″) with stalk (a-c), which is covered by many small drops of water pressed out by turgescence.

C. Asexual reproduction only by conidia.

Order 6. Chætocladiaceæ. The conidia are abstricted singly and acrogenously. Chætocladium is a parasite on the larger Mucoraceæ.

Turn static files into dynamic content formats.

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