SlideShare a Scribd company logo
MD* MD* Best Practices MarkusVoelter MD* Independent/itemis AG www.voelter.devoelter@acm.org
About Markus Voelter Independent Consultant
About Markus Voelter Independent Consultant Software Architecture DSLs & MDSD ProductLines
About Markus Voelter Independent Consultant http://www.voelter.de voelter@acm.org skype: schogglad
Read the Paper! http://www.voelter.de/data/articles/DSLBestPractices-Website.pdf
 DesigningLanguage  the
Sourcesforthe Language
Technical DSLs extractedfrom … framework … library … pattern (language) … architecture Language Sources
Business DSLs extractedfrom Language Sources
Domain Analysis Language Sources
Domain Analysis Language Sources Not just software!
Limit Expressiveness
Limit Expressiveness
Configuration select    …fromconfigspace Limit Expressiveness … Properties … Feature Models
Customization compose    … creatively Limit Expressiveness … Vocabulary … Sentences … Box and Line
Precision preciselywhat Limit Expressiveness … facts … declarative … domainexpertscan!
AlgorithmicCompleteness formallyhow Limit Expressiveness … automation … execution … in model processors … developers can!
Limit Expressiveness Use a 3GLifnecessary Generate APIs, Hooks
Do you want users to build their own  Limit Expressiveness abstractions with the language?
DSL is a compromise: … Domain Abstractions … Reuse, Modularization, … Limit Expressiveness … All Data for Generation … DSL Tool influences Viewpoints?
Notation, Notation, Notation
Domain Users caredeeply Notation, … aboutnotation! „UI“ forthelanguage
Textual Graphical Form-Based Spreadsheet Notation, …
Parts Notation, …
Convertible Notation, …
Embedded Notation, …
Notation, … Tool Specific!
Graphical vs. Textual
Graphical Sequence/Flow Grapical vs. Textual
Graphical Grapical vs. Textual Relationships
Graphical Grapical vs. Textual Timing
Textual In all othercases! Grapical vs. Textual
Textual Real simple… …CVS/SVN Integration … Diff/Merge … Buildautomation … Model Migration Grapical vs. Textual
Text + Visualization Grapical vs. Textual
Text + Visualization … problem-specific … anwers specific questions … highlight specific aspects … several different Grapical vs. Textual visualizations
DSL Semantics
? Whatdoesit all mean? DSL Semantics
DSL Semantics
DSL Semantics
DSL Semantics
DSL Semantics Documentation
Viewpoints
Viewpoints
Viewpoints
Well-defined DependenciesandConnectionPoints Viewpoints
Try toavoid overlapandtheneedforsynchronization. Viewpoints
Viewpoints Tool Specific!
Partitioning
scale MD* tools do not Partitioning arbitrarily!
Partitions Partitioning … separate resources … != logicalstructure … unitsof check in/out … processable separately … unit of IP
X cross Partition references Partitioning … lazy … byproxy … byname w/ linker
Partition Partitioning … not transparent … partoflanguage design … referencableelements … „includepath“
Partitioning Tool Specific!
Evolution
Whatto do withexisting models Evolution ifthe language changes?
MightRequire… Evolution … configmanagement … version tag in models … changetracking … migration M2M
Think about… Evolution … backwardcompatibility … deprecation … instrumentation … viewpoints + partitions
Evolution Tool Specific!
The Fallacyof GenericLanguages
FallacyofGeneric Lang.
Youcan model everything with FallacyofGeneric Lang.
Youcan model everything with FallacyofGeneric Lang. somehow!
Problem Shoehorningdomainabstractionsintothe genericlanguage FallacyofGeneric Lang.
Problem Sidetrackedbyexistingabstractionsandnotations FallacyofGeneric Lang.
FallacyofGeneric Lang. Very LimitedTool Support! Notations/ Abstractionsextensiblevia Profiles
Meta Model Complexity! FallacyofGeneric Lang.
Wherearestandardsuseful? FallacyofGeneric Lang.
Peoplehavetolearnunderlying concepts anyway. FallacyofGeneric Lang.
Is UML witha profilestill a standardlanguage? FallacyofGeneric Lang.
On whichmetaleveldo I wanttostandardize? M2 (UML), M3 (MOF)? FallacyofGeneric Lang.
Isn‘t a DSLbased on MOFas „standard“ as a profilebased on UML? FallacyofGeneric Lang.
Introduce an  intermediate language FallacyofGeneric Lang.
separate DSL viewpoints UML + DSL DS Model FallacyofGeneric Lang.
FallacyofGeneric Lang. BPM  is to analysts what UML is to developers.
Butdon‘treinventthewheeleither. FallacyofGeneric Lang.
Build your own languageinspiredbyexisting language FallacyofGeneric Lang.
Learnfrom 3GLs
DSL != 3GL Learnfrom 3GLs But:
Namespaces VisibilityEncapsulation Scoping Specialization Cohesion Coupling abstract … Wecan learn: Learnfrom 3GLs
Read thisBook: Learnfrom 3GLs Concepts, TechniquesandModels of Computer Programming by Peter Van Roy and SeifHaridi
Type Systems
Knownfrom3GLs Type Systems Classes & Objects
Examples: Components & Instances Type Systems Data Types & Instances Config Table Defs & ConfigTables
Viewpoint B (Types) Type Systems instanceof Viewpoint A (Instances)
Viewpoint B (Types) Type Systems instanceof Viewpoint A (Instances)
MetaMeta Model (M3) instanceof Viewpoint B (Types) MetaModel (M2) Type Systems instanceof Viewpoint A (Instances) instanceof Model (M1)
Support for ReuseandVariations
There‘smoreto reuse Reuse andVariations than partitions
The language must provide explicit Reuse andVariations support! (wecanlearnthatfrom OO)
Specialization overriding, overwriting Leaving Holes Reuse andVariations for variant tofill in InjectStuff severalplacesat a time?
Specialization Inheritance Leaving Holes Reuse andVariations Template Method Pattern InjectStuff Aspect Orientation
Reuse andVariations Makesureyou delineate the API!
Reuse andVariations Domain Users might not understand this!
Who are 1st Class Citizens?
Big Language Who are 1st Class Citizens withmanyconcepts!
Small Language Who are 1st Class Citizens withfew, but powefulconcepts!
Big Language Easierfor Business Users Concepts easy to find COBOL style Who are 1st Class Citizens
Small Language Technical DSLs Conceptsharderto find More expressive Lisp Style Who are 1st Class Citizens
Do not  mix Reuse andVariations thetwostyles!
Teamwork Support
Versioning    Lock       Check in/out Diff/compare Merge Branch                      Tag Teamwork Support
Versioning    Lock       Check in/out Diff/compare Merge Branch                      Tag Teamwork Support On the Level ofthe Concrete Syntax!
Versioning    Lock       Check in/out Diff/compare Merge Branch                      Tag Teamwork Support Together withmanually written Source!
Repository vs. Teamwork Support File-Based
Repository … Element-Specific … Real-Time … Oftengoodfor    Business DSLs Teamwork Support
File-Based … like SCMs … integrates wellwithmanuallywrittencode … Technical DSLs Teamwork Support
File-Based … integratesvery    well with (real)  textual DSLs Teamwork Support
Teamwork Support Tool Specific!
ToolingMatters!
The Language is not ToolingMatters! enough!
Teamwork Navigation Overviews Searching Quick-find Find-references Show usage Refactoring Debugging Code Completion Syntax Highlighting The Language is not ToolingMatters! enough!
The Language is not ToolingMatters! enough! Thisis also trueforthe Meta Developers!
Users shouldbeable toworkwithandstore wrong or ToolingMatters! incomplete models!
Users shouldbeable toworkwithandstore wrong or ToolingMatters! incomplete models! Temporarily. Noprocessing!
ToolingMatters! Nightly Build!
 ProcessingModels  the
