SlideShare une entreprise Scribd logo
1  sur  108
Télécharger pour lire hors ligne
SETN	
  2010	
  -­‐	
  TUTORIAL	
  




      The	
  so'ware	
  management	
  and	
  
   engineering	
  in	
  the	
  AI-­‐oriented	
  projects	
  




                  www.SDART.co.uk	
  


www.     .co.uk                                                 The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                        the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                   Plan	
  of	
  presenta:on	
  
§ IntroducEon	
  

§ So4ware	
  project	
  management	
  

§ So4ware	
  design	
  

§ AI	
  implementaEon	
  

§ Examples	
  of	
  AI	
  so4ware	
  


www.      .co.uk                                                    The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                            the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  




                Introduc:on	
  




www.   .co.uk                                            The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                 the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                Ar:ficial	
  Intelligence	
  
From	
  the	
  so4ware	
  perspecEve:	
  
§ Ar:ficial	
  intelligence	
  =	
  research =	
  high	
  risk	
  


Therefore	
  dealing	
  with	
  AI	
  in	
  so4ware	
  project	
  we	
  
must	
  be	
  very	
  careful	
  and	
  select	
  the	
  proper	
  
methods,	
  technologies	
  and	
  tools.	
  

www.       .co.uk                                                     The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                              the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                   Project	
  success	
  

                                      Budget	
  




                                  Success	
  

                Quality	
                                               Time	
  


www.   .co.uk                                                       The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                            the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



        Research	
  oriented	
  so'ware	
  
§ Time	
  and	
  budget	
  aren’t	
  usually	
  fixed	
  –	
  it	
  is	
  
possible	
  to	
  extend	
  the	
  research	
  
§ Resources	
  are	
  flexible	
  
§ People	
  mainly	
  have	
  the	
  personal	
  interests	
  (fame,	
  
dissertaEons,	
  publicaEons	
  …)	
  
§ Quality	
  (funcEonality)	
  is	
  the	
  main	
  concern	
  

www.        .co.uk                                                      The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



         Product	
  oriented	
  so'ware	
  
§ Time	
  and	
  budget	
  are	
  usually	
  fixed	
  

§ Quality	
  is	
  adjusted	
  to	
  the	
  available	
  budget	
  and	
  
schedule	
  

§ People	
  mainly	
  have	
  the	
  business	
  interests	
  

§ Resources	
  aren’t	
  flexible	
  


www.       .co.uk                                                     The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                              the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



       AI	
  &	
  so'ware	
  in	
  projects	
  
                                 Struggle	
  

                      AI	
  
                                                             So4ware	
  




                 AI	
  
                                                                    So4ware	
  


                Proper	
  management	
  
www.   .co.uk                                                           The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                             This	
  tutorial	
  
Reasons	
  to	
  propose	
  this	
  tutorial:	
  
• There	
  exist	
  the	
  so4ware	
  projects	
  without	
  AI	
  but	
  I’m	
  not	
  
sure	
  if	
  there	
  exist	
  AI	
  projects	
  without	
  the	
  so4ware	
  
(embedded	
  count	
  too!)	
  …	
  
• The	
  knowledge	
  about	
  the	
  so4ware	
  management	
  is	
  
unpopular	
  among	
  AI	
  researchers	
  
• At	
  SDART	
  we	
  deal	
  with	
  the	
  AI-­‐oriented	
  so4ware	
  projects	
  	
  

www.         .co.uk                                                        The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                   the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                                         This	
  tutorial	
  
• Will:	
  
       •  present	
  a	
  selecEon	
  of	
  the	
  popular	
  techniques	
  and	
  methods	
  for	
  so4ware	
  
           development	
  
       •  evaluate	
  them	
  from	
  AI	
  perspecEve	
  
       •  propose	
  what	
  could	
  be	
  used	
  

§ Will	
  not:	
  
       •  say	
  what	
  have	
  to	
  be	
  used	
  
       •  be	
  a	
  guide	
  ready	
  to	
  be	
  applied	
  step-­‐by-­‐step	
  


www.              .co.uk                                                                  The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                                  the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  




       So'ware	
  project	
  management	
  




www.      .co.uk                                           The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                   the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



             AI	
  &	
  so'	
  –	
  PM	
  nightmare	
  
§ In	
  the	
  project	
  management	
  two	
  types	
  of	
  projects	
  
are	
  the	
  symbols	
  of	
  unpredictability:	
  
       §  Research	
  projects	
  
       §  ….	
  so4ware	
  projects	
  

§ What	
  could	
  we	
  do	
  dealing	
  with	
  an	
  AI-­‐oriented	
  
so4ware	
  projects?	
  Professionally	
  manage	
  them!	
  

www.          .co.uk                                                        The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                    the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



       So'ware	
  development	
  schema	
  
                                               Planning	
  




                   Deployment	
  &	
  
                                                                                 Analysis	
  
                   manitenance	
  




                     Implementa:on	
  
                                                                               Design	
  
                        &	
  coding	
  




www.      .co.uk                                                                  The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                          the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                    DM	
  management	
  
§ Data	
  mining	
  management	
  seems	
  to	
  be	
  more	
  
organised	
  than	
  AI	
  
§ There	
  are	
  different	
  models	
  of	
  DM	
  organisaEon:	
  
§ CRISP-­‐DM	
  
§ SEMMA	
  
§ DMAIC/DMADV	
  

www.       .co.uk                                                   The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                            the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                CRISP-­‐DM	
  
                Business	
  understanding	
  


                  Data	
  understanding	
  


                   Data	
  preparaEon	
  


                         Modeling	
  


                        EvaluaEon	
  


                      Deployment	
  

www.   .co.uk                                               The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                    the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                SEMMA	
  
                    Search	
  

                   Explore	
  

                   Modify	
  

                    Model	
  

                    Assess	
  


www.   .co.uk                                          The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                               the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                DMAIC&DMADV	
  
           Define	
                                             Define	
  

         Measure	
                                            Measure	
  

          Analyse	
                                           Analyse	
  

         Improve	
                                             Design	
  

          Control	
                                             Verify	
  


www.   .co.uk                                                 The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                      the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                    Management	
  model	
  
§ Can’t	
  we	
  use	
  any	
  DM	
  model	
  to	
  properly	
  manage	
  
the	
  AI&so4ware	
  projects?	
  Yes	
  we	
  could	
  ….	
  only	
  if	
  
the	
  so4ware	
  does	
  not	
  consEtute	
  any	
  significant	
  
part	
  of	
  the	
  project.	
  Meanwhile	
  …	
  
§ AI	
  projects	
  require	
  so4ware	
  to	
  research	
  
§ These	
  projects	
  require	
  so4ware	
  to	
  use	
  AI	
  

www.       .co.uk                                                    The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                             the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



           Common	
  risk	
  sources	
  
          •  Unskilled	
                                                   •  Bugs	
  
          •  Leave	
  team	
                                               •  Increased	
  
                                                                              demands	
  


                                 People	
             Technology	
  




                                                        Scope	
  &	
  
                                 Budget	
  
                                                        Schedule	
  

          •  Unavailable	
                                                 •  Too	
  
          •  Too	
  low	
                                                     opEmisEc	
  
                                                                           •  Forgot	
  tasks	
  




www.   .co.uk                                                                The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                     the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                    Risk	
  strategies	
  
§ Avoidance	
  

§ RetenEon	
  

§ Sharing	
  

§ ReducEon	
  

	
  


www.       .co.uk                                               The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                        the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                      So'ware	
  quality	
  
There	
  are	
  many	
  so4ware	
  quality	
  factors,	
  among	
  
                                  Efficiency	
  
them:	
  
            Usability	
                                                          Security	
  



       Maintability	
  
                              Quality	
                                       Consistency	
  



                Reliability	
                                           Testability	
  

www.        .co.uk                                                         The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                   the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                       So'ware	
  quality	
  
These	
  factors	
  could	
  be	
  divided	
  into	
  2	
  groups	
  
relaEng	
  to:	
  

• users	
  

• developers	
  

       So'ware =	
  binaries +	
  code +	
  documenta:on	
  


www.          .co.uk                                                 The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                             the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                     So'ware	
  quality	
  
If	
  an	
  applicaEon	
  is	
  a	
  product	
  users	
  perceive	
  only	
  
its	
  „front”	
  parts:	
  

• GUI	
  

• Errors	
  

• DocumentaEon	
  


www.        .co.uk                                                    The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                              the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                    So'ware	
  metrics	
  
§ Tom	
  DeMarco	
  said	
  „You	
  can’t	
  control	
  what	
  you	
  
can’t	
  measure”	
  

§ So4ware	
  metrics	
  measure	
  some	
  properEes	
  of	
  a	
  
so4ware	
  or	
  its	
  specificaEon	
  e.g.	
  complexity,	
  
quality,	
  efficiency	
  or	
  size	
  


www.       .co.uk                                                    The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                             the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                             So'ware	
  es:ma:on	
  
                                                        EsEmaEon	
  




  Analogy	
                  WBS	
        Size-­‐based	
                   Group	
                Parametric	
                  CombinaEon	
  




  § EsEmaEon	
  problem	
  
                                           Known	
  that	
  
                                                                                                       I	
  think	
  I’ve	
  
                                            unknown	
  
                • Easy	
                                                 • Very	
  hard	
              forgonen	
  
                                       • Hard	
  
                                                                                 Unknown	
  
                       Known	
                                                 that	
  unknow	
        something,	
  but	
  
                                                                                                       what	
  was	
  it???	
  
www.               .co.uk                                                                 The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                                  the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



         Methodology	
  &	
  Life	
  cycle	
  
§ So4ware	
  methodology	
  defines	
  the	
  structure,	
  
plan	
  and	
  management	
  of	
  developed	
  so4ware	
  
§ Methodology	
  contains	
  development	
  philosophy	
  
and	
  tools,	
  methods	
  and	
  models	
  supporEng	
  the	
  
process	
  
§ Life	
  cycle	
  model	
  defines	
  the	
  phases	
  and	
  acEviEes	
  

www.      .co.uk                                                    The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                            the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



            M&LC–	
  staged	
  delivery	
  
  Requirements


                   Design


                            Implementation


                                                                  Verification



                                                                                              Maintenance



www.      .co.uk                                                    The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                            the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                M&LC	
  -­‐	
  spiral	
  	
  




                   Spiral	
  model	
  –	
  Boehm	
  1988	
  


