SlideShare a Scribd company logo
1 of 50
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09






4.4
    N. Shimizu (chikoski@gmail.com / @chikoski)
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




•                    #
•            #
                 #
                         #
•        #
                                                                   #
                                                               #
                                                      #
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




Alloy


•       #
• 
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




4.4.1:
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




     #


•                                        #
•                #
•        #
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




        overlap)


• A1 A        A1        A                                        #
•      A1 A                                   #
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




sig Tea {}#
sig IndiaTea, ChinaTea extends Tea{}#
sig Assam, Darjeeling extends IndiaTea{}#
sig Keemun, Lapsang extends ChinaTea{}
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




4.4.2:
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




•        #
•                    #
• 
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




1.                                                           #
2. 
      #
3. 
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




1.
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




•                                                      #
•    #
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




2.


sig Directory extends Object{#
     #contents: set Object#
}#
#
Directory -> Object                                                    #
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




3.

all d: Directory - Root | some d.~contents#
#
d    Directory               #
d.~contents      Directory                                    #
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




• p      P1 -> … -> Pn                  #
• q      Q1 -> … -> Qm                      #
•       Pn          Q1                                #
• p.q        P1 -> … -> Pn-1 -> Q2 -> … -> Qm
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




s.r


• s r                #


• s     #
• r     #
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




4.4.3:
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




•                                    #
•        #
                           #
         #
• 
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




sig Tea { origin: Country }#
sig Country {}#
#
• origin + Country                         #
     origin          2#
     Country              1#
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




sig Object {}#
sig Directory extends Object {contents: set Object }#
sig File extends Object {}#
sig Alias extends File { to: Object}#
#
•  Directory & Alias#
      Directory Alias          #
      Directory & Alias    #
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




                                                                                        2
sig Object {}#
sig Directory extends Object {contents: set Object }#
sig File extends Object {}#
sig Alias extends File { to: Object}#
#
•  Alias.contents#
      Alias                     #
      contents   Directory -> Object Alias Directory                               #
N. Shimizu (chikoski@gmail.com / @chikoski)       2011/09/09




• Alias - Object#
•                                                #
• A        Alias O      Object                                     

 A-O
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




sig Object {}#
sig Directory extends Object{contents : set
File + Directory}#
sig File extends Object{}#
sig Alias { to :File + Directory }
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




• (Directory + Alias).contents#
    Alias   contents                                    #
    Alias                                                                 #
• Directory – Alias#
    Alias   Directory                #
    Alias                                                                  #
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




•    #
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




•                                      #
• 
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




•                                            #
•                                #


•                                            #
N. Shimizu (chikoski@gmail.com / @chikoski)     2011/09/09




•    #
•                                                

                                                     

                                                     #
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




sig Object, Block {}#
sig Directory extends Object {#
         contents: set Object}#
sig File extends Object { contends: set Block}#
#
all f: File | some f.contents#
    •     contents   Directory                                 f.contents
                        #
    •            contents   File
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




sig Object, Block {}#
sig Directory extends Object {#
         contents: set Object}#
sig File extends Object { contends: set Block}#
#
all o Object | some o.contents#
    •        contents   Directory                        File
                    #
    •                                                    #
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




sig Singer { band: Band}#
sig RadioStation { band: Freq}#
sig Band, Freq {}#
no disj s, s’ : RadioStation | some s.band &
s’.band#
  •      band RadioStation band#
  •                                                  #
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




sig Singer { band: Band}#
sig RadioStation { band: Freq}#
sig Band, Freq {}#
all b: Band | some b.~band#
  •      band Singer band#
  •                                                 #
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




band


• all b: Band | some b.~band#
• all b: Band | some band.b#
• all b: Band | some s: Singer | s -> b in band
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




sig Object, Block {}#
sig Directory extends Object { #
         contents: set Object}#
sig File extends Objecct {#
         contents : set Block}#
no o: Object | o in o.contents#
   •    contents Directory                                     #
   •    File         o.contents   Block                            

        Block Object                                       

        o in o.contents
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




sig Node { next: Node, value: Value one ->
Time}#
sig Time { next: Time}#
sig Value {}#
fact { all n: Node | Node in n.^next}#
  •    next   Node             #
  •    n             #
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




sig Node { next: Node, value: Value one ->
Time}#
sig Time { next: Time}#
sig Value {}#
fact { no ^next | iden}#
   •            #
   •    Time               Node
                    #
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




sig Node { next: Node, value: Value one ->
Time}#
sig Time { next: Time}#
sig Value {}#
fact { no ^(Time <: next) | iden}#
  •    <:             next                         Time                     #
  •    next   Time                                                 #
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




                              