Interpretation  Generation vs.
Interpretation Interpretation vs. Generation
Generation Interpretation vs. Generation
Generation resultingcode Interpretation vs. Generation canbeeasily inspected
Generation resultingcode Interpretation vs. Generation canbeeasily debugged
Generation resultingcode canbe Interpretation vs. Generation optimized andmore efficient
Generation Templates canbe Interpretation vs. Generation derived fromexistingcode
Generation workaround Interpretation vs. Generation limitations oftargetlanguage
Generation nochanges Interpretation vs. Generation totargetenvironment (leavesnotrace)
Generation reuse Interpretation vs. Generation runtime infrastructure (garbage collection, monitoring…)
Interpretation faster turnaround Interpretation vs. Generation noregeneration test build deploy
Interpretation for platform indepenence an interpreter might be Interpretation vs. Generation less porting effort
Combinations Interpretation vs. Generation
Rich Domain SpecificPlatform
Rich Platform
Rich Platform Grownwiththe DSL!
Extreme Case Rich Platform populates
Checks Firstand Separate
Language Structure is not enough. Checks firstand separate Youneedconstraints. Boolean expressionsthatvalidate the model beyondstructure.
Model G Checks firstand separate … complex Constraints Code
Model Checks firstand separate G G‘ … complex … duplication Constraints Constraints Code Code‘
separate phase Model firstclasscitizens muchbetter. Constraints Checks firstand separate G G‘ check asmany aspossible. makeittight. Code Code‘
different constraints atdifferenttimes orfor Checks firstand separate different partitions ofthe model partition-local: editor, on-save global: batch, on-request
check early. Model moresemantics. Constraints bettermessages. T Model‘ Checks firstand separate T Model‘ G Code
Model Constraints 1 constraints 1 ok  T implies Model‘ constraints 2 ok  Checks firstand separate Constraints 2 implies T constraints 3 ok  Model‘ Constraints 3 G Code
ERROR WARNING Checks firstand separate INFO
IntegratingGeneratedandManuallyWritten Code
Ifat all possible, Do not modify Integrated Gen/Man Code Generated Code!
ProtectedRegions are a badideabecause generatedcode Integrated Gen/Man Code is not a throwaway anymore.
ProtectedRegions … needto check in … sedimentofgeneratedcode Integrated Gen/Man Code
Better Approach: Hooks Integrated Gen/Man Code in thegeneratedcode
Better Approach: Hooks Integrated Gen/Man Code in thegeneratedcode extension points, base class, abstract methods & subclassing, empty callback methods, delegate, implement interfaces, #include, reflection, AOP,  design patterns, partial classes
Integrated Gen/Man Code
ControlManuallyWritten Code
After codegeneration how do youmakesure developersfollow Control Manual Code all therequired procedures?
procedures? … subclass … overwrite … naming conventions Control Manual Code
Compiler Errors are not enough. Control Manual Code wrong abstraction level!
generatechecks againstthecodebase Control Manual Code evaluatedbytheIDE
if (false) { GeneratedBaseClass x =       new ManualSubclass(); } Control Manual Code
Care aboutgeneratedcode Andrew Vargas
Generated Code a Throwaway Product? Care aboutGenerated Code
Generated Code a Throwaway Product? Care aboutGenerated Code Yes. Can beregenerated.
But: must be… … written (templates) … understood … debugged Care aboutGenerated Code
But: must be… … written (templates) … understood … debugged … extended … programmedagainst Care aboutGenerated Code ifyoudon‘tgenerate100%:
Care! … indent … usegoodnames … document … modularize Care aboutGenerated Code
Make CodeTrue to Model
Analyses on the model canverify all kindsof properties aboutthe Code truetothe Model system.
Analyses on the model canverify all kindsof properties aboutthe Code truetothe Model system. Iffthecodeis true tothe model
Use a clever programming model Code truetothe Model thatdoes not allow violations.
generatethe configuration for architectureanalysis tools. SoftwareTomographySonarJ Structure 101 … andthelike Code truetothe Model
Viewpoint-AwareProcessing
whenandhow do you and validate process Viewpoint-Aware Processing eachviewpoint?
whenandhow do you and validate process Viewpoint-Aware Processing eachviewpoint? Roles? Process?
Generate in phases: type developer implementmanualcode Viewpoint-Aware Processing deployment integrator run on targetsystem behaviour runtime interpretstatemachine
Also consider partitions Viewpoint-Aware Processing in thiscontext!
Overall ConfigurationViewpoint
Teamwork Partitions Viewpoints Multiple Targets Overall ConfigurationViewpt. Multiple Configurations
Teamwork Partitions Viewpoints Multiple Targets Overall ConfigurationViewpt. Multiple Configurations large ormany models
Overall ConfigurationViewpt.
Overall ConfigurationViewpt.
Putthisoverall configurationinto Overall ConfigurationViewpt. a model:  configuration viewpoint
Care About Templates
Templates … importantasset Care about Templates … containplatform knowledge … tendtogrow morecomplex
Care! … modularize Care about Templates … functions … naming … polymorphism … aspects … refactor
Indentforthetemplates andthenuse a beautifier forthe Care about Templates generatedcode.
Indentforthetemplates andthenuse a beautifier forthe Care about Templates generatedcode. exceptifyouuse a langauage withsemanticwhitespace!
Care about Templates GoodPlatform. Fewer Templates. Less Care.
Model-2-Model ToSimplify Generators
Reducingtemplate complexity isimportant. M2M toSimplify Generators
Reducingtempalte complexity isimportant. M2M toSimplify Generators Separation ofConcerns isthewaytogo.
Insteadofputting complexlogic intothetemplates M2M toSimplify Generators putitinto an M2M thatruns beforecode gen.
M2M toSimplify Generators
M2M toSimplify Generators
In-language reduction rules: M2M toSimplify Generators
Model-2-Model For Simulation andProof
Many usefulformalisms alreadyexist. M2M for Simulation andProof
Many usefulformalisms alreadyexist. M2M for Simulation andProof Simulation Proofs Properties
Use an M2M forthisifpossible. M2M for Simulation andProof OftentheinputisXML so youactually „generatecode“
Cascading
? PIM? Cascading PSM? PSSM?
BottomUp Cascading Works Better!
Cascading M2T Code + othertargetplatformartifacts
Cascading M2M M2M M2T M2T Code + othertargetplatformartifacts
M2M Cascading M2M M2M M2T M2T Code + othertargetplatformartifacts
MODELS READ ONLY! M2M Cascading M2M M2M M2T M2T Code + othertargetplatformartifacts
Allowfor Adaptations
EconomiesofScale Reuse! AllowforAdaptations
EconomiesofScale Reuse! AllowforAdaptations But:  Adaptations!
EconomiesofScale Reuse! AllowforAdaptations But:  Adaptations! Unexpected
Annotations on Models n/v pairs AllowforAdaptations tobeused in generators Adaptations on Templates Template-AO Factories/Polymorphism
AllowforAdaptations Becarefulto delineate the API!
Annotation Models
M2M Annotation Models M2M M2T M2T Code + othertargetplatformartifacts
M2M Annotation Models M2M M2M‘ M2T M2T Code + othertargetplatformartifacts
Annotation Model references elements in base model. Annotation Models Transformation takes additional informationinto account.
Makesurethe annotation model onlycaptures Annotation Models Exceptions fromthedefault in thetemplates.
ClassifyBehaviour
? Action Semantics ClassifyBehaviour Languages useful?
? Action Semantics ClassifyBehaviour Languages useful! But…
Classify! … statebased … businessrules ClassifyBehaviour … mathematics
Classify! … statebased … businessrules ClassifyBehaviour … mathematics … or a specific DSL
Classify! … statebased … businessrules ClassifyBehaviour … mathematics … or a specific DSL … 3GL code
Don‘tforget Testing
Don‘t Forget Testing Limited Expressiveness. Reduced Need For Tests.
Don‘t Forget Testing Constraint Checks. A Form of Test.
Better Testing Generator Example Models Code Don‘t Forget Testing Based On Binary Test Cases (hand written) Tests
Better Testing Generator Example Models Code Don‘t Forget Testing Based On Models and     Language serve as  meaningful „spec“        for what to test Binary Test Cases (hand written) Tests
Testing Generators Generator Reference Model Code Don‘t Forget Testing
Testing Generators Generator Reference Model Code Don‘t Forget Testing Based On Binary Reference Test Cases Tests
TestingTransformations M2M ResultModel Reference Model Don‘t Forget Testing
TestingTransformations M2M ResultModel Reference Model Don‘t Forget Testing Based On Reference Constraints Tests
TestingMetware Reference Model … maintaned! Don‘t Forget Testing … bymetaware Reference Test Cases developers Reference Constraints
This tests only the generators Generator Model Code Don‘t Forget Testing Tests Generator Test Code
This tests not the model: self fulfilling! Generator Model Code Don‘t Forget Testing Tests Generator Test Code
Separate test models and generated test code Model Generator Code Don‘t Forget Testing based on tests Test Model (Test Language) Generator Test Code
Separate test models and generate Mocks Model Generator Code Mocks Don‘t Forget Testing based on tests Generator Test Model (Test Language) Generator Test Code
Auto-Derived Test Models work sometimes. Model Generator Code Don‘t Forget Testing automatically derived  tests Test Model (Test Language) Generator Test Code
 ProcessOrganization  the