www.   .co.uk                                                   The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                        the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



               M&LC	
  –	
  staged	
  delivery	
  
  Conception


                    Analysis


                                      Desing



                                                                              Stage 1


                                                                              Stage 2



                                                                              Stage n

www.       .co.uk                                                    The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                             the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



       M&LC	
  –	
  design	
  to	
  schedule	
  
 Conception


                   Analysis


                                       Desing


                                                                             Stage 1

                      Software
                                                                             Stage 2
                      release

                              Time? Costs?
                                                                             Stage n


www.      .co.uk                                                         The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                 the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                          M&LC	
  -­‐	
  Agile	
  
The	
  Agile	
  development	
  is	
  based	
  on	
  the	
  iteraEve	
  model	
  

        Ini:al	
  
       planning	
   Requirements	
           Analysis	
  and	
  
                                               design	
  

                      Planning	
                 Implementa:on	
  




                                                      Tes:ng	
  
                        Evalua:on	
  
                                                                                            Deployment	
  


www.        .co.uk                                                         The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                   the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                            M&LC	
  -­‐	
  XP	
  
Extreme	
  programming	
  is	
  an	
  Agile	
  implementaEon:	
  
§ Programming	
  in	
  pairs	
  
§ Extensive	
  code	
  review	
  
§ Avoids	
  the	
  programming	
  required	
  in	
  the	
  future	
  
§ Automated	
  tasks	
  
§ Nothing	
  is	
  fixed	
  i.e.	
  everything	
  could	
  be	
  redone	
  

www.       .co.uk                                                      The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                               the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                     M&LC	
  -­‐	
  SCRUM	
  	
  
§ Project	
  is	
  being	
  developed	
  by	
  Pigs	
  &	
  Chickens	
  

§ Pig	
  is	
  commined	
  to	
  the	
  project	
  i.e.	
  ScrumMaster,	
  
Team,	
  ProductOwner	
  

§ Chicken	
  is	
  involved	
  i.e.:	
  Stakeholder,	
  Manager	
  




www.       .co.uk                                                    The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                             the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                      M&LC	
  -­‐	
  SCRUM	
  	
  
The	
  essenEal	
  part	
  of	
  Scrum	
  are	
  the	
  meeEngs:	
  
§ Daily	
  Scrum	
  –	
  short	
  Eme	
  (approx.	
  15	
  minutes),	
  daily	
  
report,	
  all	
  people	
  take	
  part	
  
§ Scrum	
  of	
  scrums	
  –	
  daily	
  meeEng,	
  a4er	
  daily	
  scrum,	
  
limited	
  audience	
  
§ Sprint	
  Planning	
  Mee:ng	
  –	
  begins	
  each	
  sprint	
  cycle	
  
                                      &	
  Retrospec:ve –	
  end	
  each	
  
sprint	
  cycle	
  

www.       .co.uk                                                      The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                               the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                M&LC	
  –	
  Unified	
  Process	
  
§ Is	
  an	
  iteraEve	
  so4ware	
  development	
  framework	
  
       IncepEon	
                ElaboraEon	
                          ConstrucEon	
                                 TransiEon	
  



                                                                  Architecture	
  
                                          IteraEve	
  
                                                                     centric	
  



                        Use	
  Case	
  
                                                                                       Risk	
  focused	
  
                         Driven	
  
                                                        UP	
  
                                                     ObjecEves	
  



www.           .co.uk                                                                       The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                                    the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                   M&LC	
  –	
  UP	
  versions	
  
                                                                                                            Use	
  components	
  

§ RaEonal	
  Unifed	
  Process	
                                      Model	
  visually	
  




§ Agile	
  Unified	
  Process	
                                 Manage	
  
                                                              requirements	
  


§ Open	
  Unified	
  Process	
                                                                                 RUP	
  Six	
  
                                                                                                                best	
  
                                                                                                              pracEces	
  
                                                              Verify	
  quality	
  
§ Enterprise	
  Unified	
  Process	
  

                                                                           Develop	
  
                                                                          iteraEvely	
  
                                                                                                            Control	
  changes	
  




www.      .co.uk                                                            The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                    the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                               M&LC–	
  selec:on	
  
The	
  factors	
  that	
  influences	
  life	
  cycle	
  selecEon	
  are:	
  
§ Size	
  of	
  project	
  
§ Understood	
  requirements	
  
§ Desired	
  reliability	
  	
  
§ Allowed	
  overheads	
  
§ Progress	
  visibility	
  
§ SophisEcated	
  management	
  
§ Allowed	
  correcEons	
  



www.              .co.uk                                                           The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                           the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                       M&LC	
  -­‐	
  summary	
  
§ Waterfall	
  is	
  sEll	
  the	
  most	
  frequently	
  used	
  model	
  by	
  
the	
  biggest	
  so4ware	
  companies	
  

§ But	
  they	
  do	
  it	
  preparing	
  „yet	
  another	
  version	
  of	
  X”	
  

§ AI	
  projects	
  are	
  usually	
  new	
  for	
  you	
  as	
  well	
  as	
  for	
  
everyone	
  else,	
  so	
  do	
  not	
  expect	
  it	
  to	
  be	
  as	
  easy	
  as	
  
so4ware	
  menEoned	
  above	
  

www.         .co.uk                                                         The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                    the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                              Collabora:on	
  
                 Member	
                                                                Member	
  




Member	
       Leader	
           Member	
                     Member	
               Leader	
                            Member	
  




                 Member	
                                                                Member	
  



    Homogeneous	
  research	
  team	
                                Heterogeneous	
  so4ware	
  team	
  


www.          .co.uk                                                            The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                        the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                   Project	
  controlling	
  	
  
Project	
  controlling	
  requires	
  clear	
  definiEon	
  of	
  the	
  
responsibiliEes:	
  

§ Who,	
  what,	
  whom and	
  when	
  

§ Needs	
  reports,	
  working	
  documents,	
  
communicates,	
  standards,	
  plans	
  or	
  charts	
  


www.      .co.uk                                                   The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                           the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  




                So'ware	
  design	
  




www.   .co.uk                                               The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                    the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                        Architecture	
  
§ Architecture	
   is	
   a	
   high	
   level	
   planning	
   for	
   the	
  
so4ware	
   that	
   does	
   not	
   involve	
   any	
   funcEonal	
  
decisions	
  


 Requriements	
       Architecture	
                       Design	
                               Code	
  




www.       .co.uk                                                     The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                              the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                                           Views	
  
The	
  views	
  are	
  perspecEves	
  that	
  are	
  used	
  to	
  represent	
  different	
  aspect	
  of	
  
the	
  system:	
  
§ Code/module	
  view	
  
§ Concurrency/process/thread	
  view	
  
§ Data	
  view	
  
§ Development/structural	
  view	
  
§ FuncEonal/logic	
  view	
  
§ Physical/deployment	
  view	
  
§ User	
  acEon/feedback	
  view	
  

www.             .co.uk                                                           The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                          the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                         Frameworks	
  
So4ware	
  architecture	
  is	
  defined	
  by	
  various	
  frameworks	
  
defining	
  its	
  necessary	
  elements:	
  
§ 4+1	
  
§ RM-­‐ODP	
  
§ DODAF	
  
§ SOMF	
  
§ …	
  


www.          .co.uk                                                   The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                               the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                   Frameworks	
  -­‐	
  4+1	
  

                                             Process	
  view	
  




                                                                                   Development	
  
                Logical	
  view	
  
                                                                                      view	
  


                                         4+1	
  
                             Scenarios	
                           Physical	
  view	
  




www.   .co.uk                                                                           The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                                the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                    Design	
  concepts	
  
§ AbstracEon	
  &	
  refinement	
  –	
  generalisaEon	
  	
  

§ Modularity	
  

§ Hierarchy	
  

§ InformaEon	
  &	
  funcEonality	
  enclosure	
  

§ Structural	
  parEEoning	
  –	
  verEcal	
  &	
  horizontal	
  


www.      .co.uk                                                   The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                           the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                                  UML	
  
Unified	
  Modeling	
  Language:	
  

§ Object	
  oriented	
  

§ Unified	
  Booch,	
  OOSE,	
  OMT	
  modelling	
  methods	
  

§ Currently	
  in	
  2.2	
  version	
  –	
  the	
  most	
  of	
  so4ware	
  
supports	
  2.0	
  


www.       .co.uk                                                     The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                              the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                                                  UML	
  Diagrams	
  


                                                                                                 UML	
  




                                          Structure	
                                                                                                Behaviour	
  



                               Composite	
                                                                                                                                            State	
  
Class	
     Component	
         Structure	
           Package	
      Object	
             Deployment	
            InteracEon	
          Use	
  Case	
                  AcEvity	
     Machine	
  



                                                                                                           Communica        InteracEon	
  
                                                                                  Sequence	
                  Eon	
          overview	
                   Timing	
  




   www.                     .co.uk                                                                                        The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                                                                  the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                    UML	
  Advantages	
  
UML	
  became	
  an	
  industry	
  standard	
  due	
  to:	
  

§ VisualisaEon	
  

§ DocumenEng	
  

§ Specifying	
  

§ ConstrucEng	
  


www.      .co.uk                                                   The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                           the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                            UML	
  Tools	
  
§ Papyrus	
  –	
  hnp://www.papyrusuml.org	
  	
  
§ Poseidon	
  for	
  UML	
  	
  -­‐	
  hnp://www.gentleware.com	
  
§ Visual	
  Paradigm	
  for	
  UML	
  -­‐	
  hnp://www.visual-­‐
paradigm.com	
  
§ Umbrello	
  UML	
  Modeller	
  –	
  hnp://uml.sourceforge.net	
  
§ StarUML	
  –	
  hnp://staruml.sourceforge.net	
  



www.        .co.uk                                                     The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                               the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                     Suppor:ng	
  tools	
  
§ Let’s	
  take	
  a	
  look	
  at	
  the	
  supporEng	
  tools	
  

§ If	
  something	
  could	
  be	
  done	
  simpler	
  and	
  at	
  least	
  
with	
  the	
  same	
  quality	
  

§ Use	
  them	
  and	
  forget	
  the	
  Eme-­‐consuming	
  
repeEve	
  tasks	
  and	
  focus	
  on	
  the	
  difficult	
  ones	
  


www.        .co.uk                                                     The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                               the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                       Version	
  controlling	
  
§ How	
  to	
  avoid	
  the	
  mess	
  dealing	
  with	
  the	
  different	
  
versions	
  of	
  files	
  in	
  projects?	
  

