Moose: how to solve real problems without reading code

992 views

Published on

I use this set of slides for a talk I gave at ESUG 2014.

Abstract:

Moose is a platform for software and data analysis (http://moosetechnology.org). It runs on Pharo and it can help you figure out problems around software systems.


In this talk, I show several real-life examples of how custom tools built on top of Moose helped solve concrete problems. The examples vary both in scope and in the kind of problems. For example, we talk about how we fixed a caching problem in a Java system by analyzing logs, or how we fixed a Morphic problem by means of visualization and interaction. Even if these problems are so different, all of them were solvable with one uniform set of programmable tools.

That is the power of Moose, and it is now at the fingertips of any Pharo programmer.

Published in: Software
1 Comment
1 Like
Statistics
Notes
  • Video: https://www.youtube.com/watch?v=mikD2tPrA5w
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
992
On SlideShare
0
From Embeds
0
Number of Embeds
102
Actions
Shares
0
Downloads
5
Comments
1
Likes
1
Embeds 0
No embeds

No notes for slide

Moose: how to solve real problems without reading code

  1. 1. Moose @girba! @moosetechnology how to solve real problems! without reading code
  2. 2. Moose?
  3. 3. Moose platform for software! and data analysis
  4. 4. Moose crafting analyses! made easy
  5. 5. Moose how to solve real problems! without reading code
  6. 6. @Remote(...) @Stateless(...) public class A implements IA { @EJB private IB b; ... } @Remote(...) @Stateless(...) public class B implements IB { @EJB private IA a; ... }
  7. 7. @Remote(...) @Stateless(...) public class A implements IA { @EJB private IB b; ... } (model allClasses select: #isRemote) cyclesToAll: [ :class | class attributes flatCollectAsSet: [ :attr | attr declaredType withSubclassHierarchy ]]] @Remote(...) @Stateless(...) public class B implements IB { @EJB private IA a; ... }
  8. 8. 2012-03-13 16:10:56,876 TRACE CachingDelegate: Cache hit /service/Region QueryTO [depth=-1, parentDepth=1, namespace=Region, regioncode=IACA, itemcodes=[APA4725090], codesystem=, elementkind=ITEM, descriptionIncluded=false, validityTestMode=false] hash=-742458864 2012-03-13 16:10:58,470 TRACE CachingDelegate: Cache MISS /service/Region QueryTO [depth=1, parentDepth=2, namespace=Region, regioncode=Structure, itemcodes=[], codesystem=, elementkind=ITEM, descriptionIncluded=false, validityTestMode=false] hash=2003270021 2012-03-13 16:10:58,563 INFO LegacyScriptCalls: LegacyScriptCall called with Parameter: namespace[nnn;Core] From=abc To=xyz ! [DataFilter] Id=1234 ! [OutputFormat] Format=xml ! [XsltConfig] XSLT=WithItemId ] payload[] 2012-03-13 16:10:58,798 INFO ActionService: getActionsByDate: patId=8909580, caseId=3807672, from=Wed Dec 21 00:00:00 CET 2011, to=Wed Mar 14 00:00:00 CET 2012 2012-03-13 16:10:58,923 TRACE CachingDelegate: Cache hit /service/Region AnotherQueryTO [regioncode=null, itemCodes=[], namespace=Region, codeSystem=domain.entry, elementKind=Region, validityDate=Tue Mar 13 00:00:00 CET 2012, descriptionIncluded=false, locale=de_CH, validityTestMode=false] hash=570633577 2012-03-13 16:10:59,266 TRACE CachingDelegate: Cache MISS /service/AnotherRegion QueryTO [depth=1, parentDepth=-1, namespace=AnotherRegion, regioncode=630, itemcodes=[I_23451], codesystem=, elementkind=ITEM, descriptionIncluded=false, validityTestMode=false] hash=-1116635756
  9. 9. 2012-03-13 16:10:56,876 TRACE CachingDelegate: Cache hit /service/Region QueryTO [depth=-1, parentDepth=1, namespace=Region, regioncode=IACA, itemcodes=[APA4725090], codesystem=, elementkind=ITEM, descriptionIncluded=false, validityTestMode=false] hash=-742458864 2012-03-13 16:10:58,470 TRACE CachingDelegate: Cache MISS /service/Region QueryTO [depth=1, parentDepth=2, namespace=Region, regioncode=Structure, itemcodes=[], codesystem=, elementkind=ITEM, descriptionIncluded=false, validityTestMode=false] hash=2003270021 2012-03-13 16:10:58,563 INFO LegacyScriptCalls: LegacyScriptCall called with Parameter: namespace[nnn;Core] From=abc To=xyz ! [DataFilter] Id=1234 ! [OutputFormat] Format=xml ! [XsltConfig] XSLT=WithItemId ] payload[] 2012-03-13 16:10:58,798 INFO ActionService: getActionsByDate: patId=8909580, caseId=3807672, from=Wed Dec 21 00:00:00 CET 2011, to=Wed Mar 14 00:00:00 CET 2012 2012-03-13 16:10:58,923 TRACE CachingDelegate: Cache hit /service/Region AnotherQueryTO [regioncode=null, itemCodes=[], namespace=Region, codeSystem=domain.entry, elementKind=Region, validityDate=Tue Mar 13 00:00:00 CET 2012, descriptionIncluded=false, locale=de_CH, validityTestMode=false] hash=570633577 2012-03-13 16:10:59,266 TRACE CachingDelegate: Cache MISS /service/AnotherRegion QueryTO [depth=1, parentDepth=-1, namespace=AnotherRegion, regioncode=630, itemcodes=[I_23451], codesystem=, elementkind=ITEM, descriptionIncluded=false, validityTestMode=false] hash=-1116635756 Cache MISS Cache hit Cache MISS Cache hit
  10. 10. 2012-03-13 16:10:56,876 TRACE CachingDelegate: Cache hit /service/Region QueryTO [depth=-1, parentDepth=1, namespace=Region, regioncode=IACA, itemcodes=[APA4725090], codesystem=, elementkind=ITEM, descriptionIncluded=false, validityTestMode=false] hash=-742458864 2012-03-13 16:10:58,470 TRACE CachingDelegate: Cache MISS /service/Region QueryTO [depth=1, parentDepth=2, namespace=Region, regioncode=Structure, itemcodes=[], codesystem=, elementkind=ITEM, descriptionIncluded=false, validityTestMode=false] hash=2003270021 2012-03-13 16:10:58,563 INFO LegacyScriptCalls: LegacyScriptCall called with Parameter: namespace[nnn;Core] From=abc To=xyz ! [DataFilter] Id=1234 ! [OutputFormat] Format=xml ! [XsltConfig] XSLT=WithItemId ] payload[] 2012-03-13 16:10:58,798 INFO ActionService: getActionsByDate: patId=8909580, caseId=3807672, from=Wed Dec 21 00:00:00 CET 2011, to=Wed Mar 14 00:00:00 CET 2012 2012-03-13 16:10:58,923 TRACE CachingDelegate: Cache hit /service/Region AnotherQueryTO [regioncode=null, itemCodes=[], namespace=Region, codeSystem=domain.entry, elementKind=Region, validityDate=Tue Mar 13 00:00:00 CET 2012, descriptionIncluded=false, locale=de_CH, validityTestMode=false] hash=570633577 2012-03-13 16:10:59,266 TRACE CachingDelegate: Cache MISS /service/AnotherRegion QueryTO [depth=1, parentDepth=-1, namespace=AnotherRegion, regioncode=630, itemcodes=[I_23451], codesystem=, elementkind=ITEM, descriptionIncluded=false, validityTestMode=false] hash=-1116635756 Cache MISS Cache hit Cache MISS Cache hit QueryTO AnotherQueryTO QueryTO QueryTO
  11. 11. pharo.org
  12. 12. Tudor Gîrba! www.tudorgirba.com http://creativecommons.org/licenses/by-nc-sa/3.0/ freeonlinenews.org/london-underground-150th-anniversary
  13. 13. Moose how to solve real problems! without reading code @girba! @moosetechnology
  14. 14. Tudor Gîrba! www.tudorgirba.com http://creativecommons.org/licenses/by-nc-sa/3.0/

×