Iterate!
Waterfallisbad! WithorWithout MD* Iterate!
Iterate! Concepts
Iterate! Concepts Language
Iterate! Examples Concepts Language
Generator+Tests Iterate! Examples Concepts Language
Generator+Tests Editor Beautification Iterate! Examples Concepts Language
Co-Evolve Language andConcepts
Co-Evolve Language & Domain
Co-Evolve Language & Domain
Building a language requires Formalization Co-Evolve Language & Domain
Building a language requires Formalization Co-Evolve Language & Domain requiresyouto thinkanddecide aboutthedomain.
Co-Evolve Language & Domain requiresfrequent Evolution!
Co-Evolve Language & Domain and flexible, agile Tooling!
Documentationis still necessary
The DSL and the „programs“ are documentation. Documentation still necessary
The DSL and the „programs“ are documentation. 		Not Quite! Documentation still necessary
Language Definition 		is not a  		Teaching Tool! Documentation still necessary
Tutorials … Concepts … Howtouse Language Documentation still necessary … Howtointegrate manualcode Example-Driven!
Language Definition 		captures  			the WHAT 	but not the WHY Documentation still necessary
Rationales … whytheconcepts? … whywegenerate Documentation still necessary whatwegenerate … targetplatform de- cisionsandidioms Grammar as Reference!
Different Media Documentation still necessary
Reviews
Reviews In mostcases, peoplecan still makemistakes.
DSL programs aremoreconcise, so Reviews reviewsare moreefficient.
Repeated „Mistakes“? Add constraint check. Reviews
Repeated „Mistakes“? Add constraint check. Reviews Ormaybethelanguage iswronganditis not a mistake?
Letpeople do what they‘regoodat
MD* hasseveral clearlydefined Let‘em do whatthey‘regoodat Roles
Tech Experts … evaluatetechnologies … digdeep Let‘em do whatthey‘regoodat … tune … createtemplates … spreadknowledge
Language Designer … works w/ domain expert abstractions, notations Let‘em do whatthey‘regoodat … adds modularization, in-     heritance, „abstract“, etc. … works w/ architect generators, interpreters … requires „metapeople“
App Developer … caresaboutappdomain … uses DSLs + metaware Let‘em do whatthey‘regoodat … isisolatedfrom     technology, does not      have to care (that much)
Flip side: Let‘em do whatthey‘regoodat Youactuallyneedpeople whoaregoodatthis!
Domain Users Programming?
Precision != Programming Domain Users Programming?
Precision != Programming Domain Users Programming? DomainUsers Programmers Programming = Precision + X
Precision … Scientists … Insurance Mathematicians Domain Users Programming? … Logisticians … Medical Doctors
Domain Users Programming?
If Domain Users don‘tgetit Domain Users Programming? itmighthintat a  problemwith thelanguage! … orthedocumentation!
Things learned from 3GLs Domain Users Programming? often not intuitively understandable for domain people.
Domain Users vs. Experts
Creatingthe Language vs. Domain Users vs. Experts Usingthe Language
Creating: Domain Expert Domain Users vs. Experts Using: Domain User
Creating: Domain Expert … senior … complete Domain Users vs. Experts … bigpicture … deep … precise, formal … guru
Using: Domain User … not senior … narrower Domain Users vs. Experts … shallow
Can Domain Users understand  whattheExperts putinto Domain Users vs. Experts thelanguage? Verifyearlyandoften!
MetawareasProduct
Product: … releaseschedule … incrementaldevelopmt MetawareasProduct … requirementsmgt. … issuetracking … documentation … supportstaff
Exhange People … makemetadevelopers develop real apps MetawareasProduct … letappdevelopers developmetaware
Compatible Organization
MD* requires cross-project CompatibleOrganization work.
MD* requires cross-project CompatibleOrganization work. A strictproject-focused organizationdoes         not work
Make room & budget forcross-cutting CompatibleOrganization work. Open Source?
Forget PublishedCase Studies
How do youknow ifitworks foryoursituation? Forget Published Case Studies
How do youknow ifitworks foryoursituation? Forget Published Case Studies Do not judgeby published casestudies!
How do youknow ifitworks foryoursituation? Forget Published Case Studies Do not judgeby published casestudies! (yes, theyareworthreading  but don‘tdecidebased on them)
Instead: 	Prototype! … meaningful Forget Published Case Studies … 4-8 personweeks … incremental … externalhelp?
  Challenges