§ The	
  source	
  code	
  is	
  constantly	
  changing	
  …	
  

§ The	
  AI	
  files	
  too	
  …	
  




www.          .co.uk                                                         The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                     the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                            Version	
  controlling	
  
Version	
  controlling	
  allows	
  the	
  development	
  team	
  to	
  manage	
  
different	
  versions	
  of	
  so4ware.	
  They	
  keep	
  track	
  of	
  work	
  and	
  
allow	
  the	
  team	
  to	
  look	
  at	
  the	
  project’s	
  past.	
  
	
  
There	
  are	
  3	
  kinds	
  of	
  version	
  controlling	
  systems:	
  
§ Local	
  	
  
§ Distributed	
  
§ Client-­‐server	
  

www.               .co.uk                                                        The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                         the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



 Version	
  controlling	
  –	
  local	
  systems	
  
§ Revision	
  Control	
  System	
  

§ Source	
  Conde	
  Control	
  System	
  

§ MKS	
  Implementer	
  

§ History	
  Explorer	
                                           PC Rep




www.      .co.uk                                                   The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                           the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



       Version	
  controlling	
  -­‐	
  distributed	
  
§ DCVS	
  (Distributed	
  CVS)	
  
§ Monotone	
                                                   PC Rep

§ GNU	
  arch	
  
§ PlasEc	
  SCM	
                                              PC Rep

§ BitKeeper	
  
§ TeamWare	
                                                   PC Rep



www.        .co.uk                                                   The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                             the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



 Version	
  controlling	
  –	
  client/server	
  
§ CVS	
                                                                   Client

§ SVN	
  
§ Codendi	
          Server   Rep                                          Client


§ ClearCase	
  
                                                                            Client
§ Visual	
  SourceSafe	
  
§ Autodesk	
  Valut	
  

www.         .co.uk                                                        The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                   the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



   Suppor:ng	
  tools	
  &	
  technologies	
  
       1        •  Compilation

       2        •  Binaries packaging

       3        •  Testing

       4        •  Deployment

       5        •  Documenting

www.       .co.uk                                              The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                       the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



       Automated	
  builds	
  -­‐	
  advantages	
  
§ Efficiency	
  increase	
  
§ Development	
  process	
  simplificaEon	
  
§ Increased	
  so4ware	
  quality	
  
§ Reduced	
  costs	
  
§ False	
  version	
  removal	
  
§ ReducEon	
  of	
  the	
  development	
  team	
  or	
  task	
  relocaEon	
  
§ Project	
  archiving	
  

www.        .co.uk                                                         The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                   the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                        Automated	
  builds	
  
The	
  automated	
  build	
  tools	
  include:	
  
§ make	
  
                                                                        Scheduled	
  
§ Maven	
  
§ Ant	
                           On-­‐demand	
                                                      Triggered	
  


§ MSBuild	
  
§ Cmake	
  
                                                                        Build	
  
§ and	
  many	
  others	
  

www.           .co.uk                                                        The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                     the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



           Automated	
  tes:ng	
  -­‐	
  make	
  
An	
  example	
  of	
  makefile	
  taken	
  from	
  QT	
  library.	
  
PNGMAK=scripts/makefile.linux

all:
       cd zlib; ./configure; make
       cd libpng; make -f $(PNGMAK)

clean:
     -cd zlib; make clean
     -cd libpng; make -f $(PNGMAK) clean




www.        .co.uk                                                     The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                               the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



               Automated	
  tes:ng	
  -­‐	
  Ant	
  
<project name="MyProject" default="dist" basedir=".">
    <description>simple example build file</description>
  <!-- set global properties for this build -->
  <property name="src" location="src"/>
  <property name="build" location="build"/>
  <property name="dist" location="dist"/>
  <target name="init">
    <!-- Create the time stamp -->
    <tstamp/>
    <!-- Create the build directory structure used by compile -->
    <mkdir dir="${build}"/>
  </target>
  <target name="compile" depends="init” description="compile the source " >
    <!-- Compile the java code from ${src} into ${build} -->
    <javac srcdir="${src}" destdir="${build}"/>
  </target>
  <target name="dist" depends="compile” description="generate the distribution" >
    <!-- Create the distribution directory -->
    <mkdir dir="${dist}/lib"/>
    <!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file -->
    <jar jarfile="${dist}/lib/MyProject-${DSTAMP}.jar" basedir="${build}"/>
  </target>
  <target name="clean” description="clean up" >
    <!-- Delete the ${build} and ${dist} directory trees -->
    <delete dir="${build}"/>
    <delete dir="${dist}"/>
  </target>
</project>

www.          .co.uk                                                        The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                    the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



        Automated	
  tes:ng	
  -­‐	
  Maven	
  
<project xmlns="http://maven.apache.org/POM/4.0.0" mlns:xsi="http://
www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://
maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Maven Quick Start Archetype</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>
www.       .co.uk                                                  The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                           the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



              Automated	
  tes:ng	
  -­‐	
  unit	
  
       Data                 The	
   most	
   popular	
   unit	
   tesEng	
   tool	
  
                            is	
   xUnit	
   available	
   in	
   many	
   versions	
  
                            for	
  all	
  popular	
  languages	
  
                                Data                     Data                   Data                            Data



                       vs

Test ABCD Test A Test B Test C Test D

www.          .co.uk                                                       The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                   the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



            Automated	
  tes:ng	
  -­‐	
  system	
  


A u t o m a t e d	
   G U I	
   t e s t s	
                              Machnie
                                                                                                         Scope of
                                                                         does not
                                                                                                          tests
perceive	
   the	
   applicaEon	
   as	
                                get borred

a	
   black-­‐box	
   and	
   test	
   it	
   from	
                      Speed of                     Reliability
                                                                           testing                      of tests
the	
  user’s	
  perspecEve.	
  



 www.            .co.uk                                                           The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                          the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                    Code	
  documen:ng	
  
§ AutomaEc	
  API	
  documentaEon	
  tools:	
  
                                                                                         Doc	
  
                      Code	
                              Doc	
  
                                                                           Code	
  
§ JavaDoc	
  

§ DoxyGen	
                        Manual	
                                               AutomaEc	
  
                                 documentaEon	
                                          documentaEon	
  
§ RoboDoc	
  

§ …	
  


www.       .co.uk                                                           The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                    the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                           Bug	
  tracking	
  
Issue/Bug	
  Tracking	
  Systems	
  usage	
  leads	
  to:	
  
§ Bener	
  quality	
  control	
  
§ Gaining	
  users’	
  feedback	
  
§ Bener	
  resource	
  allocaEon	
  
§ Increased	
  users’	
  comfort	
  
§ Bener	
  informaEon	
  flow	
  
§ Feature	
  request	
  available	
  

www.        .co.uk                                                         The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                   the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



       Bug	
  tracking	
  –	
  bug	
  categories	
  

                            CriEcal	
  
                                High	
  
                         Medium	
  

                                 Low	
  

                        CosmeEc	
  

www.      .co.uk                                              The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                      the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                       Bug	
  tracking	
  
§ Bugzilla	
  

§ Flyspray	
  

§ ManEs	
  

§ Trac	
  

§ Redmine	
  


www.          .co.uk                                             The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                         the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                 Bug	
  tracking	
  
                Design and implementation
                             Ideas

                           Testing
                              Bugs

                       Deployment
                   Bugs and requests

                            Usage
                   Buga and requests

www.   .co.uk                                                The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                     the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  




                AI	
  implementa:on	
  




www.   .co.uk                                                The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                     the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                      Implementa:on	
  
§ Transforms	
  the	
  design	
  (plan)	
  into	
  the	
  code	
  

§ Problems:	
  
       §  Technology	
  

       §  Programming	
  language	
  




www.         .co.uk                                                  The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                             the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



  Levels	
  of	
  programming	
  languages	
  

                                                                                  Logical	
  programming	
  
            Levels	
  of	
  programming	
  languages


                                                                               Specialised	
  programming	
  

                                                                                   General	
  (high	
  level)	
  
                                                                                     programming	
  

                                                                               Assembler	
  programming	
  


                                                                                Machine	
  programming	
  




www.   .co.uk                                                                                     The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                                          the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                       1st	
  genera:on	
  
§ The	
  code	
  lines	
  are	
  equal	
  to	
  the	
  processor	
  
instrucEons	
  –	
  one	
  to	
  one	
  

§ Machine	
  code	
  




www.       .co.uk                                                      The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                               the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                   2nd	
  genera:on	
  
§ Symbolic	
  representaEon	
  
of	
  processor’s	
  
instrucEons	
  

§ Assembler	
  language	
  




www.      .co.uk                                                The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                        the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                   3rd	
  genera:on	
  
§ InstrucEons	
  represent	
  the	
  basic	
  operaEons	
  

§ Oriented	
  on	
  programmer	
  

§ Most	
  popular	
  generaEon	
  




www.     .co.uk                                                  The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                         the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                        4th	
  genera:on	
  
§ Specialised	
  languages	
  oriented	
  on	
  advanced	
  
operaEons	
  

§ RAD	
  tools	
  are	
  4GL	
  build	
  over	
  3GL	
  



disp('Hello, world!')                                                             (Hello, world!n) print




www.          .co.uk                                                   The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                               the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                             5th	
  genera:on	
  
§ Represent	
  not	
  algorithms	
  but	
  desired	
  outcome	
  

§ Logical	
  programming	
  

§ Programming	
  for	
  non-­‐programmers	
  



                                                                            Prolog
       (write-line "Hello, world!")                                         :- write('Hello, world!'),nl.



www.           .co.uk                                                          The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                       the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



 Hybrid	
  programming	
  –	
  embedding	
  
Hybrid	
  programming	
  (embedding	
  languages)	
  
could	
  be	
  synergic	
  but:	
  

§ Increases	
  the	
  technological	
  risk	
  

§ Increases	
  the	
  demand	
  on	
  skilled	
  developers	
  

§ Blurs	
  the	
  project	
  


www.        .co.uk                                                     The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                               the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



          Programming	
  paradigms	
  
§ Paradigm	
  is	
  a	
  fundamental	
  style	
  of	
  computer	
  
programming	
  and	
  defines	
  the	
  concept	
  of	
  
programming	
  language	
  
§ The	
  most	
  of	
  programming	
  languages	
  support	
  
various	
  paradigms	
  (different	
  approaches	
  to	
  
problem)	
  

www.      .co.uk                                                    The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                            the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



           Programming	
  paradigms	
  
The	
  most	
  popular	
  paradigms	
  are:	
  
