SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
2008 (2008/11/8)




 Piece Framework 2.0




                 Piece Project
                               <kubo@iteman.jp>
-1-       Copyright © 2008 ITEMAN, Inc., All rights reserved.
Piece Framework




--




     -2-       Copyright © 2008 ITEMAN, Inc., All rights reserved.
Piece Framework




-3-       Copyright © 2008 ITEMAN, Inc., All rights reserved.
-4-   Copyright © 2008 ITEMAN, Inc., All rights reserved.
-5-   Copyright © 2008 ITEMAN, Inc., All rights reserved.
-6-   Copyright © 2008 ITEMAN, Inc., All rights reserved.
3

1.
2.
3.
--




     -7-       Copyright © 2008 ITEMAN, Inc., All rights reserved.
3

1.




--


     -8-       Copyright © 2008 ITEMAN, Inc., All rights reserved.
3

2.




--




     -9-       Copyright © 2008 ITEMAN, Inc., All rights reserved.
3

3.




--




     - 10 -       Copyright © 2008 ITEMAN, Inc., All rights reserved.
3

1.
2.
3.



     (                          )

         - 11 -       Copyright © 2008 ITEMAN, Inc., All rights reserved.
A

             B

                 C




(                              )



- 12 -               Copyright © 2008 ITEMAN, Inc., All rights reserved.
A   B              C              D




- 13 -   Copyright © 2008 ITEMAN, Inc., All rights reserved.
X          Y                Z
         A         A                 A




- 14 -       Copyright © 2008 ITEMAN, Inc., All rights reserved.
A                 B                     C




             X                 Y                     Z




    1


- 15 -           Copyright © 2008 ITEMAN, Inc., All rights reserved.
Piece_Unity   Piece_ORM             Piece_XXX




Piece Framework


        - 16 -      Copyright © 2008 ITEMAN, Inc., All rights reserved.
--




     - 17 -   Copyright © 2008 ITEMAN, Inc., All rights reserved.
- 18 -   Copyright © 2008 ITEMAN, Inc., All rights reserved.
- 19 -   Copyright © 2008 ITEMAN, Inc., All rights reserved.
- 20 -   Copyright © 2008 ITEMAN, Inc., All rights reserved.
(DSL:Domain
Specific Language)


– http://capsctrl.que.jp/kdmsnr/wiki/bliki/?LanguageWorkbench




                 - 21 -           Copyright © 2008 ITEMAN, Inc., All rights reserved.
DSL




DSL




      - 22 -   Copyright © 2008 ITEMAN, Inc., All rights reserved.
DSL                    -- http://martinfowler.com/bliki/SyntacticNoise.html

events
  doorClosed   D1CL
  drawOpened   D2OP
  lightOn      L1ON
end

commands
  unlockDoor D1UL
  lockPanel   PNLK
end

state idle
  actions {unlockDoor lockPanel}
  doorClosed => active
end

state active
  drawOpened => waitingForLight
  lightOn    => waitingForDraw
end



                      - 23 -              Copyright © 2008 ITEMAN, Inc., All rights reserved.
DSL                 (PHP)
array(array('events' => array('doorClosed' => 'D1CL',
                              'drawOpend' => 'D2OP',
                              'lightOn' => 'L1ON'),
            'commands' => array('unlockDoor' => 'D1UL',
                                'lockPanel' => 'PNLK'),
            'states' => array('idle' =>
                              array('actions' =>
                                    array('unlockDoor' => 'lockPanel'),
                                    'transitions' =>
                                    array('doorClosed' => 'active')),
                              'active' =>
                              array('transitions' =>
                                    array('drawOpened' => 'waitingForLight',
                                          'lightOn' => 'waitingForDraw')))));




                   - 24 -              Copyright © 2008 ITEMAN, Inc., All rights reserved.
DSL




      - 25 -   Copyright © 2008 ITEMAN, Inc., All rights reserved.
DSL
    DSL


●



●