Mixing Notations Challenges
Mixing Notations Language Modularity Challenges
Mixing Notations Language Modularity MetawareRefactoring Challenges
Mixing Notations Language Modularity MetawareRefactoring Model/Code Refactoring Challenges
Mixing Notations Language Modularity MetawareRefactoring Model/Code Refactoring Challenges Automatic Model Migration
Mixing Notations Language Modularity MetawareRefactoring Model/Code Refactoring Challenges Automatic Model Migration Model Debugging
Mixing Notations Language Modularity MetawareRefactoring Model/Code Refactoring Challenges Automatic Model Migration Model Debugging Interpretation -> Code Gen
Mixing Notations Language Modularity MetawareRefactoring Model/Code Refactoring Challenges Automatic Model Migration Model Debugging Interpretation -> Code Gen Cartridges
THE END. Thankyou. Questions?

More Related Content

What's hot

Domain Specific Language Design
Domain Specific Language DesignDomain Specific Language Design
Domain Specific Language DesignMarkus Voelter
 
Better problem solving through scripting: How to think through your #eprdctn ...
Better problem solving through scripting: How to think through your #eprdctn ...Better problem solving through scripting: How to think through your #eprdctn ...
Better problem solving through scripting: How to think through your #eprdctn ...
BookNet Canada
 