§ Agent-­‐oriented	
  
§ DeclaraEve	
  
§ Event-­‐driven	
  
§ ImperaEve	
  
§ Metaprogramming	
  

www.       .co.uk                                                   The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                            the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                   Desktop	
  applica:ons	
  
§ C/C++	
  

§ Java	
  

§ C#	
  

§ Python	
  




www.          .co.uk                                              The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                          the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



              Web	
  services	
  –	
  server	
  side	
  
§ Java	
  EE	
  
§ PHP	
  
§ Python	
  
§ Ruby	
  
§ Perl	
  
§ .NET	
  
§ CGI	
  (every	
  language	
  that	
  could	
  be	
  run	
  by	
  server)	
  

www.            .co.uk                                                      The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                    the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                         Web	
  services	
  -­‐	
  RIAs	
  
§ Flash	
  
§ AJAX	
  
§ Java	
  SE	
  
§ JavaFX	
  
§ FLEX	
  
§ OpenLaszlo	
  
§ Silverlight	
  

www.            .co.uk                                                    The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                  the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                      Mobile	
  applica:ons	
  
§ Java	
  ME	
  

§ C++	
  

§ ObjecEve-­‐C	
  




www.         .co.uk                                                 The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                            the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



               Languages	
  popularity	
  
        Posi:on	
         Posi:on	
         Programming	
            Ra:ngs	
           Delta	
  	
  
                                                                                                               Status	
  
        Apr	
  2010	
     Apr	
  2009	
       Language	
            Apr	
  2010	
      Apr	
  2009	
  

              1	
               2	
                  C	
            18.058%	
           +2.59%	
                  	
  	
  A	
  

              2	
               1	
               Java	
            18.051%	
           -­‐1.29%	
                	
  	
  A	
  
              3	
               3	
               C++	
              9.707%	
           -­‐1.03%	
                	
  	
  A	
  
              4	
               4	
               PHP	
              9.662%	
           -­‐0.23%	
                	
  	
  A	
  
              5	
               5	
         (Visual)	
  Basic	
      6.392%	
           -­‐2.70%	
                	
  	
  A	
  
              6	
               7	
               C#	
               4.435%	
           +0.38%	
                  	
  	
  A	
  
              7	
               6	
             Python	
             4.205%	
           -­‐1.88%	
                	
  	
  A	
  
              8	
               9	
              Perl	
              3.553%	
           +0.09%	
                  	
  	
  A	
  
              9	
              11	
             Delphi	
             2.715%	
           +0.44%	
                  	
  	
  A	
  
             10	
               8	
           JavaScript	
           2.469%	
           -­‐1.21%	
                	
  	
  A	
  

             11	
              42	
          ObjecEve-­‐C	
          2.288%	
           +2.15%	
                  	
  	
  A	
  
             12	
              10	
              Ruby	
              2.221%	
           -­‐0.35%	
                	
  	
  A	
  
             13	
              14	
               SAS	
              0.717%	
           -­‐0.07%	
                	
  	
  A	
  
             14	
              12	
             PL/SQL	
             0.710%	
           -­‐0.38%	
                	
  	
  A	
  
             15	
               -­‐	
             Go	
               0.710%	
           +0.71%	
                  	
  	
  A	
  
             16	
              15	
             Pascal	
             0.648%	
           -­‐0.07%	
                	
  	
  B	
  
             17	
              17	
              ABAP	
              0.625%	
           -­‐0.03%	
                	
  	
  B	
  
             18	
              20	
            MATLAB	
              0.616%	
           +0.13%	
                  	
  	
  B	
  

             19	
              22	
         AcEonScript	
            0.545%	
           +0.09%	
                  	
  	
  B	
  
             20	
              19	
                Lua	
             0.521%	
           +0.03%	
                  	
  	
  B	
  
              hnp://www.Eobe.com/index.php/content/paperinfo/tpci/index.html	
  
www.   .co.uk                                                                                 The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                                      the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



           Characteris:cs	
  -­‐	
  domain	
  
§ Specialised	
  –	
  good	
  at	
  something	
  but	
  below	
  
average	
  on	
  other	
  things	
  

§ General	
  purpose	
  –	
  no	
  specific	
  domain	
  and	
  a	
  
compromise	
  on	
  all	
  tasks	
  




www.       .co.uk                                                    The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                             the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



              Characteris:cs	
  -­‐	
  speed	
  
§ Compiled	
  faster	
  
§ Interpreted	
  slower	
  
But:	
  
§ Compiled	
  start-­‐up	
  slower	
  
§ Interpreted	
  start-­‐up	
  faster	
  (write-­‐run-­‐test	
  cycle)	
  
JIT	
  compilers	
  for	
  interpreted	
  languages	
  

www.       .co.uk                                                      The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                               the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



         Characteris:cs	
  -­‐	
  portability	
  
So4ware	
  could	
  be	
  portable	
  on	
  two	
  levels:	
  
§ Source	
  code	
  
§ Binary	
  code	
  


Portability	
  does	
  not	
  relate	
  only	
  to	
  the	
  programming	
  
language	
  but	
  also	
  to	
  used	
  libraries	
  

www.        .co.uk                                                      The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



       Characteris:cs	
  -­‐	
  prototyping	
  
Ability	
  to	
  verify	
  the	
  assumpEon:	
  

§ Dynamic	
  language	
  

§ Simple	
  syntax	
  

§ Efficiency	
  isn’t	
  a	
  main	
  concern	
  

§ Checks	
  if	
  the	
  idea	
  works	
  


