SlideShare una empresa de Scribd logo
1 de 67
N. Shimizu <chikoski@gmail.com>       2011/08/18




                                                                    

Alloy
N. Shimizu (chikoski@gmail.com / @chikoski)
N. Shimizu <chikoski@gmail.com>   2011/08/18




•    #
• 
N. Shimizu <chikoski@gmail.com>   2011/08/18




•                       #
                        #
       50           #
• 6                                             #
            #
                #
N. Shimizu <chikoski@gmail.com>   2011/08/18




https://sites.google.com/site/softwareabstractionsja/
N. Shimizu <chikoski@gmail.com>   2011/08/18




Alloy               Mac OS


• Java 1.5                    #
• Lion     Java                              #
                          #
    http://support.apple.com/kb/DL1421
N. Shimizu <chikoski@gmail.com>   2011/08/18




Alloy   Mac OS
N. Shimizu <chikoski@gmail.com>   2011/08/18




Alloy   Mac OS                (cont.)
N. Shimizu <chikoski@gmail.com>   2011/08/18




Alloy             Mac OS                            (cont.)


•                 .app                                     #
     1.  Finder        #
     2.           +          +a#
     3.                                                #
     4.               .app         #
N. Shimizu <chikoski@gmail.com>   2011/08/18




Alloy          Mac OS                    (cont.)


% mkdir alloy#
% cd alloy#
% mv ~/Downloads/alloy4.2-rc.jar alloy.jar#
% java -jar alloy.jar
N. Shimizu <chikoski@gmail.com>   2011/08/18




Alloy   Mac OS                (cont.)
N. Shimizu <chikoski@gmail.com>   2011/08/18
N. Shimizu <chikoski@gmail.com>   2011/08/18
N. Shimizu <chikoski@gmail.com>   2011/08/18
N. Shimizu <chikoski@gmail.com>   2011/08/18




1.                                              #
2.  ‘Execute’                         #
3. 
                   2         #
4. 
                “Instance”
N. Shimizu <chikoski@gmail.com>   2011/08/18




2.1:
module tour/addressBook1#
sig Name, Addr {}#
sig Book{#
     #addr: Name -> lone Addr#
}#
pred show{}#
run show for 3 but 1 Book
N. Shimizu <chikoski@gmail.com>   2011/08/18




1.  Show             #
2.            ‘Theme’    “Load Sample
   Theem”        #
3.  book/chapter2/theme.thm
N. Shimizu <chikoski@gmail.com>   2011/08/18
N. Shimizu <chikoski@gmail.com>   2011/08/18




3
module tour/addressBook1#
sig Name, Addr {}#
sig Book{#
     #addr: Name -> lone Addr#
}#
pred show{}#
run show for 3 but 1 Book
N. Shimizu <chikoski@gmail.com>   2011/08/18




         b -> n -> a
module tour/addressBook1#
sig Name, Addr {}#
sig Book{#
     #addr: Name -> lone Addr#
}#
pred show{}#
run show for 3 but 1 Book
N. Shimizu <chikoski@gmail.com>   2011/08/18




addr: b -> n -> a
Book	
     Name	
        Addr	
b0	
       n0	
          a0	
b0	
       n1	
          a1	
b0	
       n2	
          a1	
b1	
       n0	
          a2	
b1	
       n3	
          a2	
b1	
       n4	
          a1
N. Shimizu <chikoski@gmail.com>   2011/08/18




module tour/addressBook1#
sig Name, Addr {}#
sig Book{#
     #addr: Name -> lone Addr#
}#
pred show{}#
run show for 3 but 1 Book
N. Shimizu <chikoski@gmail.com>   2011/08/18




module tour/addressBook1#
sig Name, Addr {}#
sig Book{#
     #addr: Name -> lone Addr#
}#
pred show{}#
run show for 3 but 1 Book
N. Shimizu <chikoski@gmail.com>   2011/08/18




             