●



            - 26 -   Copyright © 2008 ITEMAN, Inc., All rights reserved.
Intentional Programming
●



Meta Programming System
●



Software Factories
●



Generative Programming
●



Language Workbenches
●



...
●




(Language Oriented Programming)
           - 27 -      Copyright © 2008 ITEMAN, Inc., All rights reserved.
Texual Modeling Framework (TMF)
 Eclipse




           - 28 -   Copyright © 2008 ITEMAN, Inc., All rights reserved.
Piece Framework

Piece_Unity - Web

Piece_ORM –

Piece_Right –

Piece_Flow – Web

Stagehand_FSM –

Stagehand_TestRunner - PHPUnit, SimpleTest, PHPSpec


Piece_IDE - Eclipse           Piece Framework




                 - 29 -     Copyright © 2008 ITEMAN, Inc., All rights reserved.
Piece Framework 2.0

 Eclipse


  PHP
                                   abstract representation
                                                                                DSL
                                                          store

                                                                                                   stored representation


    DSL                                   Piece_IDE with Xtext
                                                                                                generation



                          projection
                                               PDT, The Language Toolkit, ...

                                       Piece Framework Web                            Piece Framework




                                                                                             executable representation
                                               HTML                                    ...

editable representation



                          - 30 -                        Copyright © 2008 ITEMAN, Inc., All rights reserved.
Krzysztof Czarnecki, Ulrich Eisenecker, Generative Programming:
Methods, Tools, and Applications, Addison-Wesley Pub (Sd), 2000, ISBN
978-0201309775
                      2008      ISBN 978-4798113319
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?DomainSpecificLanguage
http://martinfowler.com/bliki/SyntacticNoise.html
http://www.martinfowler.com/articles/languageWorkbench.html
http://capsctrl.que.jp/kdmsnr/wiki/bliki/?LanguageWorkbench




                - 31 -          Copyright © 2008 ITEMAN, Inc., All rights reserved.

Más contenido relacionado

Similar a Piece Framework 2.0 Background

Clojure through the eyes of a Java Nut | [Mixed Nuts] at Pramati Technologies
Clojure through the eyes of a Java Nut | [Mixed Nuts] at Pramati TechnologiesClojure through the eyes of a Java Nut | [Mixed Nuts] at Pramati Technologies
Clojure through the eyes of a Java Nut | [Mixed Nuts] at Pramati TechnologiesPramati Technologies
 
MySQL 8.0: What Is New in Optimizer and Executor?
MySQL 8.0: What Is New in Optimizer and Executor?MySQL 8.0: What Is New in Optimizer and Executor?
MySQL 8.0: What Is New in Optimizer and Executor?Norvald Ryeng
 
Grids Clouds Computation Steven Armentrout
Grids Clouds Computation Steven ArmentroutGrids Clouds Computation Steven Armentrout
Grids Clouds Computation Steven ArmentroutGovCloud Network
 
Vdot road ii_stu_trn010260-1-0002
Vdot road ii_stu_trn010260-1-0002Vdot road ii_stu_trn010260-1-0002
Vdot road ii_stu_trn010260-1-0002Barrick Sudamerica
 
Document_format_for_OData_In_A_Nutshell.pdf
Document_format_for_OData_In_A_Nutshell.pdfDocument_format_for_OData_In_A_Nutshell.pdf
Document_format_for_OData_In_A_Nutshell.pdfdavidjpeace
 
SpringOne Platform 2017報告会 メインプロジェクトのアップデート
SpringOne Platform 2017報告会 メインプロジェクトのアップデートSpringOne Platform 2017報告会 メインプロジェクトのアップデート
SpringOne Platform 2017報告会 メインプロジェクトのアップデートTakuya Iwatsuka
 
“Quantum” Performance Effects: beyond the Core
“Quantum” Performance Effects: beyond the Core“Quantum” Performance Effects: beyond the Core
“Quantum” Performance Effects: beyond the CoreC4Media
 
