SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
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.

Weitere ähnliche Inhalte

Ähnlich wie Piece Framework 2.0 Background

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
Barrick Sudamerica
 

Ähnlich wie 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
 

Mehr von 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
 
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 Symfony
Atsuhiro Kubo
 
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodIntroduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGood
Atsuhiro Kubo
 
Getting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnitGetting Started with Testing using PHPUnit
Getting Started with Testing using PHPUnit
Atsuhiro 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 PHP
Atsuhiro Kubo
 

Mehr von 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
 

Kürzlich hochgeladen

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
panagenda
 
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
Safe Software
 
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
Victor Rentea
 

Kürzlich hochgeladen (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
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
 
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
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
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...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
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
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
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
 
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...
 
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
 
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, ...
 
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
 
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
 
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
 
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
 

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.