module tour/addressBook1#
sig Name, Addr {}#
sig Book{#
     #addr: Name -> lone Addr#
}#
pred show{}#
run show for 3 but 1 Book
N. Shimizu <chikoski@gmail.com>   2011/08/18




for
• 
                       #
•                      3#
• for 3 but 1 Book#
                       #
         Book         1#
N. Shimizu <chikoski@gmail.com>   2011/08/18




             


module tour/addressBook1#
sig Name, Addr {}#
sig Book{#
     #addr: Name -> lone Addr#
}#
pred show{}#
run show for 3 but 1 Book
N. Shimizu <chikoski@gmail.com>   2011/08/18




pred show(b: Book){#
    ##(b.addr) > 1#
}
N. Shimizu <chikoski@gmail.com>   2011/08/18




#


pred show(b: Book){#
    ##(b.addr) > 1#
}
N. Shimizu <chikoski@gmail.com>   2011/08/18
N. Shimizu <chikoski@gmail.com>   2011/08/18




pred show(b: Book){#
    ##(b.addr) > 1#
    #some n:Name | #n.(b.addr) > 1#
}
N. Shimizu <chikoski@gmail.com>   2011/08/18




some x: e | F

• e           x          F                              #
• some n:Name | #n.(b.addr) > 1#
    Name              n       #
    #n.(b.addr) > 1       #
N. Shimizu <chikoski@gmail.com>   2011/08/18




addr: b -> n -> a
Book	
     Name	
        Addr	
b0	
       n0	
          a0	
b0	
       n1	
          a1	
b0	
       n2	
          a1	
b1	
       n0	
          a2	
b1	
       n3	
          a2	
b1	
       n4	
          a1
N. Shimizu <chikoski@gmail.com>   2011/08/18




# n.(b.addr) > 1
Book	
     Name	
        Addr	
b0	
       n0	
          a0	
b0	
       n1	
          a1	
b0	
       n2	
          a1
N. Shimizu <chikoski@gmail.com>   2011/08/18
N. Shimizu <chikoski@gmail.com>   2011/08/18




sig Book{#
      #addr: Name -> lone Addr#
}#
pred show(b: Book){#
      ##(b.addr) > 1#
      #some n:Name | #n.(b.addr) > 1#
}
N. Shimizu <chikoski@gmail.com>   2011/08/18




pred show(b: Book){#
    ##(b.addr) > 1#
    ##Name.(b.addr) > 1#
}
N. Shimizu <chikoski@gmail.com>   2011/08/18




pred show(b: Book){#
    ##(b.addr) > 1#
    ##Name.(b.addr) > 1#
}
N. Shimizu <chikoski@gmail.com>   2011/08/18
N. Shimizu <chikoski@gmail.com>   2011/08/18




2.2




pred add (b, b' : Book , n: Name, a:Addr){#
       #b'.addr = b.addr + n -> a#
}
N. Shimizu <chikoski@gmail.com>   2011/08/18




pred showAdd(b, b': Book, n:Name, a:Addr){#
    #add [b, b', n, a]#
    ##Name.(b.addr) > 1#
}
N. Shimizu <chikoski@gmail.com>   2011/08/18




run showAdd for 3 but 2 Book
N. Shimizu <chikoski@gmail.com>   2011/08/18




                                  2 Book




run showAdd for 3 but 2 Book
N. Shimizu <chikoski@gmail.com>   2011/08/18
N. Shimizu <chikoski@gmail.com>   2011/08/18




pred del(b, b': Book, n:Name){#
     #b'.addr = b.addr - n -> Addr#
}
N. Shimizu <chikoski@gmail.com>   2011/08/18




fun lookup(b: Book, n:Name): set Addr{#
    #n.(b.addr)#
}
N. Shimizu <chikoski@gmail.com>   2011/08/18




