An outline of my c

594 views
474 views

Published on

Published in: Engineering, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
594
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

An outline of my c

  1. 1. Università degli Studi dell’Aquila Talking to Industries Software Architecture and Testing Research Henry Muccini DISIM, University of L’Aquila henry.muccini@univaq.it, @muccinihenry, www.henrymuccini.com @Amrita University, India – June 2014
  2. 2. Researcher at the University of L’Aquila, Italy Research 2
  3. 3. Research interests on developing methods and tools for the analysis and design of software architectures →Architecture-driven Model-based Testing, Model- checking, and V&V →Models Interoperability in Software Architecture Descriptions →Multi-view Software Architecture Description →Group Decision Making in Software Architecture →Engineering Mobile Applications →Crowd Testing M D E
  4. 4. Group Decision Making in SA Engineering Mobile Applications Crowd Testing Software Architecture Description 4
  5. 5. GROUP DECISION MAKING IN SOFTWARE ARCHITECTURE 5
  6. 6. Group Decision Making in SA (1/2) 6 Multiple stakeholders are involved Each with different concerns and goals Context: SA decision-making is a group process Three decades of research on group decision making in the business domain GDM has been studied from multiple perspectives that includes Psychology, Organizational Behavior, Operations Research and Economics Picture taken from http://apprentiperpetuel.blogspot.com.au/
  7. 7. Group Decision Making in SA (2/2) Goal: Understand Industrial needs in Group Decision Making Understand state of the research in Architecture GMD Improve current industrial practices so to converge faster to better decisions 7
  8. 8. ENGINEERING MOBILE APPLICATIONS 8
  9. 9. The problem we want to deal with 9 Recurring issues and challenges in app development Technical (fragmentation, code reuse, frequent changes, monitoring analysis and testing, etc.) Design issues Limited reasoning in the context Limited information architecture engineering Stakeholder diversity Best practices for app design and development are available, but mobile applications are still developed with ad-hoc development processes, and best practices are still not automated.
  10. 10. Goals of our proposal To codify best design practices into a Model- Driven Engineering language and framework 10 An aly sis r App Developer Anal ysis r Analysis results 1 A 1 2 A 2 n A n Content Manager Plugin developers Navigation ML Data UI ML UI Designer MobML Analysis MobL Code The MobML Framework Business Logic An aly ACode Modeling environment for Mobile Applications Server Side Developer MobML Testing Analysis and Code Generation
  11. 11. Principles 11 Participatory design Collaborative Design Multi-view Modeling Languages Hiding MDE complexities A B C D
  12. 12. ENGINEERING THE CROWD FOR TESTING 12
  13. 13. 13 Software Testing No dedicated testing team Dedicated (in-house) testing team Outsourced testing [1500 respondents] 0% 20% 40% 60% 51% 41% Internal/In-house Testing 2013 2012 [1500 respondents] 0% 10% 20% 13% 20% Crowd Sourced Testing (External/Managed Services) 2013 2012 0% 20% 40% 8% 26% "Centralized" Testing 2013 2012 [World Quality Report 2013-2014] “IDC and Forrester indicate … an increase in outsourcing of 15% annually over the next several years.” [Forrester]
  14. 14. Testing Mobile App 14 Taken from [World Quality Report 2013-2014], page 27
  15. 15. Summing up… CROWD TESTING QA needs Mobile and Web Outsourci ng
  16. 16. 16 diversity/coverage/realistic independent and test as a user payment system immediate results Principles
  17. 17. Challenges in Crowd Testing 17 Security breaches Duplicate defect management Measurement Coverage critical features coverage No control Lack of ownership Reward mechanism Communication and mgmt. Lack of standards Continuous involvement
  18. 18. SOFTWARE ARCHITECTURE DESCRIPTION 18
  19. 19. Pro: formal semantics computable Cons: difficult to learn general lack of tools prolifetarion Pro: not too difficult same notation for SA and design modeling Cons: not a 100% fit tool investment Pro: of immediate use perfect for sketching communicative Cons: ambiguous non automated 19 But.. What Industry needs from Architectural Languages?
  20. 20. Goal of the study: → to better understand the real needs about using ALs for software architecture modeling in industry ─ RQ1: What are the architectural description needs of practitioners? ─ RQ2: What features typically supported by existing ALs are useful (or not useful) for the software industry? 20 Ivano Malavolta, Patricia Lago, Henry Muccini, Patrizio Pelliccione, Antony Tang: What Industry Needs from Architectural Languages: A Survey. IEEE TSE 39(6): 869-891 (2013)
  21. 21. C1: need of models interoperability multiple languages are used to describe the architecture of a software system C2: need of extending existing ALs C3: need of creating, storing, re-using, views and Architecture Frameworks C4: need of communicative and analytic AL 21
  22. 22. Darwin/FSP ACME AADL xADL SA UML profiles other ADLs pivot metamodel (A0) Extended/customized ADL generated in byADL BPMN FTVP 1 VP 1 VP 2 VP 2St1 MK1 Composed AF generated in MEGAF MEGAF: a model-driven infrastructure for building reusable and extensible architecture frameworks MEGAF: a model-driven infrastructure for building reusable and extensible architecture frameworks DUALLy: an automated approach for ADLs interoperabilityDUALLy: an automated approach for ADLs interoperability byADL: an approach to adapt and customize existing ADLsbyADL: an approach to adapt and customize existing ADLs
  23. 23. MEGAF DUALLy EMF AM3 AMW ATL AMMA byADL other engines MEGAF
  24. 24. megaf.di.univaq.it • Preliminary prototype in Eclipse, using megamodeling techniques dually.di.univaq.it • Prototype in Eclipse, using model-driven engineering techniques byadl.di.univaq.it • Prototype in Eclipse, using model-driven engineering techniques

×