Gettingstartedwithmatlabimageprocessing
GettingstartedwithmatlabimageprocessingGettingstartedwithmatlabimageprocessing
Gettingstartedwithmatlabimageprocessingtvanii
 
SequenceL Auto-Parallelizing Toolset Intro slideshare
SequenceL Auto-Parallelizing Toolset Intro slideshareSequenceL Auto-Parallelizing Toolset Intro slideshare
SequenceL Auto-Parallelizing Toolset Intro slideshareDoug Norton
 
SequenceL intro slideshare
SequenceL intro slideshareSequenceL intro slideshare
SequenceL intro slideshareDoug Norton
 
EclipseCon2008: The Dod, Open Source, and OSGi as Server Infrastructure
EclipseCon2008: The Dod, Open Source, and OSGi as Server InfrastructureEclipseCon2008: The Dod, Open Source, and OSGi as Server Infrastructure
EclipseCon2008: The Dod, Open Source, and OSGi as Server InfrastructureKit Plummer
 
Compile ahead of time. It's fine?
Compile ahead of time. It's fine?Compile ahead of time. It's fine?
Compile ahead of time. It's fine?Dmitry Chuyko
 
Case Study: Large Scale Deployment for Machine Learning with Highspeed Storage
Case Study: Large Scale Deployment for Machine Learning with Highspeed StorageCase Study: Large Scale Deployment for Machine Learning with Highspeed Storage
Case Study: Large Scale Deployment for Machine Learning with Highspeed StorageKota Tsuyuzaki
 
How to make a symbol of Capacitor by LTspice
How to make a symbol of Capacitor by LTspiceHow to make a symbol of Capacitor by LTspice
How to make a symbol of Capacitor by LTspiceTsuyoshi Horigome
 
The Role of Standards in IoT Security
The Role of Standards in IoT SecurityThe Role of Standards in IoT Security
The Role of Standards in IoT SecurityHannes Tschofenig
 
Presentation Presentation Personall Knowledge Networks
Presentation Presentation  Personall Knowledge NetworksPresentation Presentation  Personall Knowledge Networks
Presentation Presentation Personall Knowledge NetworksPersonall SAS
 
The MPEG-21 Multimedia Framework for Integrated Management of Environments en...
The MPEG-21 Multimedia Framework for Integrated Management of Environments en...The MPEG-21 Multimedia Framework for Integrated Management of Environments en...
The MPEG-21 Multimedia Framework for Integrated Management of Environments en...Alpen-Adria-Universität
 
Apache MXNet EcoSystem - ACNA2018
Apache MXNet EcoSystem - ACNA2018Apache MXNet EcoSystem - ACNA2018
Apache MXNet EcoSystem - ACNA2018Apache MXNet
 

Similar a Piece Framework 2.0 Background (20)

Clojure through the eyes of a Java Nut | [Mixed Nuts] at Pramati Technologies
Clojure through the eyes of a Java Nut | [Mixed Nuts] at Pramati TechnologiesClojure through the eyes of a Java Nut | [Mixed Nuts] at Pramati Technologies
Clojure through the eyes of a Java Nut | [Mixed Nuts] at Pramati Technologies
 
Zero To Dojo
Zero To DojoZero To Dojo
Zero To Dojo
 
MySQL 8.0: What Is New in Optimizer and Executor?
MySQL 8.0: What Is New in Optimizer and Executor?MySQL 8.0: What Is New in Optimizer and Executor?
MySQL 8.0: What Is New in Optimizer and Executor?
 
Grids Clouds Computation Steven Armentrout
Grids Clouds Computation Steven ArmentroutGrids Clouds Computation Steven Armentrout
Grids Clouds Computation Steven Armentrout
 
Vdot road ii_stu_trn010260-1-0002
Vdot road ii_stu_trn010260-1-0002Vdot road ii_stu_trn010260-1-0002
Vdot road ii_stu_trn010260-1-0002
 
