SlideShare ist ein Scribd-Unternehmen logo
1 von 312
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?

Weitere ähnliche Inhalte

Was ist angesagt?

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
 
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 WorldsIstvan 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 2005mohammad shayestehfar
 
Model-driven Development of Model Transformations
Model-driven Development of Model TransformationsModel-driven Development of Model Transformations
Model-driven Development of Model TransformationsPieter 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 DevelopmentBahram Maravandi
 
CS152 Programming Paradigm
CS152 Programming Paradigm CS152 Programming Paradigm
CS152 Programming Paradigm Kaya Ota
 

Was ist angesagt? (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
 

Andere mochten auch

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 APPZivaro 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 haitibongdatructuyen
 
Class 3 concept maps
Class 3 concept mapsClass 3 concept maps
Class 3 concept mapstjcarter
 
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 Guptaneerajguptataxclasses
 
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 colorsanandresvirtual
 
EAGES Proceedings - Edwin van Opstal
EAGES Proceedings - Edwin van OpstalEAGES Proceedings - Edwin van Opstal
EAGES Proceedings - Edwin van OpstalStephan Aubin
 
EAGES Proceedings - G. Gazuit & Y. Goupil
EAGES Proceedings - G. Gazuit & Y. GoupilEAGES Proceedings - G. Gazuit & Y. Goupil
EAGES Proceedings - G. Gazuit & Y. GoupilStephan 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 WorldDiogo Mónica
 
DevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudDevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudrsg00usa
 
NetworkSecurity.ppt
NetworkSecurity.pptNetworkSecurity.ppt
NetworkSecurity.pptDreamMalar
 

Andere mochten auch (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
 

Ähnlich wie DSL Best Practices

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 KernelFMarkus 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.docxbartholomeocoombs
 
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 - fuzzingFelipe Prado
 
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 VoelterJAXLondon2014
 
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 BootcampData Science Dojo
 
Generic Tools, Specific Laguages
Generic Tools, Specific LaguagesGeneric Tools, Specific Laguages
Generic Tools, Specific LaguagesMarkus 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 ScaleDatabricks
 

Ähnlich wie 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
 

Mehr von Markus Voelter

Deklarative Smart Contracts
Deklarative Smart ContractsDeklarative Smart Contracts
Deklarative Smart ContractsMarkus 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 WorkbenchesMarkus Voelter
 
How Domains Shape Languages
 How Domains Shape Languages How Domains Shape Languages
How Domains Shape LanguagesMarkus Voelter
 
Why Modeling Suck Sucks
Why Modeling Suck SucksWhy Modeling Suck Sucks
Why Modeling Suck SucksMarkus 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 methodsMarkus Voelter
 
Lessons Learned from building mbeddr
Lessons Learned from building mbeddrLessons Learned from building mbeddr
Lessons Learned from building mbeddrMarkus 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 ApplicationsMarkus Voelter
 
Faszination Segelfliegen
Faszination SegelfliegenFaszination Segelfliegen
Faszination SegelfliegenMarkus Voelter
 
Professional Podcasting Guide
Professional Podcasting GuideProfessional Podcasting Guide
Professional Podcasting GuideMarkus Voelter
 
Fundamentals Of Software Architecture
Fundamentals Of Software ArchitectureFundamentals Of Software Architecture
Fundamentals Of Software ArchitectureMarkus Voelter
 
Architecture As Language
Architecture As LanguageArchitecture As Language
Architecture As LanguageMarkus 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 LinesMarkus Voelter
 
Trends In Languages 2010
Trends In Languages 2010Trends In Languages 2010
Trends In Languages 2010Markus 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, 2009Markus Voelter
 

Mehr von 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
 

Kürzlich hochgeladen

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Kürzlich hochgeladen (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

DSL Best Practices