DSL and EMFText
DSL and EMFTextDSL and EMFText
DSL and EMFText
Eclipse Day India
 
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worldsmbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
Istvan Rath
 
An introduction to_programming_with_c__threads 2005
An introduction to_programming_with_c__threads 2005An introduction to_programming_with_c__threads 2005
An introduction to_programming_with_c__threads 2005
mohammad shayestehfar
 
Model-driven Development of Model Transformations
Model-driven Development of Model TransformationsModel-driven Development of Model Transformations
Model-driven Development of Model Transformations
Pieter Van Gorp
 
Domain Specific Languages
Domain Specific LanguagesDomain Specific Languages
Domain Specific Languageselliando dias
 
Domain Driven Design and Model Driven Software Development
Domain Driven Design and Model Driven Software DevelopmentDomain Driven Design and Model Driven Software Development
Domain Driven Design and Model Driven Software Development
Bahram Maravandi
 
CS152 Programming Paradigm
CS152 Programming Paradigm CS152 Programming Paradigm
CS152 Programming Paradigm
Kaya Ota
 
DSL development
DSL developmentDSL development
DSL development
Mikhail Barash
 

What's hot (11)

Java
JavaJava
Java
 
Domain Specific Language Design
Domain Specific Language DesignDomain Specific Language Design
Domain Specific Language Design
 
Better problem solving through scripting: How to think through your #eprdctn ...
Better problem solving through scripting: How to think through your #eprdctn ...Better problem solving through scripting: How to think through your #eprdctn ...
Better problem solving through scripting: How to think through your #eprdctn ...
 
DSL and EMFText
DSL and EMFTextDSL and EMFText
DSL and EMFText
 
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worldsmbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
mbeddr meets IncQuer - Combining the Best Features of Two Modeling Worlds
 
An introduction to_programming_with_c__threads 2005
An introduction to_programming_with_c__threads 2005An introduction to_programming_with_c__threads 2005
An introduction to_programming_with_c__threads 2005
 
Model-driven Development of Model Transformations
Model-driven Development of Model TransformationsModel-driven Development of Model Transformations
Model-driven Development of Model Transformations
 
Domain Specific Languages
Domain Specific LanguagesDomain Specific Languages
Domain Specific Languages
 
Domain Driven Design and Model Driven Software Development
Domain Driven Design and Model Driven Software DevelopmentDomain Driven Design and Model Driven Software Development
Domain Driven Design and Model Driven Software Development
 
CS152 Programming Paradigm
CS152 Programming Paradigm CS152 Programming Paradigm
CS152 Programming Paradigm
 
DSL development
DSL developmentDSL development
DSL development
 

Viewers also liked

Perhimpunan
PerhimpunanPerhimpunan
Perhimpunan
Regina Setiawan
 
Ximmena calderón _mapa conceptual__actividad 1.doc
Ximmena calderón  _mapa conceptual__actividad 1.docXimmena calderón  _mapa conceptual__actividad 1.doc
Ximmena calderón _mapa conceptual__actividad 1.docConstanza Ximena Calderon
 
GTRI.com Splunk for Vmware APP
GTRI.com Splunk for Vmware APPGTRI.com Splunk for Vmware APP
GTRI.com Splunk for Vmware APP
Zivaro Inc
 
Xsmb du doan bong da brazil vs haiti
Xsmb du doan bong da brazil vs haitiXsmb du doan bong da brazil vs haiti
Xsmb du doan bong da brazil vs haiti
bongdatructuyen
 
Class 3 concept maps
Class 3 concept mapsClass 3 concept maps
Class 3 concept maps
tjcarter
 
XIth Statistics Ch – 2 by Neeraj Gupta
XIth Statistics Ch – 2 by Neeraj GuptaXIth Statistics Ch – 2 by Neeraj Gupta
XIth Statistics Ch – 2 by Neeraj Gupta
neerajguptataxclasses
 
ResumeSergioMartinez_Feb112015
ResumeSergioMartinez_Feb112015ResumeSergioMartinez_Feb112015
ResumeSergioMartinez_Feb112015Sergio Martinez
 
Nicholas Orgo_Resume_July 2016
Nicholas Orgo_Resume_July 2016Nicholas Orgo_Resume_July 2016
Nicholas Orgo_Resume_July 2016Nicholas Orgo
 
Zuffo - La mejor forma de extraer el color
Zuffo - La mejor forma de extraer el colorZuffo - La mejor forma de extraer el color
Zuffo - La mejor forma de extraer el color
sanandresvirtual
 
XLAHS
XLAHSXLAHS
XLAHS
bvnrtw
 
XI English Ch – 1 by Neeraj Gupta
XI English Ch – 1 by Neeraj GuptaXI English Ch – 1 by Neeraj Gupta
XI English Ch – 1 by Neeraj Gupta
neerajguptataxclasses
 
EAGES Proceedings - Edwin van Opstal
EAGES Proceedings - Edwin van OpstalEAGES Proceedings - Edwin van Opstal
EAGES Proceedings - Edwin van Opstal
Stephan Aubin
 
EAGES Proceedings - G. Gazuit & Y. Goupil
EAGES Proceedings - G. Gazuit & Y. GoupilEAGES Proceedings - G. Gazuit & Y. Goupil
EAGES Proceedings - G. Gazuit & Y. Goupil
Stephan Aubin
 