Kommons
KommonsKommons
Kommons
 
Document_format_for_OData_In_A_Nutshell.pdf
Document_format_for_OData_In_A_Nutshell.pdfDocument_format_for_OData_In_A_Nutshell.pdf
Document_format_for_OData_In_A_Nutshell.pdf
 
SpringOne Platform 2017報告会 メインプロジェクトのアップデート
SpringOne Platform 2017報告会 メインプロジェクトのアップデートSpringOne Platform 2017報告会 メインプロジェクトのアップデート
SpringOne Platform 2017報告会 メインプロジェクトのアップデート
 
“Quantum” Performance Effects: beyond the Core
“Quantum” Performance Effects: beyond the Core“Quantum” Performance Effects: beyond the Core
“Quantum” Performance Effects: beyond the Core
 
Gettingstartedwithmatlabimageprocessing
GettingstartedwithmatlabimageprocessingGettingstartedwithmatlabimageprocessing
Gettingstartedwithmatlabimageprocessing
 
SequenceL Auto-Parallelizing Toolset Intro slideshare
SequenceL Auto-Parallelizing Toolset Intro slideshareSequenceL Auto-Parallelizing Toolset Intro slideshare
SequenceL Auto-Parallelizing Toolset Intro slideshare
 
SequenceL intro slideshare
SequenceL intro slideshareSequenceL intro slideshare
SequenceL intro slideshare
 
EclipseCon2008: The Dod, Open Source, and OSGi as Server Infrastructure
EclipseCon2008: The Dod, Open Source, and OSGi as Server InfrastructureEclipseCon2008: The Dod, Open Source, and OSGi as Server Infrastructure
EclipseCon2008: The Dod, Open Source, and OSGi as Server Infrastructure
 
Compile ahead of time. It's fine?
Compile ahead of time. It's fine?Compile ahead of time. It's fine?
Compile ahead of time. It's fine?
 
Case Study: Large Scale Deployment for Machine Learning with Highspeed Storage
Case Study: Large Scale Deployment for Machine Learning with Highspeed StorageCase Study: Large Scale Deployment for Machine Learning with Highspeed Storage
Case Study: Large Scale Deployment for Machine Learning with Highspeed Storage
 
How to make a symbol of Capacitor by LTspice
How to make a symbol of Capacitor by LTspiceHow to make a symbol of Capacitor by LTspice
How to make a symbol of Capacitor by LTspice
 
The Role of Standards in IoT Security
The Role of Standards in IoT SecurityThe Role of Standards in IoT Security
The Role of Standards in IoT Security
 
Presentation Presentation Personall Knowledge Networks
Presentation Presentation  Personall Knowledge NetworksPresentation Presentation  Personall Knowledge Networks
Presentation Presentation Personall Knowledge Networks
 
The MPEG-21 Multimedia Framework for Integrated Management of Environments en...
The MPEG-21 Multimedia Framework for Integrated Management of Environments en...The MPEG-21 Multimedia Framework for Integrated Management of Environments en...
The MPEG-21 Multimedia Framework for Integrated Management of Environments en...
 
Apache MXNet EcoSystem - ACNA2018
Apache MXNet EcoSystem - ACNA2018Apache MXNet EcoSystem - ACNA2018
Apache MXNet EcoSystem - ACNA2018
 

Más de Atsuhiro Kubo

Enaction, Not Design on MPD Osaka Extra 1
Enaction, Not Design on MPD Osaka Extra 1Enaction, Not Design on MPD Osaka Extra 1
Enaction, Not Design on MPD Osaka Extra 1Atsuhiro Kubo
 
Enaction, Not Design on Symfony Meetup Kansai 2
Enaction, Not Design on Symfony Meetup Kansai 2Enaction, Not Design on Symfony Meetup Kansai 2
Enaction, Not Design on Symfony Meetup Kansai 2Atsuhiro Kubo
 