assert delUndoesAdd{#
     #all b, b', b'': Book, n:Name, a:Addr |#
     #       #no n.(b.addr) and #
     #       #add [b, b', n, a] and #
     #       #del[b, b'', n]#
     #       #implies b.addr = b''.addr#
}#
N. Shimizu <chikoski@gmail.com>   2011/08/18




                                  (Assertion)
• 
•                                                        #
                                                                      #
              Java      assert#
         p  assert(args.length > 0)#

         p  assert(a != null)#
N. Shimizu <chikoski@gmail.com>   2011/08/18




assert delUndoesAdd{#
     #all b, b', b'': Book, n:Name, a:Addr |#
     #       #no n.(b.addr) and #
     #       #add [b, b', n, a] and #
     #       #del[b’, b'', n]#
     #       #implies b.addr = b''.addr#
}#
N. Shimizu <chikoski@gmail.com>   2011/08/18




check delUndoesAdd for 3
N. Shimizu <chikoski@gmail.com>   2011/08/18
N. Shimizu <chikoski@gmail.com>   2011/08/18




assert delUndoesAdd{#
    #all b, b', b'': Book, n:Name, a:Addr |#
    #     #add [b, b', n, a] and del[b, b'', n]#
    #     #implies b.addr = b''.addr#
}
N. Shimizu <chikoski@gmail.com>   2011/08/18
N. Shimizu <chikoski@gmail.com>   2011/08/18




all x: e | F

• e                x          F                                 #
• all n:Name | #n.(b.addr) > 1#
    Name              n       #
    #n.(b.addr) > 1       #
N. Shimizu <chikoski@gmail.com>   2011/08/18




書式	
       意味	
some e	
   e はタプルをいくつか持つ	
no e	
     e はタプルを持たない	
lone e	
   e はタプルを多くても1つ持つ	
one e	
    e はタプルをちょうど1つ持つ
N. Shimizu <chikoski@gmail.com>   2011/08/18




演算子	
       短縮形式	
        意味	
not	
       !	
           否定	
and 	
      &&	
          連言	
or	
        ||	
          選言	
implies	
   =>	
          含意	
iff	
       <=>	
         両含意
N. Shimizu <chikoski@gmail.com>   2011/08/18




2.3:



•                         #
• Java
N. Shimizu <chikoski@gmail.com>   2011/08/18




module tour/addressBook2#
#
abstract sig Target {}#
sig Addr extends Target {}#
abstract sig Name extends Target{}#
sig Alias, Group extends Name {}#
sig Book { addr: Name -> Target}
N. Shimizu <chikoski@gmail.com>   2011/08/18
N. Shimizu <chikoski@gmail.com>   2011/08/18




•                  ‘Execute’   “Show
     MetaModel”#
•                         M
N. Shimizu <chikoski@gmail.com>   2011/08/18




fact{#
     #all b:Book | #
     #     #no n:Name | n in n.^(b.addr)#
}
N. Shimizu <chikoski@gmail.com>   2011/08/18




                   





sib Book{addr: Name -> Target} {#
    #no n:Name | n in n.^addr#
}
N. Shimizu <chikoski@gmail.com>   2011/08/18




in :

• p in q p q                                       #
• n in n.^(b.addr) #
    n   n^(b.addr)                        #
    n n                addr                             #
N. Shimizu <chikoski@gmail.com>   2011/08/18




^:



•            r                                               #
• ^r = r + r.r + r.r.r + r.r.r.r + …
N. Shimizu <chikoski@gmail.com>   2011/08/18




Alais




pred show(b: Book) { some Alias.(b.addr)}
N. Shimizu <chikoski@gmail.com>   2011/08/18
N. Shimizu <chikoski@gmail.com>   2011/08/18




        Addr                                  Group


sig Book { addr: Name -> Target}{#
    #all a: Alias | lone a.addr#
}
N. Shimizu <chikoski@gmail.com>   2011/08/18
N. Shimizu <chikoski@gmail.com>   2011/08/18




•                   #
• 
     #
