Contenu connexe
Similaire à Piece Framework 2.0 Background
Similaire à Piece Framework 2.0 Background (20)
Plus de Atsuhiro Kubo (18)
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.
- 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.
- 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.
- 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.