The Birth of FormalBears - A new META for BEAR.Sunday applications
The Birth of FormalBears - A new META for BEAR.Sunday applicationsThe Birth of FormalBears - A new META for BEAR.Sunday applications
The Birth of FormalBears - A new META for BEAR.Sunday applicationsAtsuhiro Kubo
 
Lean Architecture / DCI Evening Report
Lean Architecture / DCI Evening ReportLean Architecture / DCI Evening Report
Lean Architecture / DCI Evening ReportAtsuhiro Kubo
 
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...Atsuhiro Kubo
 
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...Atsuhiro Kubo
 
ジェネレーティブプログラミングの世界
ジェネレーティブプログラミングの世界ジェネレーティブプログラミングの世界
ジェネレーティブプログラミングの世界Atsuhiro Kubo
 
意図を表現するプログラミング
意図を表現するプログラミング意図を表現するプログラミング
意図を表現するプログラミングAtsuhiro Kubo
 
Software Development with Symfony
Software Development with SymfonySoftware Development with Symfony
Software Development with SymfonyAtsuhiro Kubo
 
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodIntroduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodAtsuhiro Kubo
 
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitGetting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitAtsuhiro Kubo
 
Introduction to Continuous Testing
Introduction to Continuous TestingIntroduction to Continuous Testing
Introduction to Continuous TestingAtsuhiro Kubo
 
Symfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るためにSymfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るためにAtsuhiro Kubo
 
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をMakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をAtsuhiro Kubo
 
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストEclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストAtsuhiro Kubo
 
Eclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテストEclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテストAtsuhiro Kubo
 
How To Create Custom DSLs By PHP
How To Create Custom DSLs By PHPHow To Create Custom DSLs By PHP
How To Create Custom DSLs By PHPAtsuhiro Kubo
 

Más de Atsuhiro Kubo (18)

MPD Osaka Extra 5
MPD Osaka Extra 5MPD Osaka Extra 5
MPD Osaka Extra 5
 
Enaction, Not Design on MPD Osaka Extra 1
Enaction, Not Design on MPD Osaka Extra 1Enaction, Not Design on MPD Osaka Extra 1
Enaction, Not Design on MPD Osaka Extra 1
 
Enaction, Not Design on Symfony Meetup Kansai 2
Enaction, Not Design on Symfony Meetup Kansai 2Enaction, Not Design on Symfony Meetup Kansai 2
Enaction, Not Design on Symfony Meetup Kansai 2
 
The Birth of FormalBears - A new META for BEAR.Sunday applications
The Birth of FormalBears - A new META for BEAR.Sunday applicationsThe Birth of FormalBears - A new META for BEAR.Sunday applications
The Birth of FormalBears - A new META for BEAR.Sunday applications
 
Lean Architecture / DCI Evening Report
Lean Architecture / DCI Evening ReportLean Architecture / DCI Evening Report
Lean Architecture / DCI Evening Report
 
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
 
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...Frameworks We Live By: Design by day-to-day framework development: Multi-para...
Frameworks We Live By: Design by day-to-day framework development: Multi-para...
 
ジェネレーティブプログラミングの世界
ジェネレーティブプログラミングの世界ジェネレーティブプログラミングの世界
ジェネレーティブプログラミングの世界
 
意図を表現するプログラミング
意図を表現するプログラミング意図を表現するプログラミング
意図を表現するプログラミング
 
Software Development with Symfony
Software Development with SymfonySoftware Development with Symfony
Software Development with Symfony
 
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodIntroduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGood
 
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitGetting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnit
 
Introduction to Continuous Testing
Introduction to Continuous TestingIntroduction to Continuous Testing
Introduction to Continuous Testing
 
Symfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るためにSymfony2でより良いソフトウェアを作るために
Symfony2でより良いソフトウェアを作るために
 
MakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発をMakeGoodで快適なテスト駆動開発を
MakeGoodで快適なテスト駆動開発を
 
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストEclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテスト
 
Eclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテストEclipse PDT + MakeGood による PHP コードのテスト
Eclipse PDT + MakeGood による PHP コードのテスト
 
How To Create Custom DSLs By PHP
How To Create Custom DSLs By PHPHow To Create Custom DSLs By PHP
How To Create Custom DSLs By PHP
 

Último

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
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
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
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
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Victor Rentea
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
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
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
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
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 

Último (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
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...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
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
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
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
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
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 New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 

Piece Framework 2.0 Background

  • 1. 2008 (2008/11/8) Piece Framework 2.0 Piece Project <kubo@iteman.jp> -1- Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 2. Piece Framework -- -2- Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 3. Piece Framework -3- Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 4. -4- Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 5. -5- Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 6. -6- Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 7. 3 1. 2. 3. -- -7- Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 8. 3 1. -- -8- Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 9. 3 2. -- -9- Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 10. 3 3. -- - 10 - Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 11. 3 1. 2. 3. ( ) - 11 - Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 12. A B C ( ) - 12 - Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 13. A B C D - 13 - Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 14. X Y Z A A A - 14 - Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 15. A B C X Y Z 1 - 15 - Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 16. Piece_Unity Piece_ORM Piece_XXX Piece Framework - 16 - Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 17. -- - 17 - Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 18. - 18 - Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 19. - 19 - Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 20. - 20 - Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 21. (DSL:Domain Specific Language) – http://capsctrl.que.jp/kdmsnr/wiki/bliki/?LanguageWorkbench - 21 - Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 22. DSL DSL - 22 - Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 23. DSL -- http://martinfowler.com/bliki/SyntacticNoise.html events doorClosed D1CL drawOpened D2OP lightOn L1ON end commands unlockDoor D1UL lockPanel PNLK end state idle actions {unlockDoor lockPanel} doorClosed => active end state active drawOpened => waitingForLight lightOn => waitingForDraw end - 23 - Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 24. DSL (PHP) array(array('events' => array('doorClosed' => 'D1CL', 'drawOpend' => 'D2OP', 'lightOn' => 'L1ON'), 'commands' => array('unlockDoor' => 'D1UL', 'lockPanel' => 'PNLK'), 'states' => array('idle' => array('actions' => array('unlockDoor' => 'lockPanel'), 'transitions' => array('doorClosed' => 'active')), 'active' => array('transitions' => array('drawOpened' => 'waitingForLight', 'lightOn' => 'waitingForDraw'))))); - 24 - Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 25. DSL - 25 - Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 26. DSL DSL ● ● ● - 26 - Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 27. Intentional Programming ● Meta Programming System ● Software Factories ● Generative Programming ● Language Workbenches ● ... ● (Language Oriented Programming) - 27 - Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 28. Texual Modeling Framework (TMF) Eclipse - 28 - Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 29. Piece Framework Piece_Unity - Web Piece_ORM – Piece_Right – Piece_Flow – Web Stagehand_FSM – Stagehand_TestRunner - PHPUnit, SimpleTest, PHPSpec Piece_IDE - Eclipse Piece Framework - 29 - Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 30. Piece Framework 2.0 Eclipse PHP abstract representation DSL store stored representation DSL Piece_IDE with Xtext generation projection PDT, The Language Toolkit, ... Piece Framework Web Piece Framework executable representation HTML ... editable representation - 30 - Copyright © 2008 ITEMAN, Inc., All rights reserved.
  • 31. Krzysztof Czarnecki, Ulrich Eisenecker, Generative Programming: Methods, Tools, and Applications, Addison-Wesley Pub (Sd), 2000, ISBN 978-0201309775 2008 ISBN 978-4798113319 http://capsctrl.que.jp/kdmsnr/wiki/bliki/?DomainSpecificLanguage http://martinfowler.com/bliki/SyntacticNoise.html http://www.martinfowler.com/articles/languageWorkbench.html http://capsctrl.que.jp/kdmsnr/wiki/bliki/?LanguageWorkbench - 31 - Copyright © 2008 ITEMAN, Inc., All rights reserved.