SplunkLive! Splunk App for VMware
SplunkLive! Splunk App for VMwareSplunkLive! Splunk App for VMware
SplunkLive! Splunk App for VMwareSplunk
 
Secure Software Distribution in an Adversarial World
Secure Software Distribution in an Adversarial WorldSecure Software Distribution in an Adversarial World
Secure Software Distribution in an Adversarial World
Diogo Mónica
 
DevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudDevOps in Salesforce AppCloud
DevOps in Salesforce AppCloud
rsg00usa
 
NetworkSecurity.ppt
NetworkSecurity.pptNetworkSecurity.ppt
NetworkSecurity.pptDreamMalar
 

Viewers also liked (19)

2nd year B. Com.
2nd year B. Com.2nd year B. Com.
2nd year B. Com.
 
Perhimpunan
PerhimpunanPerhimpunan
Perhimpunan
 
Kate's CV
Kate's CVKate's CV
Kate's CV
 
Ximmena calderón _mapa conceptual__actividad 1.doc
Ximmena calderón  _mapa conceptual__actividad 1.docXimmena calderón  _mapa conceptual__actividad 1.doc
Ximmena calderón _mapa conceptual__actividad 1.doc
 
GTRI.com Splunk for Vmware APP
GTRI.com Splunk for Vmware APPGTRI.com Splunk for Vmware APP
GTRI.com Splunk for Vmware APP
 
Xsmb du doan bong da brazil vs haiti
Xsmb du doan bong da brazil vs haitiXsmb du doan bong da brazil vs haiti
Xsmb du doan bong da brazil vs haiti
 
Class 3 concept maps
Class 3 concept mapsClass 3 concept maps
Class 3 concept maps
 
XIth Statistics Ch – 2 by Neeraj Gupta
XIth Statistics Ch – 2 by Neeraj GuptaXIth Statistics Ch – 2 by Neeraj Gupta
XIth Statistics Ch – 2 by Neeraj Gupta
 
ResumeSergioMartinez_Feb112015
ResumeSergioMartinez_Feb112015ResumeSergioMartinez_Feb112015
ResumeSergioMartinez_Feb112015
 
Nicholas Orgo_Resume_July 2016
Nicholas Orgo_Resume_July 2016Nicholas Orgo_Resume_July 2016
Nicholas Orgo_Resume_July 2016
 
Zuffo - La mejor forma de extraer el color
Zuffo - La mejor forma de extraer el colorZuffo - La mejor forma de extraer el color
Zuffo - La mejor forma de extraer el color
 
XLAHS
XLAHSXLAHS
XLAHS
 
XI English Ch – 1 by Neeraj Gupta
XI English Ch – 1 by Neeraj GuptaXI English Ch – 1 by Neeraj Gupta
XI English Ch – 1 by Neeraj Gupta
 
EAGES Proceedings - Edwin van Opstal
EAGES Proceedings - Edwin van OpstalEAGES Proceedings - Edwin van Opstal
EAGES Proceedings - Edwin van Opstal
 
EAGES Proceedings - G. Gazuit & Y. Goupil
EAGES Proceedings - G. Gazuit & Y. GoupilEAGES Proceedings - G. Gazuit & Y. Goupil
EAGES Proceedings - G. Gazuit & Y. Goupil
 
SplunkLive! Splunk App for VMware
SplunkLive! Splunk App for VMwareSplunkLive! Splunk App for VMware
SplunkLive! Splunk App for VMware
 
Secure Software Distribution in an Adversarial World
Secure Software Distribution in an Adversarial WorldSecure Software Distribution in an Adversarial World
Secure Software Distribution in an Adversarial World
 
DevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudDevOps in Salesforce AppCloud
DevOps in Salesforce AppCloud
 
NetworkSecurity.ppt
NetworkSecurity.pptNetworkSecurity.ppt
NetworkSecurity.ppt
 

Similar to DSL Best Practices

Introduction To MDD
Introduction To MDDIntroduction To MDD
Introduction To MDD
Markus Voelter
 
Build your own Language - Why and How?
Build your own Language - Why and How?Build your own Language - Why and How?
Build your own Language - Why and How?
Markus Voelter
 
Modelling and Programming: Isn’t it all the same?
Modelling and Programming: Isn’t it all the same?Modelling and Programming: Isn’t it all the same?
Modelling and Programming: Isn’t it all the same?
CHOOSE
 
Domain-Specific Software Engineering
Domain-Specific Software EngineeringDomain-Specific Software Engineering
Domain-Specific Software Engineeringelliando dias
 
The Design, Evolution and Use of KernelF
The Design, Evolution and Use of KernelFThe Design, Evolution and Use of KernelF
The Design, Evolution and Use of KernelF
Markus Voelter
 
A Survey on Domain-Specific Languages for Machine.pdfA Sur.docx
A Survey on Domain-Specific Languages for Machine.pdfA Sur.docxA Survey on Domain-Specific Languages for Machine.pdfA Sur.docx
A Survey on Domain-Specific Languages for Machine.pdfA Sur.docx
bartholomeocoombs
 
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
siouxhotornot
 
Markdown - friend or foe?
Markdown - friend or foe?Markdown - friend or foe?
Markdown - friend or foe?
Ellis Pratt
 
DEF CON 23 - Saif el-sherei and etienne stalmans - fuzzing
DEF CON 23 - Saif el-sherei and etienne stalmans - fuzzingDEF CON 23 - Saif el-sherei and etienne stalmans - fuzzing
DEF CON 23 - Saif el-sherei and etienne stalmans - fuzzing
Felipe Prado
 
DSL explained _
DSL explained _DSL explained _
DSL explained _
Dmitry Kandalov
 