www.        .co.uk                                                      The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



   Characteris:cs	
  –	
  target	
  pla`orm	
  
Target	
  plazorm:	
  

§ PC	
  

§ Mobile	
  

§ Web	
  




www.         .co.uk                                            The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                       the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                    Computer	
  languages	
  

                                                                                           …	
           C/C++	
  
                                 (C)Lisp	
  
       Matlab	
  
                                  Clips	
  
       Scilab	
  
                                 Prolog	
                                    RIA	
                                      Java	
  


                                                                                Ruby	
                           Python	
  
                    Others	
  
                                                                                                   PHP	
  


       Scientific perspective                                                  Programming perspective

www.      .co.uk                                                                       The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                               the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



   Why	
  use	
  a	
  specialised	
  languages	
  
§ Popular	
  in	
  the	
  research	
  community	
  

§ Specialized	
  languages	
  

§ Many	
  libraries/toolkits	
  and	
  examples	
  are	
  
available	
  	
  




www.        .co.uk                                                 The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                           the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                     Why	
  not	
  use	
  them	
  
§ Specialised	
  not	
  universal	
  

§ High	
  price	
  

§ Simple	
  or	
  no	
  GUI	
  

§ No	
  networking	
  

§ Research	
  not	
  producEon	
  languges	
  


www.        .co.uk                                                       The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                 the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



  Important	
  programming	
  features	
  
Dynamic	
  languages:	
  

§ Do	
  not	
  care	
  about	
  types	
  of	
  data	
  

§ Focus	
  on	
  the	
  algorithms	
  

§ But	
  reject	
  a	
  full	
  data	
  control	
  




www.        .co.uk                                                        The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                  the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



  Important	
  programming	
  features	
  
Prototyping:	
  

§ Checks	
  algorithms	
  

§ Easily	
  visualise	
  data	
  or	
  make	
  GUI	
  

§ Speed	
  is	
  measured	
  as	
  the	
  Eme	
  of	
  coding	
  not	
  
running	
  


www.       .co.uk                                                     The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                              the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



  Important	
  programming	
  features	
  
ScienEfic	
  libraries:	
  
§ How	
  o4en	
  do	
  we	
  construct	
  new	
  algorithms	
  
(Charlie	
  Eppes	
  Syndrome	
  –	
  NUMB3RS)?	
  
§ The	
  applicaEon	
  is	
  more	
  like	
  a	
  large	
  panel	
  building	
  
than	
  brick	
  building	
  –	
  applies	
  to	
  the	
  AI	
  problems	
  as	
  
well	
  as	
  to	
  the	
  „ordinary”	
  so4	
  

www.       .co.uk                                                      The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                               the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



  Important	
  programming	
  features	
  
Visual	
  design	
  (graphical	
  programming):	
  
§ GUI	
  could	
  be	
  constructed	
  using	
  components	
  
§ Link	
  the	
  components	
  visually	
  	
  
§ Evaluate	
  applicaEon	
  faster	
  
                                                                                                               Core	
  

 Core	
                                                                                                        GUI	
  

  GUI	
  

www.        .co.uk                                                The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                          the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  

                  More	
  important	
  part	
  of	
  AI	
  
                            so'ware	
  

                           An	
  
                                                                              Knowledge	
  
       Intelligent	
                                                                Models	
  
                                                                                     Rules	
  
                              Mechanism	
  
                                                                                    Graphs	
  




www.                     .co.uk                                                      The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                             the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



       Hybrid	
  so'ware	
  development	
  

               Research                                              Development


                                                                             ???




                                                                                                                  Product
                           Technology X
  Idea




                               Replanning
          Technology X    ??   & redesign
                                                               Technology Y                      ??




www.      .co.uk                                                        The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



       Programming	
  libraries	
  –	
  C/C++	
  
§ MLC++	
  hnp://www.sgi.com/tech/mlc/	
  
§ FANN	
  hnp://leenissen.dk/fann/	
  
§ Waffles	
  hnp://waffles.sourceforge.net/	
  
§ OpenCV	
  ML	
  
hnp://opencv.willowgarage.com/documentaEon/cpp/
ml._machine_learning.html	
  
§ dlib	
  C++	
  hnp://dlib.net/	
  
§ VFML	
  hnp://www.cs.washington.edu/dm/vfml/	
  

www.         .co.uk                                                           The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                      the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



       Programming	
  libraries	
  –	
  Java	
  
§ Java-­‐ML	
  hnp://java-­‐ml.sourceforge.net/	
  

§ Weka	
  Engine	
  hnp://www.cs.waikato.ac.nz/ml/
weka/	
  

§ MLJ	
  hnp://sourceforge.net/projects/mldev/	
  

§ MALLET	
  hnp://mallet.cs.umass.edu/	
  

§ LIBSVM	
  hnp://www.csie.ntu.edu.tw/~cjlin/libsvm/	
  

www.        .co.uk                                               The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                         the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



        Programming	
  libraries	
  –	
  C#	
  
§ Infer.NET	
  hnp://research.microso4.com/en-­‐us/um/cambridge/
projects/infernet/	
  
§ AForge.NET	
  hnp://code.google.com/p/aforge/	
  
§ C#	
  Neural	
  Network	
  Library	
  hnp://franck.fleurey.free.fr/
NeuralNetwork/	
  
§ NeuronDotNet	
  hnp://neurondotnet.freehosEa.com/	
  
§ NeuroBox	
  Neural	
  Network	
  Library	
  hnp://www.cdrnet.net/
projects/neuro/	
  


www.       .co.uk                                                     The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                              the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



       Programming	
  libraries	
  –	
  Python	
  
§ Orange	
  engine	
  hnp://www.ailab.si/orange/	
  

§ PyML	
  hnp://pyml.sourceforge.net/	
  

§ MDP	
  hnp://mdp-­‐toolkit.sourceforge.net/	
  

§ PyBrain	
  hnp://www.pybrain.org/	
  

§ LIBSVM	
  hnp://www.csie.ntu.edu.tw/~cjlin/libsvm/	
  


www.       .co.uk                                              The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                       the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



       Programming	
  libraries	
  –	
  PHP	
  
§ FANN	
  PHP	
  Extension	
  hnp://
fann.sourceforge.net/fann.html	
  
§ Tremani	
  Neural	
  Network	
  hnp://www.tremani.nl/
open-­‐source/neural-­‐network/	
  
§ ANN	
  hnp://ann.thwien.de/index.php/Main_Page	
  



www.     .co.uk                                                 The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                        the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                     Example	
  I	
  –	
  Java	
  
§ A	
  simple	
  data	
  mining	
  task	
  

§ Uses	
  Java-­‐ML	
  library	
  




www.       .co.uk                                                      The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                               the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                     Example	
  II	
  –	
  Python	
  
§ AdapEve	
  filtering	
  algorithm	
  

§ Use	
  as	
  a	
  web	
  service	
  (server	
  part)	
  

§ Use	
  mod_python	
  on	
  Apache	
  

	
  




www.        .co.uk                                                      The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                                the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  



                    Example	
  III	
  –	
  Flex	
  
§ ParEcle	
  Swarm	
  OpEmisaEon	
  example	
  

§ RIA	
  applicaEon	
  

§ Uses	
  a	
  standard	
  Flex	
  without	
  any	
  addiEonal	
  
libraries	
  




www.       .co.uk                                                   The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                            the	
  AI-­‐oriented	
  projects	
  
SETN	
  2010	
  -­‐	
  TUTORIAL	
  




       Thank	
  you.	
  Any	
  ques:ons?	
  




www.   .co.uk                                             The	
  so4ware	
  management	
  and	
  engineering	
  in	
  	
  
                                                                                  the	
  AI-­‐oriented	
  projects	
  

Contenu connexe

Similaire à Sdart AI software developement tutorial

E-Business Suite 1 | Jeannie Dobney | Oracle Project Management for Users of ...
E-Business Suite 1 | Jeannie Dobney | Oracle Project Management for Users of ...E-Business Suite 1 | Jeannie Dobney | Oracle Project Management for Users of ...
E-Business Suite 1 | Jeannie Dobney | Oracle Project Management for Users of ...InSync2011
 
Service Integration Goes Social with EasySOA - OpenWorldForum 2011
Service Integration Goes Social with EasySOA - OpenWorldForum 2011Service Integration Goes Social with EasySOA - OpenWorldForum 2011
Service Integration Goes Social with EasySOA - OpenWorldForum 2011Marc Dutoo
 
Agiles2011 - A story of transformation: how Lean & Agile + Nearhore can incre...
Agiles2011 - A story of transformation: how Lean & Agile + Nearhore can incre...Agiles2011 - A story of transformation: how Lean & Agile + Nearhore can incre...
Agiles2011 - A story of transformation: how Lean & Agile + Nearhore can incre...Fernando Ostanelli
 
A Story of Transformation: How Lean & Agile + Nearshore Outsourcing Can Incre...
A Story of Transformation: How Lean & Agile + Nearshore Outsourcing Can Incre...A Story of Transformation: How Lean & Agile + Nearshore Outsourcing Can Incre...
A Story of Transformation: How Lean & Agile + Nearshore Outsourcing Can Incre...CI&T
 
Best IEEE Project Center in Nagercoil- Document Share- AB Technologies.docx
Best IEEE Project Center in Nagercoil- Document Share- AB Technologies.docxBest IEEE Project Center in Nagercoil- Document Share- AB Technologies.docx
Best IEEE Project Center in Nagercoil- Document Share- AB Technologies.docxabtechnology
 
FIWARE Global Summit - The Smart Industry Mission Support Committee and FIWA...
FIWARE Global Summit - The Smart Industry Mission Support Committee and FIWA...FIWARE Global Summit - The Smart Industry Mission Support Committee and FIWA...
FIWARE Global Summit - The Smart Industry Mission Support Committee and FIWA...FIWARE
 
eclipse day Sydney agenda speakers 2015
eclipse day Sydney agenda speakers 2015eclipse day Sydney agenda speakers 2015
eclipse day Sydney agenda speakers 2015Sai Paravastu
 
E-Business Suite 1 _ Dean Herback _ E-Business Suite Projects, vision, roadma...
E-Business Suite 1 _ Dean Herback _ E-Business Suite Projects, vision, roadma...E-Business Suite 1 _ Dean Herback _ E-Business Suite Projects, vision, roadma...
E-Business Suite 1 _ Dean Herback _ E-Business Suite Projects, vision, roadma...InSync2011
 
Projects FAIL if We do not Consider 5 DIMENSIONS!
Projects FAIL if We do not Consider 5 DIMENSIONS!Projects FAIL if We do not Consider 5 DIMENSIONS!
Projects FAIL if We do not Consider 5 DIMENSIONS!VSR *
 
Bill Saunders Resume
Bill Saunders ResumeBill Saunders Resume
Bill Saunders ResumeBill Saunders
 
Starting a Global PLM Implementation using an Agile Deployment Methodology wi...
Starting a Global PLM Implementation using an Agile Deployment Methodology wi...Starting a Global PLM Implementation using an Agile Deployment Methodology wi...
Starting a Global PLM Implementation using an Agile Deployment Methodology wi...Aras
 
20130123 og-aogeami-soa4 bt-overview
20130123 og-aogeami-soa4 bt-overview20130123 og-aogeami-soa4 bt-overview
20130123 og-aogeami-soa4 bt-overviewSUNDAR RAMANATHAN
 
The Strategic Facility Layout Problem in Industry
The Strategic Facility Layout Problem in IndustryThe Strategic Facility Layout Problem in Industry
The Strategic Facility Layout Problem in IndustryProplanner Asia
 
Intech corporation 2016 (1)
Intech corporation 2016 (1)Intech corporation 2016 (1)
Intech corporation 2016 (1)Rootkause .
 
Presentation at RegX on Business Model Innovation and Speed Creation 20120904
Presentation at RegX on Business Model Innovation and Speed Creation 20120904Presentation at RegX on Business Model Innovation and Speed Creation 20120904
Presentation at RegX on Business Model Innovation and Speed Creation 20120904Matthias Pohle
 

Similaire à Sdart AI software developement tutorial (20)

E-Business Suite 1 | Jeannie Dobney | Oracle Project Management for Users of ...
E-Business Suite 1 | Jeannie Dobney | Oracle Project Management for Users of ...E-Business Suite 1 | Jeannie Dobney | Oracle Project Management for Users of ...
E-Business Suite 1 | Jeannie Dobney | Oracle Project Management for Users of ...
 
Service Integration Goes Social with EasySOA - OpenWorldForum 2011
Service Integration Goes Social with EasySOA - OpenWorldForum 2011Service Integration Goes Social with EasySOA - OpenWorldForum 2011
Service Integration Goes Social with EasySOA - OpenWorldForum 2011
 
Agiles2011 - A story of transformation: how Lean & Agile + Nearhore can incre...
Agiles2011 - A story of transformation: how Lean & Agile + Nearhore can incre...Agiles2011 - A story of transformation: how Lean & Agile + Nearhore can incre...
Agiles2011 - A story of transformation: how Lean & Agile + Nearhore can incre...
 
A Story of Transformation: How Lean & Agile + Nearshore Outsourcing Can Incre...
A Story of Transformation: How Lean & Agile + Nearshore Outsourcing Can Incre...A Story of Transformation: How Lean & Agile + Nearshore Outsourcing Can Incre...
A Story of Transformation: How Lean & Agile + Nearshore Outsourcing Can Incre...
 
Are you ready for the transformation
Are you ready for the transformationAre you ready for the transformation
Are you ready for the transformation
 
Best IEEE Project Center in Nagercoil- Document Share- AB Technologies.docx
Best IEEE Project Center in Nagercoil- Document Share- AB Technologies.docxBest IEEE Project Center in Nagercoil- Document Share- AB Technologies.docx
Best IEEE Project Center in Nagercoil- Document Share- AB Technologies.docx
 
FIWARE Global Summit - The Smart Industry Mission Support Committee and FIWA...
FIWARE Global Summit - The Smart Industry Mission Support Committee and FIWA...FIWARE Global Summit - The Smart Industry Mission Support Committee and FIWA...
FIWARE Global Summit - The Smart Industry Mission Support Committee and FIWA...
 
eclipse day Sydney agenda speakers 2015
eclipse day Sydney agenda speakers 2015eclipse day Sydney agenda speakers 2015
eclipse day Sydney agenda speakers 2015
 
E-Business Suite 1 _ Dean Herback _ E-Business Suite Projects, vision, roadma...
E-Business Suite 1 _ Dean Herback _ E-Business Suite Projects, vision, roadma...E-Business Suite 1 _ Dean Herback _ E-Business Suite Projects, vision, roadma...
E-Business Suite 1 _ Dean Herback _ E-Business Suite Projects, vision, roadma...
 
Projects FAIL if We do not Consider 5 DIMENSIONS!
Projects FAIL if We do not Consider 5 DIMENSIONS!Projects FAIL if We do not Consider 5 DIMENSIONS!
Projects FAIL if We do not Consider 5 DIMENSIONS!
 
Bill Saunders Resume
Bill Saunders ResumeBill Saunders Resume
Bill Saunders Resume
 
Starting a Global PLM Implementation using an Agile Deployment Methodology wi...
Starting a Global PLM Implementation using an Agile Deployment Methodology wi...Starting a Global PLM Implementation using an Agile Deployment Methodology wi...
Starting a Global PLM Implementation using an Agile Deployment Methodology wi...
 
Resume-Arunachalam-with Appendix
Resume-Arunachalam-with AppendixResume-Arunachalam-with Appendix
Resume-Arunachalam-with Appendix
 
Ayyadevara Rangadham 1203
Ayyadevara Rangadham 1203Ayyadevara Rangadham 1203
Ayyadevara Rangadham 1203
 
20130123 og-aogeami-soa4 bt-overview
20130123 og-aogeami-soa4 bt-overview20130123 og-aogeami-soa4 bt-overview
20130123 og-aogeami-soa4 bt-overview
 
Cv jorge reales_en
Cv jorge reales_enCv jorge reales_en
Cv jorge reales_en
 
The Strategic Facility Layout Problem in Industry
The Strategic Facility Layout Problem in IndustryThe Strategic Facility Layout Problem in Industry
The Strategic Facility Layout Problem in Industry
 
INtools Training
INtools TrainingINtools Training
INtools Training
 
Intech corporation 2016 (1)
Intech corporation 2016 (1)Intech corporation 2016 (1)
Intech corporation 2016 (1)
 
Presentation at RegX on Business Model Innovation and Speed Creation 20120904
Presentation at RegX on Business Model Innovation and Speed Creation 20120904Presentation at RegX on Business Model Innovation and Speed Creation 20120904
Presentation at RegX on Business Model Innovation and Speed Creation 20120904
 

Dernier

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 

Dernier (20)

Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

Sdart AI software developement tutorial

  • 1. SETN  2010  -­‐  TUTORIAL   The  so'ware  management  and   engineering  in  the  AI-­‐oriented  projects   www.SDART.co.uk   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 2. SETN  2010  -­‐  TUTORIAL   Plan  of  presenta:on   § IntroducEon   § So4ware  project  management   § So4ware  design   § AI  implementaEon   § Examples  of  AI  so4ware   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 3. SETN  2010  -­‐  TUTORIAL   Introduc:on   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 4. SETN  2010  -­‐  TUTORIAL   Ar:ficial  Intelligence   From  the  so4ware  perspecEve:   § Ar:ficial  intelligence  =  research =  high  risk   Therefore  dealing  with  AI  in  so4ware  project  we   must  be  very  careful  and  select  the  proper   methods,  technologies  and  tools.   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 5. SETN  2010  -­‐  TUTORIAL   Project  success   Budget   Success   Quality   Time   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 6. SETN  2010  -­‐  TUTORIAL   Research  oriented  so'ware   § Time  and  budget  aren’t  usually  fixed  –  it  is   possible  to  extend  the  research   § Resources  are  flexible   § People  mainly  have  the  personal  interests  (fame,   dissertaEons,  publicaEons  …)   § Quality  (funcEonality)  is  the  main  concern   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 7. SETN  2010  -­‐  TUTORIAL   Product  oriented  so'ware   § Time  and  budget  are  usually  fixed   § Quality  is  adjusted  to  the  available  budget  and   schedule   § People  mainly  have  the  business  interests   § Resources  aren’t  flexible   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 8. SETN  2010  -­‐  TUTORIAL   AI  &  so'ware  in  projects   Struggle   AI    So4ware   AI    So4ware   Proper  management   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 9. SETN  2010  -­‐  TUTORIAL   This  tutorial   Reasons  to  propose  this  tutorial:   • There  exist  the  so4ware  projects  without  AI  but  I’m  not   sure  if  there  exist  AI  projects  without  the  so4ware   (embedded  count  too!)  …   • The  knowledge  about  the  so4ware  management  is   unpopular  among  AI  researchers   • At  SDART  we  deal  with  the  AI-­‐oriented  so4ware  projects     www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 10. SETN  2010  -­‐  TUTORIAL   This  tutorial   • Will:   •  present  a  selecEon  of  the  popular  techniques  and  methods  for  so4ware   development   •  evaluate  them  from  AI  perspecEve   •  propose  what  could  be  used   § Will  not:   •  say  what  have  to  be  used   •  be  a  guide  ready  to  be  applied  step-­‐by-­‐step   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 11. SETN  2010  -­‐  TUTORIAL   So'ware  project  management   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 12. SETN  2010  -­‐  TUTORIAL   AI  &  so'  –  PM  nightmare   § In  the  project  management  two  types  of  projects   are  the  symbols  of  unpredictability:   §  Research  projects   §  ….  so4ware  projects   § What  could  we  do  dealing  with  an  AI-­‐oriented   so4ware  projects?  Professionally  manage  them!   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 13. SETN  2010  -­‐  TUTORIAL   So'ware  development  schema   Planning   Deployment  &   Analysis   manitenance   Implementa:on   Design   &  coding   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 14. SETN  2010  -­‐  TUTORIAL   DM  management   § Data  mining  management  seems  to  be  more   organised  than  AI   § There  are  different  models  of  DM  organisaEon:   § CRISP-­‐DM   § SEMMA   § DMAIC/DMADV   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 15. SETN  2010  -­‐  TUTORIAL   CRISP-­‐DM   Business  understanding   Data  understanding   Data  preparaEon   Modeling   EvaluaEon   Deployment   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 16. SETN  2010  -­‐  TUTORIAL   SEMMA   Search   Explore   Modify   Model   Assess   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 17. SETN  2010  -­‐  TUTORIAL   DMAIC&DMADV   Define   Define   Measure   Measure   Analyse   Analyse   Improve   Design   Control   Verify   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 18. SETN  2010  -­‐  TUTORIAL   Management  model   § Can’t  we  use  any  DM  model  to  properly  manage   the  AI&so4ware  projects?  Yes  we  could  ….  only  if   the  so4ware  does  not  consEtute  any  significant   part  of  the  project.  Meanwhile  …   § AI  projects  require  so4ware  to  research   § These  projects  require  so4ware  to  use  AI   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 19. SETN  2010  -­‐  TUTORIAL   Common  risk  sources   •  Unskilled   •  Bugs   •  Leave  team   •  Increased   demands   People   Technology   Scope  &   Budget   Schedule   •  Unavailable   •  Too   •  Too  low   opEmisEc   •  Forgot  tasks   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 20. SETN  2010  -­‐  TUTORIAL   Risk  strategies   § Avoidance   § RetenEon   § Sharing   § ReducEon     www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 21. SETN  2010  -­‐  TUTORIAL   So'ware  quality   There  are  many  so4ware  quality  factors,  among   Efficiency   them:   Usability   Security   Maintability   Quality   Consistency   Reliability   Testability   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 22. SETN  2010  -­‐  TUTORIAL   So'ware  quality   These  factors  could  be  divided  into  2  groups   relaEng  to:   • users   • developers   So'ware =  binaries +  code +  documenta:on   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 23. SETN  2010  -­‐  TUTORIAL   So'ware  quality   If  an  applicaEon  is  a  product  users  perceive  only   its  „front”  parts:   • GUI   • Errors   • DocumentaEon   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 24. SETN  2010  -­‐  TUTORIAL   So'ware  metrics   § Tom  DeMarco  said  „You  can’t  control  what  you   can’t  measure”   § So4ware  metrics  measure  some  properEes  of  a   so4ware  or  its  specificaEon  e.g.  complexity,   quality,  efficiency  or  size   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 25. SETN  2010  -­‐  TUTORIAL   So'ware  es:ma:on   EsEmaEon   Analogy   WBS   Size-­‐based   Group   Parametric   CombinaEon   § EsEmaEon  problem   Known  that   I  think  I’ve   unknown   • Easy   • Very  hard   forgonen   • Hard   Unknown   Known   that  unknow   something,  but   what  was  it???   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 26. SETN  2010  -­‐  TUTORIAL   Methodology  &  Life  cycle   § So4ware  methodology  defines  the  structure,   plan  and  management  of  developed  so4ware   § Methodology  contains  development  philosophy   and  tools,  methods  and  models  supporEng  the   process   § Life  cycle  model  defines  the  phases  and  acEviEes   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 27. SETN  2010  -­‐  TUTORIAL   M&LC–  staged  delivery   Requirements Design Implementation Verification Maintenance www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 28. SETN  2010  -­‐  TUTORIAL   M&LC  -­‐  spiral     Spiral  model  –  Boehm  1988   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 29. SETN  2010  -­‐  TUTORIAL   M&LC  –  staged  delivery   Conception Analysis Desing Stage 1 Stage 2 Stage n www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 30. SETN  2010  -­‐  TUTORIAL   M&LC  –  design  to  schedule   Conception Analysis Desing Stage 1 Software Stage 2 release Time? Costs? Stage n www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 31. SETN  2010  -­‐  TUTORIAL   M&LC  -­‐  Agile   The  Agile  development  is  based  on  the  iteraEve  model   Ini:al   planning   Requirements   Analysis  and   design   Planning   Implementa:on   Tes:ng   Evalua:on   Deployment   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 32. SETN  2010  -­‐  TUTORIAL   M&LC  -­‐  XP   Extreme  programming  is  an  Agile  implementaEon:   § Programming  in  pairs   § Extensive  code  review   § Avoids  the  programming  required  in  the  future   § Automated  tasks   § Nothing  is  fixed  i.e.  everything  could  be  redone   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 33. SETN  2010  -­‐  TUTORIAL   M&LC  -­‐  SCRUM     § Project  is  being  developed  by  Pigs  &  Chickens   § Pig  is  commined  to  the  project  i.e.  ScrumMaster,   Team,  ProductOwner   § Chicken  is  involved  i.e.:  Stakeholder,  Manager   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 34. SETN  2010  -­‐  TUTORIAL   M&LC  -­‐  SCRUM     The  essenEal  part  of  Scrum  are  the  meeEngs:   § Daily  Scrum  –  short  Eme  (approx.  15  minutes),  daily   report,  all  people  take  part   § Scrum  of  scrums  –  daily  meeEng,  a4er  daily  scrum,   limited  audience   § Sprint  Planning  Mee:ng  –  begins  each  sprint  cycle   &  Retrospec:ve –  end  each   sprint  cycle   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 35. SETN  2010  -­‐  TUTORIAL   M&LC  –  Unified  Process   § Is  an  iteraEve  so4ware  development  framework   IncepEon   ElaboraEon   ConstrucEon   TransiEon   Architecture   IteraEve   centric   Use  Case   Risk  focused   Driven   UP   ObjecEves   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 36. SETN  2010  -­‐  TUTORIAL   M&LC  –  UP  versions   Use  components   § RaEonal  Unifed  Process   Model  visually   § Agile  Unified  Process   Manage   requirements   § Open  Unified  Process   RUP  Six   best   pracEces   Verify  quality   § Enterprise  Unified  Process   Develop   iteraEvely   Control  changes   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 37. SETN  2010  -­‐  TUTORIAL   M&LC–  selec:on   The  factors  that  influences  life  cycle  selecEon  are:   § Size  of  project   § Understood  requirements   § Desired  reliability     § Allowed  overheads   § Progress  visibility   § SophisEcated  management   § Allowed  correcEons   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 38. SETN  2010  -­‐  TUTORIAL   M&LC  -­‐  summary   § Waterfall  is  sEll  the  most  frequently  used  model  by   the  biggest  so4ware  companies   § But  they  do  it  preparing  „yet  another  version  of  X”   § AI  projects  are  usually  new  for  you  as  well  as  for   everyone  else,  so  do  not  expect  it  to  be  as  easy  as   so4ware  menEoned  above   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 39. SETN  2010  -­‐  TUTORIAL   Collabora:on   Member   Member   Member   Leader   Member   Member   Leader   Member   Member   Member   Homogeneous  research  team   Heterogeneous  so4ware  team   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 40. SETN  2010  -­‐  TUTORIAL   Project  controlling     Project  controlling  requires  clear  definiEon  of  the   responsibiliEes:   § Who,  what,  whom and  when   § Needs  reports,  working  documents,   communicates,  standards,  plans  or  charts   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 41. SETN  2010  -­‐  TUTORIAL   So'ware  design   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 42. SETN  2010  -­‐  TUTORIAL   Architecture   § Architecture   is   a   high   level   planning   for   the   so4ware   that   does   not   involve   any   funcEonal   decisions   Requriements   Architecture   Design   Code   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 43. SETN  2010  -­‐  TUTORIAL   Views   The  views  are  perspecEves  that  are  used  to  represent  different  aspect  of   the  system:   § Code/module  view   § Concurrency/process/thread  view   § Data  view   § Development/structural  view   § FuncEonal/logic  view   § Physical/deployment  view   § User  acEon/feedback  view   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 44. SETN  2010  -­‐  TUTORIAL   Frameworks   So4ware  architecture  is  defined  by  various  frameworks   defining  its  necessary  elements:   § 4+1   § RM-­‐ODP   § DODAF   § SOMF   § …   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 45. SETN  2010  -­‐  TUTORIAL   Frameworks  -­‐  4+1   Process  view   Development   Logical  view   view   4+1   Scenarios   Physical  view   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 46. SETN  2010  -­‐  TUTORIAL   Design  concepts   § AbstracEon  &  refinement  –  generalisaEon     § Modularity   § Hierarchy   § InformaEon  &  funcEonality  enclosure   § Structural  parEEoning  –  verEcal  &  horizontal   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 47. SETN  2010  -­‐  TUTORIAL   UML   Unified  Modeling  Language:   § Object  oriented   § Unified  Booch,  OOSE,  OMT  modelling  methods   § Currently  in  2.2  version  –  the  most  of  so4ware   supports  2.0   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 48. SETN  2010  -­‐  TUTORIAL   UML  Diagrams   UML   Structure   Behaviour   Composite   State   Class   Component   Structure   Package   Object   Deployment   InteracEon   Use  Case   AcEvity   Machine   Communica InteracEon   Sequence   Eon   overview   Timing   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 49. SETN  2010  -­‐  TUTORIAL   UML  Advantages   UML  became  an  industry  standard  due  to:   § VisualisaEon   § DocumenEng   § Specifying   § ConstrucEng   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 50. SETN  2010  -­‐  TUTORIAL   UML  Tools   § Papyrus  –  hnp://www.papyrusuml.org     § Poseidon  for  UML    -­‐  hnp://www.gentleware.com   § Visual  Paradigm  for  UML  -­‐  hnp://www.visual-­‐ paradigm.com   § Umbrello  UML  Modeller  –  hnp://uml.sourceforge.net   § StarUML  –  hnp://staruml.sourceforge.net   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 51. SETN  2010  -­‐  TUTORIAL   Suppor:ng  tools   § Let’s  take  a  look  at  the  supporEng  tools   § If  something  could  be  done  simpler  and  at  least   with  the  same  quality   § Use  them  and  forget  the  Eme-­‐consuming   repeEve  tasks  and  focus  on  the  difficult  ones   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 52. SETN  2010  -­‐  TUTORIAL   Version  controlling   § How  to  avoid  the  mess  dealing  with  the  different   versions  of  files  in  projects?   § The  source  code  is  constantly  changing  …   § The  AI  files  too  …   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 53. SETN  2010  -­‐  TUTORIAL   Version  controlling   Version  controlling  allows  the  development  team  to  manage   different  versions  of  so4ware.  They  keep  track  of  work  and   allow  the  team  to  look  at  the  project’s  past.     There  are  3  kinds  of  version  controlling  systems:   § Local     § Distributed   § Client-­‐server   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 54. SETN  2010  -­‐  TUTORIAL   Version  controlling  –  local  systems   § Revision  Control  System   § Source  Conde  Control  System   § MKS  Implementer   § History  Explorer   PC Rep www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 55. SETN  2010  -­‐  TUTORIAL   Version  controlling  -­‐  distributed   § DCVS  (Distributed  CVS)   § Monotone   PC Rep § GNU  arch   § PlasEc  SCM   PC Rep § BitKeeper   § TeamWare   PC Rep www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 56. SETN  2010  -­‐  TUTORIAL   Version  controlling  –  client/server   § CVS   Client § SVN   § Codendi   Server Rep Client § ClearCase   Client § Visual  SourceSafe   § Autodesk  Valut   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 57. SETN  2010  -­‐  TUTORIAL   Suppor:ng  tools  &  technologies   1 •  Compilation 2 •  Binaries packaging 3 •  Testing 4 •  Deployment 5 •  Documenting www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 58. SETN  2010  -­‐  TUTORIAL   Automated  builds  -­‐  advantages   § Efficiency  increase   § Development  process  simplificaEon   § Increased  so4ware  quality   § Reduced  costs   § False  version  removal   § ReducEon  of  the  development  team  or  task  relocaEon   § Project  archiving   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 59. SETN  2010  -­‐  TUTORIAL   Automated  builds   The  automated  build  tools  include:   § make   Scheduled   § Maven   § Ant   On-­‐demand   Triggered   § MSBuild   § Cmake   Build   § and  many  others   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 60. SETN  2010  -­‐  TUTORIAL   Automated  tes:ng  -­‐  make   An  example  of  makefile  taken  from  QT  library.   PNGMAK=scripts/makefile.linux all: cd zlib; ./configure; make cd libpng; make -f $(PNGMAK) clean: -cd zlib; make clean -cd libpng; make -f $(PNGMAK) clean www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 61. SETN  2010  -­‐  TUTORIAL   Automated  tes:ng  -­‐  Ant   <project name="MyProject" default="dist" basedir="."> <description>simple example build file</description> <!-- set global properties for this build --> <property name="src" location="src"/> <property name="build" location="build"/> <property name="dist" location="dist"/> <target name="init"> <!-- Create the time stamp --> <tstamp/> <!-- Create the build directory structure used by compile --> <mkdir dir="${build}"/> </target> <target name="compile" depends="init” description="compile the source " > <!-- Compile the java code from ${src} into ${build} --> <javac srcdir="${src}" destdir="${build}"/> </target> <target name="dist" depends="compile” description="generate the distribution" > <!-- Create the distribution directory --> <mkdir dir="${dist}/lib"/> <!-- Put everything in ${build} into the MyProject-${DSTAMP}.jar file --> <jar jarfile="${dist}/lib/MyProject-${DSTAMP}.jar" basedir="${build}"/> </target> <target name="clean” description="clean up" > <!-- Delete the ${build} and ${dist} directory trees --> <delete dir="${build}"/> <delete dir="${dist}"/> </target> </project> www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 62. SETN  2010  -­‐  TUTORIAL   Automated  tes:ng  -­‐  Maven   <project xmlns="http://maven.apache.org/POM/4.0.0" mlns:xsi="http:// www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http:// maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.mycompany.app</groupId> <artifactId>my-app</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>Maven Quick Start Archetype</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project> www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 63. SETN  2010  -­‐  TUTORIAL   Automated  tes:ng  -­‐  unit   Data The   most   popular   unit   tesEng   tool   is   xUnit   available   in   many   versions   for  all  popular  languages   Data Data Data Data vs Test ABCD Test A Test B Test C Test D www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 64. SETN  2010  -­‐  TUTORIAL   Automated  tes:ng  -­‐  system   A u t o m a t e d   G U I   t e s t s   Machnie Scope of does not tests perceive   the   applicaEon   as   get borred a   black-­‐box   and   test   it   from   Speed of Reliability testing of tests the  user’s  perspecEve.   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 65. SETN  2010  -­‐  TUTORIAL   Code  documen:ng   § AutomaEc  API  documentaEon  tools:   Doc   Code   Doc   Code   § JavaDoc   § DoxyGen   Manual   AutomaEc   documentaEon   documentaEon   § RoboDoc   § …   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 66. SETN  2010  -­‐  TUTORIAL   Bug  tracking   Issue/Bug  Tracking  Systems  usage  leads  to:   § Bener  quality  control   § Gaining  users’  feedback   § Bener  resource  allocaEon   § Increased  users’  comfort   § Bener  informaEon  flow   § Feature  request  available   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 67. SETN  2010  -­‐  TUTORIAL   Bug  tracking  –  bug  categories   CriEcal   High   Medium   Low   CosmeEc   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 68. SETN  2010  -­‐  TUTORIAL   Bug  tracking   § Bugzilla   § Flyspray   § ManEs   § Trac   § Redmine   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 69. SETN  2010  -­‐  TUTORIAL   Bug  tracking   Design and implementation Ideas Testing Bugs Deployment Bugs and requests Usage Buga and requests www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 70. SETN  2010  -­‐  TUTORIAL   AI  implementa:on   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 71. SETN  2010  -­‐  TUTORIAL   Implementa:on   § Transforms  the  design  (plan)  into  the  code   § Problems:   §  Technology   §  Programming  language   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 72. SETN  2010  -­‐  TUTORIAL   Levels  of  programming  languages   Logical  programming   Levels  of  programming  languages Specialised  programming   General  (high  level)   programming   Assembler  programming   Machine  programming   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 73. SETN  2010  -­‐  TUTORIAL   1st  genera:on   § The  code  lines  are  equal  to  the  processor   instrucEons  –  one  to  one   § Machine  code   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 74. SETN  2010  -­‐  TUTORIAL   2nd  genera:on   § Symbolic  representaEon   of  processor’s   instrucEons   § Assembler  language   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 75. SETN  2010  -­‐  TUTORIAL   3rd  genera:on   § InstrucEons  represent  the  basic  operaEons   § Oriented  on  programmer   § Most  popular  generaEon   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 76. SETN  2010  -­‐  TUTORIAL   4th  genera:on   § Specialised  languages  oriented  on  advanced   operaEons   § RAD  tools  are  4GL  build  over  3GL   disp('Hello, world!') (Hello, world!n) print www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 77. SETN  2010  -­‐  TUTORIAL   5th  genera:on   § Represent  not  algorithms  but  desired  outcome   § Logical  programming   § Programming  for  non-­‐programmers   Prolog (write-line "Hello, world!") :- write('Hello, world!'),nl. www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 78. SETN  2010  -­‐  TUTORIAL   Hybrid  programming  –  embedding   Hybrid  programming  (embedding  languages)   could  be  synergic  but:   § Increases  the  technological  risk   § Increases  the  demand  on  skilled  developers   § Blurs  the  project   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 79. SETN  2010  -­‐  TUTORIAL   Programming  paradigms   § Paradigm  is  a  fundamental  style  of  computer   programming  and  defines  the  concept  of   programming  language   § The  most  of  programming  languages  support   various  paradigms  (different  approaches  to   problem)   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 80. SETN  2010  -­‐  TUTORIAL   Programming  paradigms   The  most  popular  paradigms  are:   § Agent-­‐oriented   § DeclaraEve   § Event-­‐driven   § ImperaEve   § Metaprogramming   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 81. SETN  2010  -­‐  TUTORIAL   Desktop  applica:ons   § C/C++   § Java   § C#   § Python   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 82. SETN  2010  -­‐  TUTORIAL   Web  services  –  server  side   § Java  EE   § PHP   § Python   § Ruby   § Perl   § .NET   § CGI  (every  language  that  could  be  run  by  server)   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 83. SETN  2010  -­‐  TUTORIAL   Web  services  -­‐  RIAs   § Flash   § AJAX   § Java  SE   § JavaFX   § FLEX   § OpenLaszlo   § Silverlight   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 84. SETN  2010  -­‐  TUTORIAL   Mobile  applica:ons   § Java  ME   § C++   § ObjecEve-­‐C   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 85. SETN  2010  -­‐  TUTORIAL   Languages  popularity   Posi:on   Posi:on   Programming   Ra:ngs   Delta     Status   Apr  2010   Apr  2009   Language   Apr  2010   Apr  2009   1   2   C   18.058%   +2.59%      A   2   1   Java   18.051%   -­‐1.29%      A   3   3   C++   9.707%   -­‐1.03%      A   4   4   PHP   9.662%   -­‐0.23%      A   5   5   (Visual)  Basic   6.392%   -­‐2.70%      A   6   7   C#   4.435%   +0.38%      A   7   6   Python   4.205%   -­‐1.88%      A   8   9   Perl   3.553%   +0.09%      A   9   11   Delphi   2.715%   +0.44%      A   10   8   JavaScript   2.469%   -­‐1.21%      A   11   42   ObjecEve-­‐C   2.288%   +2.15%      A   12   10   Ruby   2.221%   -­‐0.35%      A   13   14   SAS   0.717%   -­‐0.07%      A   14   12   PL/SQL   0.710%   -­‐0.38%      A   15   -­‐   Go   0.710%   +0.71%      A   16   15   Pascal   0.648%   -­‐0.07%      B   17   17   ABAP   0.625%   -­‐0.03%      B   18   20   MATLAB   0.616%   +0.13%      B   19   22   AcEonScript   0.545%   +0.09%      B   20   19   Lua   0.521%   +0.03%      B   hnp://www.Eobe.com/index.php/content/paperinfo/tpci/index.html   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 86. SETN  2010  -­‐  TUTORIAL   Characteris:cs  -­‐  domain   § Specialised  –  good  at  something  but  below   average  on  other  things   § General  purpose  –  no  specific  domain  and  a   compromise  on  all  tasks   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 87. SETN  2010  -­‐  TUTORIAL   Characteris:cs  -­‐  speed   § Compiled  faster   § Interpreted  slower   But:   § Compiled  start-­‐up  slower   § Interpreted  start-­‐up  faster  (write-­‐run-­‐test  cycle)   JIT  compilers  for  interpreted  languages   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 88. SETN  2010  -­‐  TUTORIAL   Characteris:cs  -­‐  portability   So4ware  could  be  portable  on  two  levels:   § Source  code   § Binary  code   Portability  does  not  relate  only  to  the  programming   language  but  also  to  used  libraries   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 89. SETN  2010  -­‐  TUTORIAL   Characteris:cs  -­‐  prototyping   Ability  to  verify  the  assumpEon:   § Dynamic  language   § Simple  syntax   § Efficiency  isn’t  a  main  concern   § Checks  if  the  idea  works   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 90. SETN  2010  -­‐  TUTORIAL   Characteris:cs  –  target  pla`orm   Target  plazorm:   § PC   § Mobile   § Web   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 91. SETN  2010  -­‐  TUTORIAL   Computer  languages   …   C/C++   (C)Lisp   Matlab   Clips   Scilab   Prolog   RIA   Java   Ruby   Python   Others   PHP   Scientific perspective Programming perspective www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 92. SETN  2010  -­‐  TUTORIAL   Why  use  a  specialised  languages   § Popular  in  the  research  community   § Specialized  languages   § Many  libraries/toolkits  and  examples  are   available     www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 93. SETN  2010  -­‐  TUTORIAL   Why  not  use  them   § Specialised  not  universal   § High  price   § Simple  or  no  GUI   § No  networking   § Research  not  producEon  languges   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 94. SETN  2010  -­‐  TUTORIAL   Important  programming  features   Dynamic  languages:   § Do  not  care  about  types  of  data   § Focus  on  the  algorithms   § But  reject  a  full  data  control   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 95. SETN  2010  -­‐  TUTORIAL   Important  programming  features   Prototyping:   § Checks  algorithms   § Easily  visualise  data  or  make  GUI   § Speed  is  measured  as  the  Eme  of  coding  not   running   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 96. SETN  2010  -­‐  TUTORIAL   Important  programming  features   ScienEfic  libraries:   § How  o4en  do  we  construct  new  algorithms   (Charlie  Eppes  Syndrome  –  NUMB3RS)?   § The  applicaEon  is  more  like  a  large  panel  building   than  brick  building  –  applies  to  the  AI  problems  as   well  as  to  the  „ordinary”  so4   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 97. SETN  2010  -­‐  TUTORIAL   Important  programming  features   Visual  design  (graphical  programming):   § GUI  could  be  constructed  using  components   § Link  the  components  visually     § Evaluate  applicaEon  faster   Core   Core   GUI   GUI   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 98. SETN  2010  -­‐  TUTORIAL   More  important  part  of  AI   so'ware   An   Knowledge   Intelligent   Models   Rules   Mechanism   Graphs   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 99. SETN  2010  -­‐  TUTORIAL   Hybrid  so'ware  development   Research Development ??? Product Technology X Idea Replanning Technology X ?? & redesign Technology Y ?? www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 100. SETN  2010  -­‐  TUTORIAL   Programming  libraries  –  C/C++   § MLC++  hnp://www.sgi.com/tech/mlc/   § FANN  hnp://leenissen.dk/fann/   § Waffles  hnp://waffles.sourceforge.net/   § OpenCV  ML   hnp://opencv.willowgarage.com/documentaEon/cpp/ ml._machine_learning.html   § dlib  C++  hnp://dlib.net/   § VFML  hnp://www.cs.washington.edu/dm/vfml/   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 101. SETN  2010  -­‐  TUTORIAL   Programming  libraries  –  Java   § Java-­‐ML  hnp://java-­‐ml.sourceforge.net/   § Weka  Engine  hnp://www.cs.waikato.ac.nz/ml/ weka/   § MLJ  hnp://sourceforge.net/projects/mldev/   § MALLET  hnp://mallet.cs.umass.edu/   § LIBSVM  hnp://www.csie.ntu.edu.tw/~cjlin/libsvm/   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 102. SETN  2010  -­‐  TUTORIAL   Programming  libraries  –  C#   § Infer.NET  hnp://research.microso4.com/en-­‐us/um/cambridge/ projects/infernet/   § AForge.NET  hnp://code.google.com/p/aforge/   § C#  Neural  Network  Library  hnp://franck.fleurey.free.fr/ NeuralNetwork/   § NeuronDotNet  hnp://neurondotnet.freehosEa.com/   § NeuroBox  Neural  Network  Library  hnp://www.cdrnet.net/ projects/neuro/   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 103. SETN  2010  -­‐  TUTORIAL   Programming  libraries  –  Python   § Orange  engine  hnp://www.ailab.si/orange/   § PyML  hnp://pyml.sourceforge.net/   § MDP  hnp://mdp-­‐toolkit.sourceforge.net/   § PyBrain  hnp://www.pybrain.org/   § LIBSVM  hnp://www.csie.ntu.edu.tw/~cjlin/libsvm/   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 104. SETN  2010  -­‐  TUTORIAL   Programming  libraries  –  PHP   § FANN  PHP  Extension  hnp:// fann.sourceforge.net/fann.html   § Tremani  Neural  Network  hnp://www.tremani.nl/ open-­‐source/neural-­‐network/   § ANN  hnp://ann.thwien.de/index.php/Main_Page   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 105. SETN  2010  -­‐  TUTORIAL   Example  I  –  Java   § A  simple  data  mining  task   § Uses  Java-­‐ML  library   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 106. SETN  2010  -­‐  TUTORIAL   Example  II  –  Python   § AdapEve  filtering  algorithm   § Use  as  a  web  service  (server  part)   § Use  mod_python  on  Apache     www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 107. SETN  2010  -­‐  TUTORIAL   Example  III  –  Flex   § ParEcle  Swarm  OpEmisaEon  example   § RIA  applicaEon   § Uses  a  standard  Flex  without  any  addiEonal   libraries   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects  
  • 108. SETN  2010  -­‐  TUTORIAL   Thank  you.  Any  ques:ons?   www. .co.uk The  so4ware  management  and  engineering  in     the  AI-­‐oriented  projects