Upload
atsuhiro-kubo
View
3.606
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
Copyright © 2008 ITEMAN, Inc., All rights reserved.- 1 -
Piece Framework 2.0
2008 (2008/11/8)
Piece Project
Copyright © 2008 ITEMAN, Inc., All rights reserved.- 2 -
Piece Framework
--
Copyright © 2008 ITEMAN, Inc., All rights reserved.- 3 -
Piece Framework
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.- 7 -
3
1.2.3.--
Copyright © 2008 ITEMAN, Inc., All rights reserved.- 8 -
3
1.
--
Copyright © 2008 ITEMAN, Inc., All rights reserved.- 9 -
3
2.
--
Copyright © 2008 ITEMAN, Inc., All rights reserved.- 10 -
3
3.
--
Copyright © 2008 ITEMAN, Inc., All rights reserved.- 11 -
3
1.2.3.
( )
Copyright © 2008 ITEMAN, Inc., All rights reserved.- 12 -
( )
A
B
C
Copyright © 2008 ITEMAN, Inc., All rights reserved.- 13 -
A DCB
Copyright © 2008 ITEMAN, Inc., All rights reserved.- 14 -
X
A
Z
A
Y
A
Copyright © 2008 ITEMAN, Inc., All rights reserved.- 15 -
A CB
X Y Z
1
Copyright © 2008 ITEMAN, Inc., All rights reserved.- 16 -
Piece_Unity Piece_ORM Piece_XXX
Piece Framework
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.- 21 -
(DSL:Domain
Specific Language)
– http://capsctrl.que.jp/kdmsnr/wiki/bliki/?LanguageWorkbench
Copyright © 2008 ITEMAN, Inc., All rights reserved.- 22 -
DSL
DSL
Copyright © 2008 ITEMAN, Inc., All rights reserved.- 23 -
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
DSL -- http://martinfowler.com/bliki/SyntacticNoise.html DSL
Copyright © 2008 ITEMAN, Inc., All rights reserved.- 24 -
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')))));
DSL (PHP)
Copyright © 2008 ITEMAN, Inc., All rights reserved.- 25 -
DSL
Copyright © 2008 ITEMAN, Inc., All rights reserved.- 26 -
DSL DSL
●
●
●
Copyright © 2008 ITEMAN, Inc., All rights reserved.- 27 -
●Intentional Programming
●Meta Programming System
●Software Factories
●Generative Programming
●Language Workbenches
●...
(Language Oriented Programming)
Copyright © 2008 ITEMAN, Inc., All rights reserved.- 28 -
Texual Modeling Framework (TMF) Eclipse
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
Copyright © 2008 ITEMAN, Inc., All rights reserved.- 30 -
Piece Framework 2.0
editable representationeditable representationeditable representationeditable representation
HTMLHTMLHTMLHTML ............
abstract representationabstract representationabstract representationabstract representation
stored representationstored representationstored representationstored representation
projectionprojectionprojectionprojection
Piece FrameworkPiece FrameworkPiece FrameworkPiece Framework
executable representationexecutable representationexecutable representationexecutable representation
EclipseEclipseEclipseEclipse
PHPPHPPHPPHP
Piece_IDE with XtextDSLDSLDSLDSL
PDT, The Language Toolkit, ...PDT, The Language Toolkit, ...PDT, The Language Toolkit, ...PDT, The Language Toolkit, ...
Piece Framework WebPiece Framework WebPiece Framework WebPiece Framework Web
DSLDSLDSLDSL
generationgenerationgenerationgeneration
storestorestorestore
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