•             #

Más contenido relacionado

Más de Noritada Shimizu

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.jsNoritada Shimizu
 
20151128 firefoxos-handson
20151128 firefoxos-handson20151128 firefoxos-handson
20151128 firefoxos-handsonNoritada Shimizu
 
Inspection & Tweak: Firefox を使ったフロント開発
Inspection & Tweak: Firefox を使ったフロント開発Inspection & Tweak: Firefox を使ったフロント開発
Inspection & Tweak: Firefox を使ったフロント開発Noritada Shimizu
 
20150829 firefox-os-handson
20150829 firefox-os-handson20150829 firefox-os-handson
20150829 firefox-os-handsonNoritada Shimizu
 
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 appsNoritada Shimizu
 
Firefox OS でアプリを作るときに気をつけたい N 個のこと
Firefox OS  でアプリを作るときに気をつけたい N 個のことFirefox OS  でアプリを作るときに気をつけたい N 個のこと
Firefox OS でアプリを作るときに気をつけたい N 個のことNoritada Shimizu
 
Firefox OSアプリ開発ハンズオン(Hello World編)
Firefox OSアプリ開発ハンズオン(Hello World編)Firefox OSアプリ開発ハンズオン(Hello World編)
Firefox OSアプリ開発ハンズオン(Hello World編)Noritada Shimizu
 
WebVR(html5j TV部、WebVRとかVRのUIとか勉強会)
WebVR(html5j TV部、WebVRとかVRのUIとか勉強会)WebVR(html5j TV部、WebVRとかVRのUIとか勉強会)
WebVR(html5j TV部、WebVRとかVRのUIとか勉強会)Noritada Shimizu
 
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 MarketplaceNoritada Shimizu
 
つくろう!Firefox OS アプリ
つくろう!Firefox OS アプリつくろう!Firefox OS アプリ
つくろう!Firefox OS アプリNoritada Shimizu
 
20150118 firefoxos-handson-helloworld
20150118 firefoxos-handson-helloworld20150118 firefoxos-handson-helloworld
20150118 firefoxos-handson-helloworldNoritada Shimizu
 
20141115 fx os-codereading
20141115 fx os-codereading20141115 fx os-codereading
20141115 fx os-codereadingNoritada Shimizu
 
20141030 html5j-firefox os-deviceapi
20141030 html5j-firefox os-deviceapi20141030 html5j-firefox os-deviceapi
20141030 html5j-firefox os-deviceapiNoritada Shimizu
 
20140830 firefox os-sampler
20140830 firefox os-sampler20140830 firefox os-sampler
20140830 firefox os-samplerNoritada Shimizu
 
20140801 webrtc on-firefox
20140801 webrtc on-firefox20140801 webrtc on-firefox
20140801 webrtc on-firefoxNoritada Shimizu
 

Más de Noritada Shimizu (20)

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
 
つくろう!Firefox OS アプリ
つくろう!Firefox OS アプリつくろう!Firefox OS アプリ
つくろう!Firefox OS アプリ
 
20150118 firefoxos-handson-helloworld
20150118 firefoxos-handson-helloworld20150118 firefoxos-handson-helloworld
20150118 firefoxos-handson-helloworld
 
20141115 fx os-codereading
20141115 fx os-codereading20141115 fx os-codereading
20141115 fx os-codereading
 
20141030 html5j-firefox os-deviceapi
20141030 html5j-firefox os-deviceapi20141030 html5j-firefox os-deviceapi
20141030 html5j-firefox os-deviceapi
 
20140830 firefox os-sampler
20140830 firefox os-sampler20140830 firefox os-sampler
20140830 firefox os-sampler
 
20140801 webrtc on-firefox
20140801 webrtc on-firefox20140801 webrtc on-firefox
20140801 webrtc on-firefox
 
20140702 webide
20140702 webide20140702 webide
20140702 webide
 

Último

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 

Último (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

Alloy20110818