Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

old_Lightning Lecture MICS2

slides used to present Lightning to MICS2 students (nov 2013)
by

Loïc Gammaitoni

on 4 November 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of old_Lightning Lecture MICS2

Lightning
Loïc Gammaitoni
What is Lightning ?
A look into the future ...
Project
Lightning in a few words ...
Meant to define flexible visualization to depict instance models
A standalone academic tool based on Alloy
Time to have fun
The Theory behind
What is a Modelling Language ?
A language designed to express precisely given properties of a system
...
...
Modelling Languages are generally composed of
Abstract Syntax
Defines the set of valid models of the language


Done through the declaration of types, relations and constraints
(sig)
(fields)
(facts)
Concrete Syntax
Defines how to present models to the user
Done through the definition of :
Semantics
Defines the behavior and meaning of models


An alphabet
Binding rules
Scanning and parsing rules
Abstraction rules
cf A.Kleppe
ASM
Viz
Viz
ASM
Viz
ASM
Lightning does not consider semantics
Hypothesis

A Modelling Language can be fully defined by a set of Alloy modules
Abstract Syntax ?
Semantics ?
Concrete Syntax ?
An alphabet
Binding rules
ASM
Viz
Viz
ASM
Viz
ASM
Scanning and parsing rules
Abstraction rules
NEEDED TO DISPLAY
NEEDED TO EDIT
VISUALIZATION DEFINITION
Alphabet
is defined by a
VLM
(Visual Language Model)
Binding rules
are formalized by Alloy Constraints in a module we call
Bridge

VLM
The Visual Language Model
Bridge
An approach towards visualization
VISUALIZATION CONCERNS
How to visualize ASM instances using this VLM ?
Mapping Constraints
How to express those mappings in Alloy?
Problem 1
How to generate a VLM instance GIVEN an ASM instance
Problem 2
Ternary Relations
ASM
sig Class {}

run{}
one sig Bridge{
map : Class one -> one RECTANGLE
}

run{}
Bridge
Facts
ASM
sig Class {
}
run{}
Bridge
one sig Bridge{
map : Class one -> one RECTANGLE
}

fact nameRendering{
all c : Class| one t : Text | Bridge.map[c].composedOf[0]=t and t.binTextLabel=c and t.isBold=True and
t.color=Black and t.isItalic=False
}

run{}
Promotion Approach
Principle :
Fix the ASM part so that it corresponds to the given instance
sig Class {
attributes : disj set Attribute,
}
sig Attribute{
}

ASM
abstract
sig Class{
attributes : disj set Attribute,
}
abstract
sig Attribute{}

sig Class {
attributes : disj set Attribute,
}
sig Attribute{
}

one
sig Attribute_0
extends Attribute
{}{}
one
sig Attribute_1
extends

Attribute
{}{}
one
sig Attribute_2
extends

Attribute
{}{}

one
sig Class_0
extends

Class
{}
{ attributes=Attribute_0 + Attribute_1 + Attribute_2 }
Promotion
Approach
(optional)
PROMOTED
FIXED
Current Research Associated to Lightning
Reduce Time Complexity
Visualization to Full CS support
MAKING BRIDGE FUNCTIONAL
VLM
instance
ASM
instance
BRIDGE
Transform Alloy to something functional
Define A "functional" interpretation of Alloy constraints
Download the Tool
http://lightning.gforge.uni.lu
WARMUP
check ASM
Familiarize yourself with the ASM of this language (right click/View MetaModel)
Import an Example
File / import / Example Language / MyClassDiagramLanguage
check Bridge
Open the bridge and try to understand how mapping is working
Generate Instances
right click on the Language and generate instances
TASKS
Modify the ASM so that a class can extend another one
Change the bridge to visualize an extend relation by an arrow labeled "extends" between the two corresponding classes
You will need to change:
_The scope of the Bridge
_The noTrashRendering Fact
_The multiplicity Constraints of map2
Questions ?
WELL THEN ... THANKS !
gl; hf
loic.gammaitoni@uni.lu
Full transcript