SlideShare a Scribd company logo
TypeSystem Aspect checking rules
checking rules implement
semantic error detection
either concept or pattern condition
whether the rule replaces rules associated with super-concepts
block of statements to check error conditions and report errors/warnings
message
reference to the node that should be
highlighted as the source of error
editor in use
1
2
3
TypeSystem Aspect inference rules
calculate the types of
instance nodes of a concept
condition when the inference rule is active
either concept or pattern condition
not an “assignment operator”
2
3 4
quotation – to create nodes of
concepts of a target language
BaseLanguage/Java
concept “string type”
quotation is projected
in target language
type of a TextField node is
BaseLanguage/Java’s string
51
TypeSystem Aspect inference rules
type of an IntegerValue node
is BaseLanguage/Java’s int
type of a NumberField node is int
integer value  number field
type of a BooleanValue node is boolean type of a ToggleField node is boolean
Boolean value toggle field
integer
Boolean
TypeSystem Aspect inference rules
type of an FieldReference node
is the type of the field it refers to
establishes a restriction for
a type of a certain node
type of assigned value
should be a (weak) subtype
of type of assignee
still an inference rule
editor in use editor in use
1 2
Type inference concept UserField
instances of entities –
fields A x, where A is entity
type of user field is a name of an entity
extends abstract concept Field and thus
can be used whenever a field is expected
editor in use
fields _a and _b are of type MyEntity
1 2
editor for concept UserField
type checking has to be
implemented separately
now all user fields are
implicitly of the same type
TypeSystem Aspect concept UserField
type of user field is type of the
entity to which userType refers
editor in use
1 2
type of an entity is its name create a “static entity”
with the same name
“return” this “static entity”
as the type of the entity
Physical units
editor in use
extends concept IntegerValue
style of projected cell “unit”
Inspector
extends abstract concept Field
1
2
4
5
3 6
TypeSystem Aspect physical units
type of an entity is its name
TypeSystem Aspect physical units

More Related Content

PDF
JetBrains MPS: Editor Aspect
PDF
JetBrains MPS: Structure Aspect
PDF
External domain-specific languages
PPTX
Module 3 : using value type variables
PDF
Xtext: writing a grammar
PDF
Projectional editing
PDF
Xtext: Eclipse Modeling Framework
PPTX
12pointerin c#
JetBrains MPS: Editor Aspect
JetBrains MPS: Structure Aspect
External domain-specific languages
Module 3 : using value type variables
Xtext: writing a grammar
Projectional editing
Xtext: Eclipse Modeling Framework
12pointerin c#

What's hot (20)

PDF
Xtext: code generation
PPT
Literals,variables,datatype in C#
PPTX
Computer programming - variables constants operators expressions and statements
DOCX
Dot net programming concept
PPTX
C# lecture 2: Literals , Variables and Data Types in C#
PPT
8 if
PPTX
Taxonomic keys
PPTX
Taxonomic key
PDF
Design concerns for concrete syntax
PPTX
Bracket key and indented key
PDF
Learn C# Programming - Data Types & Type Conversion
DOCX
C# concepts
PPTX
C# Value Data Types and Reference Data Types
PPTX
Keyword Presentation
PPS
Dynamic dichotomous keys
PPT
decisions
PPTX
Tokens in C++
DOCX
Unit 1 question and answer
PPT
Operators and Expressions in C#
Xtext: code generation
Literals,variables,datatype in C#
Computer programming - variables constants operators expressions and statements
Dot net programming concept
C# lecture 2: Literals , Variables and Data Types in C#
8 if
Taxonomic keys
Taxonomic key
Design concerns for concrete syntax
Bracket key and indented key
Learn C# Programming - Data Types & Type Conversion
C# concepts
C# Value Data Types and Reference Data Types
Keyword Presentation
Dynamic dichotomous keys
decisions
Tokens in C++
Unit 1 question and answer
Operators and Expressions in C#
Ad

Similar to JetBrains MPS: Typesystem Aspect (20)

PPTX
Chapter 5 - Type Cheaking.pptxkgjkh,lhj,lghjhklj
PDF
Xtext: type checking and scoping
PPTX
Visual Basic User Interface -IV
PPT
Lesson11 more behavioural patterns
PPT
Ap Power Point Chpt5
PPT
Design Patterns
PPTX
Java Basics
PPT
Introduction of C# BY Adarsh Singh
PPSX
Net framework session01
PPT
PPTX
Mule expression
PPT
Omg Fundamental Certification 4
PPTX
SE Software Requirements Engineering .pptx
PPTX
15reflection in c#
DOCX
C# language basics (Visual Studio)
DOCX
C# language basics (Visual studio)
PPTX
c & c++ logic building concepts practice.pptx
PPTX
GUI Programming in JAVA (Using Netbeans) - A Review
PPT
Ap Power Point Chpt4
Chapter 5 - Type Cheaking.pptxkgjkh,lhj,lghjhklj
Xtext: type checking and scoping
Visual Basic User Interface -IV
Lesson11 more behavioural patterns
Ap Power Point Chpt5
Design Patterns
Java Basics
Introduction of C# BY Adarsh Singh
Net framework session01
Mule expression
Omg Fundamental Certification 4
SE Software Requirements Engineering .pptx
15reflection in c#
C# language basics (Visual Studio)
C# language basics (Visual studio)
c & c++ logic building concepts practice.pptx
GUI Programming in JAVA (Using Netbeans) - A Review
Ap Power Point Chpt4
Ad