Metamorphic Domain-Specific Languages
Metamorphic Domain-Specific LanguagesMetamorphic Domain-Specific Languages
Metamorphic Domain-Specific Languages
University of Rennes, INSA Rennes, Inria/IRISA, CNRS
 
Introducing Language-Oriented Business Applications - Markus Voelter
Introducing Language-Oriented Business Applications - Markus VoelterIntroducing Language-Oriented Business Applications - Markus Voelter
Introducing Language-Oriented Business Applications - Markus Voelter
JAXLondon2014
 
How does intellisense work?
How does intellisense work?How does intellisense work?
How does intellisense work?
Adam Friedman
 
Challenges In Dsl Design
Challenges In Dsl DesignChallenges In Dsl Design
Challenges In Dsl DesignSven Efftinge
 
Large Language Models Bootcamp
Large Language Models BootcampLarge Language Models Bootcamp
Large Language Models Bootcamp
Data Science Dojo
 
Generic Tools, Specific Laguages
Generic Tools, Specific LaguagesGeneric Tools, Specific Laguages
Generic Tools, Specific Laguages
Markus Voelter
 
Bdd and dsl как способ построения коммуникации на проекте
Bdd and dsl как способ построения коммуникации на проектеBdd and dsl как способ построения коммуникации на проекте
Bdd and dsl как способ построения коммуникации на проектеISsoft
 
BDD or DSL как способ построения коммуникации на проекте - опыт комплексного ...
BDD or DSL как способ построения коммуникации на проекте - опыт комплексного ...BDD or DSL как способ построения коммуникации на проекте - опыт комплексного ...
BDD or DSL как способ построения коммуникации на проекте - опыт комплексного ...
SQALab
 
Spark NLP: State of the Art Natural Language Processing at Scale
Spark NLP: State of the Art Natural Language Processing at ScaleSpark NLP: State of the Art Natural Language Processing at Scale
Spark NLP: State of the Art Natural Language Processing at Scale
Databricks
 

Similar to DSL Best Practices (20)

Introduction To MDD
Introduction To MDDIntroduction To MDD
Introduction To MDD
 
Antlr Conexaojava
Antlr ConexaojavaAntlr Conexaojava
Antlr Conexaojava
 
Build your own Language - Why and How?
Build your own Language - Why and How?Build your own Language - Why and How?
Build your own Language - Why and How?
 
Modelling and Programming: Isn’t it all the same?
Modelling and Programming: Isn’t it all the same?Modelling and Programming: Isn’t it all the same?
Modelling and Programming: Isn’t it all the same?
 
Domain-Specific Software Engineering
Domain-Specific Software EngineeringDomain-Specific Software Engineering
Domain-Specific Software Engineering
 
The Design, Evolution and Use of KernelF
The Design, Evolution and Use of KernelFThe Design, Evolution and Use of KernelF
The Design, Evolution and Use of KernelF
 
A Survey on Domain-Specific Languages for Machine.pdfA Sur.docx
A Survey on Domain-Specific Languages for Machine.pdfA Sur.docxA Survey on Domain-Specific Languages for Machine.pdfA Sur.docx
A Survey on Domain-Specific Languages for Machine.pdfA Sur.docx
 
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
Sioux Hot-or-Not: Model Driven Software Development (Markus Voelter)
 
Markdown - friend or foe?
Markdown - friend or foe?Markdown - friend or foe?
Markdown - friend or foe?
 
DEF CON 23 - Saif el-sherei and etienne stalmans - fuzzing
DEF CON 23 - Saif el-sherei and etienne stalmans - fuzzingDEF CON 23 - Saif el-sherei and etienne stalmans - fuzzing
DEF CON 23 - Saif el-sherei and etienne stalmans - fuzzing
 
DSL explained _
DSL explained _DSL explained _
DSL explained _
 
Metamorphic Domain-Specific Languages
Metamorphic Domain-Specific LanguagesMetamorphic Domain-Specific Languages
Metamorphic Domain-Specific Languages
 
Introducing Language-Oriented Business Applications - Markus Voelter
Introducing Language-Oriented Business Applications - Markus VoelterIntroducing Language-Oriented Business Applications - Markus Voelter
Introducing Language-Oriented Business Applications - Markus Voelter
 
How does intellisense work?
How does intellisense work?How does intellisense work?
How does intellisense work?
 
Challenges In Dsl Design
Challenges In Dsl DesignChallenges In Dsl Design
Challenges In Dsl Design
 
Large Language Models Bootcamp
Large Language Models BootcampLarge Language Models Bootcamp
Large Language Models Bootcamp
 
Generic Tools, Specific Laguages
Generic Tools, Specific LaguagesGeneric Tools, Specific Laguages
Generic Tools, Specific Laguages
 
Bdd and dsl как способ построения коммуникации на проекте
Bdd and dsl как способ построения коммуникации на проектеBdd and dsl как способ построения коммуникации на проекте
Bdd and dsl как способ построения коммуникации на проекте
 
BDD or DSL как способ построения коммуникации на проекте - опыт комплексного ...
BDD or DSL как способ построения коммуникации на проекте - опыт комплексного ...BDD or DSL как способ построения коммуникации на проекте - опыт комплексного ...
BDD or DSL как способ построения коммуникации на проекте - опыт комплексного ...
 
Spark NLP: State of the Art Natural Language Processing at Scale
Spark NLP: State of the Art Natural Language Processing at ScaleSpark NLP: State of the Art Natural Language Processing at Scale
Spark NLP: State of the Art Natural Language Processing at Scale
 

More from Markus Voelter

Consulting
ConsultingConsulting
Consulting
Markus Voelter
 
Deklarative Smart Contracts
Deklarative Smart ContractsDeklarative Smart Contracts
Deklarative Smart Contracts
Markus Voelter
 