N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




#
                      #
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




sig Object {}#
sig Directory in Object {#
     #contains: some Object#
}
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




sig Object, Block {}#
sig Directory in Object {#
      #contains: some Object#
}#
sig File extends Object{#
      #contains: some Block#
}#
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




#
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




Alloy                                        #
Java
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




Alloy              #
#
x. f, f.~x, x(f + g)                 #
                       Java
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




                                                         #
                                             #

       #
•  S <: f #
•  (S -> univ) & f
N. Shimizu (chikoski@gmail.com / @chikoski)   2011/09/09




•                    #
•            #
                 #
                         #
•        #
                                                                   #
                                                               #
                                                      #

More Related Content

More from Noritada Shimizu

More from Noritada Shimizu (20)

20160803 devrel
20160803 devrel20160803 devrel
20160803 devrel
 
20160713 webvr
20160713 webvr20160713 webvr
20160713 webvr
 
20160601 devtools
20160601 devtools20160601 devtools
20160601 devtools
 
20150512 webgl-off-the-main-thread
20150512 webgl-off-the-main-thread20150512 webgl-off-the-main-thread
20150512 webgl-off-the-main-thread
 
20160428 html5jwebplat
20160428 html5jwebplat20160428 html5jwebplat
20160428 html5jwebplat
 
asm.js x emscripten: The foundation of the next level Web games
asm.js x emscripten: The foundation of the next level Web gamesasm.js x emscripten: The foundation of the next level Web games
asm.js x emscripten: The foundation of the next level Web games
 
Mozilla とブラウザゲーム
Mozilla とブラウザゲームMozilla とブラウザゲーム
Mozilla とブラウザゲーム
 
2016 gunma.web games-and-asm.js
2016 gunma.web games-and-asm.js2016 gunma.web games-and-asm.js
2016 gunma.web games-and-asm.js
 
20151224-games
20151224-games20151224-games
20151224-games
 
20151128 firefoxos-handson
20151128 firefoxos-handson20151128 firefoxos-handson
20151128 firefoxos-handson
 
20151117 devtools
20151117 devtools20151117 devtools
20151117 devtools
 
Inspection & Tweak: Firefox を使ったフロント開発
Inspection & Tweak: Firefox を使ったフロント開発Inspection & Tweak: Firefox を使ったフロント開発
Inspection & Tweak: Firefox を使ったフロント開発
 
20150822 osc-shimane
20150822 osc-shimane20150822 osc-shimane
20150822 osc-shimane
 
20150829 firefox-os-handson
20150829 firefox-os-handson20150829 firefox-os-handson
20150829 firefox-os-handson
 
20150829 firefox-os
20150829 firefox-os20150829 firefox-os
20150829 firefox-os
 
20150727 Development tools for Firefox OS apps
20150727 Development tools for Firefox OS apps20150727 Development tools for Firefox OS apps
20150727 Development tools for Firefox OS apps
 
Firefox OS でアプリを作るときに気をつけたい N 個のこと
Firefox OS  でアプリを作るときに気をつけたい N 個のことFirefox OS  でアプリを作るときに気をつけたい N 個のこと
Firefox OS でアプリを作るときに気をつけたい N 個のこと
 
Firefox OSアプリ開発ハンズオン(Hello World編)
Firefox OSアプリ開発ハンズオン(Hello World編)Firefox OSアプリ開発ハンズオン(Hello World編)
Firefox OSアプリ開発ハンズオン(Hello World編)
 
WebVR(html5j TV部、WebVRとかVRのUIとか勉強会)
WebVR(html5j TV部、WebVRとかVRのUIとか勉強会)WebVR(html5j TV部、WebVRとかVRのUIとか勉強会)
WebVR(html5j TV部、WebVRとかVRのUIとか勉強会)
 
Application submission, management and manetization in Firefox Marketplace
Application submission, management and manetization in Firefox MarketplaceApplication submission, management and manetization in Firefox Marketplace
Application submission, management and manetization in Firefox Marketplace
 

Recently uploaded

Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 
CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)
Wonjun Hwang
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 

Recently uploaded (20)

How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)CORS (Kitworks Team Study 양다윗 발표자료 240510)
CORS (Kitworks Team Study 양다윗 발표자료 240510)
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
How to Check GPS Location with a Live Tracker in Pakistan
How to Check GPS Location with a Live Tracker in PakistanHow to Check GPS Location with a Live Tracker in Pakistan
How to Check GPS Location with a Live Tracker in Pakistan
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
Generative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdfGenerative AI Use Cases and Applications.pdf
Generative AI Use Cases and Applications.pdf
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptx
 

Alloy20110909