More from Mikhail Barash (19)

PDF
MODELS 2020 Tutorial on MPS - Supplementary Material 8 - TextGen
PDF
MODELS 2020 Tutorial on MPS - Supplementary Material 5 - Creating concept Ent...
PDF
MODELS 2020 Tutorial on MPS - Supplementary Material 3 - Creating editors for...
PDF
MODELS 2020 Tutorial on MPS - Supplementary Material 1 - Creating concept Entity
PDF
Towards a mnemonic classification of software languages
PDF
Worst practices for domain-specific modelling
PPTX
An ABC of JetBrains MPS
PDF
KernelF: a functional core for domain-specific languages in JetBrains MPS
PDF
Reflections on teaching JetBrains MPS within a university course
PDF
Language Workbench Language Wheel
PDF
DSL development
PDF
Design dimensions of DSLs
PDF
Xtext: validation, quickfixes, custom formatting
PDF
Xtend Programming Language
PDF
Language Workbenches
PDF
Implementing DSLs in practice
PDF
Internal domain-specific languages
PDF
DSLs: what, why, how
PDF
Zoo of domain-specific languages
MODELS 2020 Tutorial on MPS - Supplementary Material 8 - TextGen
MODELS 2020 Tutorial on MPS - Supplementary Material 5 - Creating concept Ent...
MODELS 2020 Tutorial on MPS - Supplementary Material 3 - Creating editors for...
MODELS 2020 Tutorial on MPS - Supplementary Material 1 - Creating concept Entity
Towards a mnemonic classification of software languages
Worst practices for domain-specific modelling
An ABC of JetBrains MPS
KernelF: a functional core for domain-specific languages in JetBrains MPS
Reflections on teaching JetBrains MPS within a university course
Language Workbench Language Wheel
DSL development
Design dimensions of DSLs
Xtext: validation, quickfixes, custom formatting
Xtend Programming Language
Language Workbenches
Implementing DSLs in practice
Internal domain-specific languages
DSLs: what, why, how
Zoo of domain-specific languages

Recently uploaded (20)

PPTX
Transform Your Business with a Software ERP System
PPTX
Computer Software and OS of computer science of grade 11.pptx
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Digital Strategies for Manufacturing Companies
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
medical staffing services at VALiNTRY
PPTX
ai tools demonstartion for schools and inter college
PDF
System and Network Administration Chapter 2
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Designing Intelligence for the Shop Floor.pdf
PPTX
L1 - Introduction to python Backend.pptx
Transform Your Business with a Software ERP System
Computer Software and OS of computer science of grade 11.pptx
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
wealthsignaloriginal-com-DS-text-... (1).pdf
Digital Strategies for Manufacturing Companies
Understanding Forklifts - TECH EHS Solution
Reimagine Home Health with the Power of Agentic AI​
Softaken Excel to vCard Converter Software.pdf
Design an Analysis of Algorithms I-SECS-1021-03
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
VVF-Customer-Presentation2025-Ver1.9.pptx
Which alternative to Crystal Reports is best for small or large businesses.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
medical staffing services at VALiNTRY
ai tools demonstartion for schools and inter college
System and Network Administration Chapter 2
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Designing Intelligence for the Shop Floor.pdf
L1 - Introduction to python Backend.pptx

JetBrains MPS: Typesystem Aspect

  • 1. TypeSystem Aspect checking rules checking rules implement semantic error detection either concept or pattern condition whether the rule replaces rules associated with super-concepts block of statements to check error conditions and report errors/warnings message reference to the node that should be highlighted as the source of error editor in use 1 2 3
  • 2. TypeSystem Aspect inference rules calculate the types of instance nodes of a concept condition when the inference rule is active either concept or pattern condition not an “assignment operator” 2 3 4 quotation – to create nodes of concepts of a target language BaseLanguage/Java concept “string type” quotation is projected in target language type of a TextField node is BaseLanguage/Java’s string 51
  • 3. TypeSystem Aspect inference rules type of an IntegerValue node is BaseLanguage/Java’s int type of a NumberField node is int integer value  number field type of a BooleanValue node is boolean type of a ToggleField node is boolean Boolean value toggle field integer Boolean
  • 4. TypeSystem Aspect inference rules type of an FieldReference node is the type of the field it refers to establishes a restriction for a type of a certain node type of assigned value should be a (weak) subtype of type of assignee still an inference rule editor in use editor in use 1 2
  • 5. Type inference concept UserField instances of entities – fields A x, where A is entity type of user field is a name of an entity extends abstract concept Field and thus can be used whenever a field is expected editor in use fields _a and _b are of type MyEntity 1 2 editor for concept UserField type checking has to be implemented separately now all user fields are implicitly of the same type
  • 6. TypeSystem Aspect concept UserField type of user field is type of the entity to which userType refers editor in use 1 2 type of an entity is its name create a “static entity” with the same name “return” this “static entity” as the type of the entity
  • 7. Physical units editor in use extends concept IntegerValue style of projected cell “unit” Inspector extends abstract concept Field 1 2 4 5 3 6
  • 8. TypeSystem Aspect physical units type of an entity is its name