Using language workbenches and domain-specific languages for safety-critical ...
Using language workbenches and domain-specific languages for safety-critical ...Using language workbenches and domain-specific languages for safety-critical ...
Using language workbenches and domain-specific languages for safety-critical ...
Markus Voelter
 
What's Missing in Language Workbenches
What's Missing in Language WorkbenchesWhat's Missing in Language Workbenches
What's Missing in Language Workbenches
Markus Voelter
 
How Domains Shape Languages
 How Domains Shape Languages How Domains Shape Languages
How Domains Shape Languages
Markus Voelter
 
Why Modeling Suck Sucks
Why Modeling Suck SucksWhy Modeling Suck Sucks
Why Modeling Suck Sucks
Markus Voelter
 
The future of DSLs - functions and formal methods
The future of DSLs - functions and formal methodsThe future of DSLs - functions and formal methods
The future of DSLs - functions and formal methods
Markus Voelter
 
Lessons Learned from building mbeddr
Lessons Learned from building mbeddrLessons Learned from building mbeddr
Lessons Learned from building mbeddr
Markus Voelter
 
Generic Tools - Specific Languages (PhD Defense Slides)
Generic Tools - Specific Languages (PhD Defense Slides)Generic Tools - Specific Languages (PhD Defense Slides)
Generic Tools - Specific Languages (PhD Defense Slides)
Markus Voelter
 
Language-Oriented Business Applications
Language-Oriented Business ApplicationsLanguage-Oriented Business Applications
Language-Oriented Business Applications
Markus Voelter
 
Faszination Segelfliegen
Faszination SegelfliegenFaszination Segelfliegen
Faszination Segelfliegen
Markus Voelter
 
Professional Podcasting Guide
Professional Podcasting GuideProfessional Podcasting Guide
Professional Podcasting Guide
Markus Voelter
 
Fundamentals Of Software Architecture
Fundamentals Of Software ArchitectureFundamentals Of Software Architecture
Fundamentals Of Software Architecture
Markus Voelter
 
Architecture As Language
Architecture As LanguageArchitecture As Language
Architecture As Language
Markus Voelter
 
Model-Driven Development in the context of Software Product Lines
Model-Driven Development in the context of Software Product LinesModel-Driven Development in the context of Software Product Lines
Model-Driven Development in the context of Software Product Lines
Markus Voelter
 
Trends In Languages 2010
Trends In Languages 2010Trends In Languages 2010
Trends In Languages 2010
Markus Voelter
 
Visual Profile - Markus Voelter, Jan 1, 2009
Visual Profile - Markus Voelter, Jan 1, 2009Visual Profile - Markus Voelter, Jan 1, 2009
Visual Profile - Markus Voelter, Jan 1, 2009
Markus Voelter
 

More from Markus Voelter (17)

Consulting
ConsultingConsulting
Consulting
 
Deklarative Smart Contracts
Deklarative Smart ContractsDeklarative Smart Contracts
Deklarative Smart Contracts
 
Using language workbenches and domain-specific languages for safety-critical ...
Using language workbenches and domain-specific languages for safety-critical ...Using language workbenches and domain-specific languages for safety-critical ...
Using language workbenches and domain-specific languages for safety-critical ...
 
What's Missing in Language Workbenches
What's Missing in Language WorkbenchesWhat's Missing in Language Workbenches
What's Missing in Language Workbenches
 
How Domains Shape Languages
 How Domains Shape Languages How Domains Shape Languages
How Domains Shape Languages
 
Why Modeling Suck Sucks
Why Modeling Suck SucksWhy Modeling Suck Sucks
Why Modeling Suck Sucks
 
The future of DSLs - functions and formal methods
The future of DSLs - functions and formal methodsThe future of DSLs - functions and formal methods
The future of DSLs - functions and formal methods
 
Lessons Learned from building mbeddr
Lessons Learned from building mbeddrLessons Learned from building mbeddr
Lessons Learned from building mbeddr
 
Generic Tools - Specific Languages (PhD Defense Slides)
Generic Tools - Specific Languages (PhD Defense Slides)Generic Tools - Specific Languages (PhD Defense Slides)
Generic Tools - Specific Languages (PhD Defense Slides)
 
Language-Oriented Business Applications
Language-Oriented Business ApplicationsLanguage-Oriented Business Applications
Language-Oriented Business Applications
 
Faszination Segelfliegen
Faszination SegelfliegenFaszination Segelfliegen
Faszination Segelfliegen
 
Professional Podcasting Guide
Professional Podcasting GuideProfessional Podcasting Guide
Professional Podcasting Guide
 
Fundamentals Of Software Architecture
Fundamentals Of Software ArchitectureFundamentals Of Software Architecture
Fundamentals Of Software Architecture
 
Architecture As Language
Architecture As LanguageArchitecture As Language
Architecture As Language
 
Model-Driven Development in the context of Software Product Lines
Model-Driven Development in the context of Software Product LinesModel-Driven Development in the context of Software Product Lines
Model-Driven Development in the context of Software Product Lines
 
Trends In Languages 2010
Trends In Languages 2010Trends In Languages 2010
Trends In Languages 2010
 
Visual Profile - Markus Voelter, Jan 1, 2009
Visual Profile - Markus Voelter, Jan 1, 2009Visual Profile - Markus Voelter, Jan 1, 2009
Visual Profile - Markus Voelter, Jan 1, 2009
 

Recently uploaded

SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
Peter Spielvogel
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
UiPathCommunity
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
UiPathCommunity
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 

Recently uploaded (20)

SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfSAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdf
 
UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..UiPath Community Day Dubai: AI at Work..
UiPath Community Day Dubai: AI at Work..
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 

DSL Best Practices