MDD-CLOUD - Model Driven Design of Cloud Applications with a priori Quality of Service Guarantees
Tuesday morning (Sept 16)
This tutorial will introduce the current challenges for the design and development of Cloud software (e.g., vendor lock-in, performance variability, etc.) and will provide to participants an overview of advanced model driven solutions that can face this challenges. In particular, solutions supporting the design of both functional and non-functional characteristics (i.e., Quality of Service) of an application will be presented. A demonstration of the proposed model driven approach supported by the open source MODAClouds project will be provided. An industry Cloud design and deployment case study will be considered.
Cloud systems: Introduction and overview
Developing Cloud applications: Requirements and challenges
An Industry Business Application case study
Model Driven Design principles
Model Driven Design of Cloud Applications: analysis of state of the art solutions and tool demonstrations
Model Driven QoS Assessment and Optimization of Cloud Applications
The tutorial targets people from industry and academia with intermediate skills on Web and Cloud applications development. A novice level knowledge on model driven principles, performance modeling and optimization of software applications is assumed. The tutorial will provide a basic background in these fields to support the understanding of the main concepts at the basis of the proposed solutions.
Dr. Danilo Ardagna is an Assistant Professor at the Dipartimento di Elettronica, Informazione e Bioingegneria of Politecnico Di Milano. He holds a PhD and a Master in Computer Engineering from Politecnico Di Milano. His work focuses on the design, prototype and evaluation of optimization algorithms and game theoretical approaches for capacity management and planning of self-adaptive systems. Danilo has co-authored over 50 technical papers at international level in several journals (including IEEE Transactions) and in the proceedings of many international conferences. He was co-organizer of workshops MultiCloud at ICPE 2013, ROSSA at Valuetools 2009, and QSWS at BPM 2008. He was organizing chair and workshop proceedings co- editor of the BPM 2008 conference. Danilo participated in several European (MODAClouds, SMScom, Q-ImPrESS, s-Cube, WS- Diamond) and national research project (DISCORSO FAR, MAIS FIRB) and he got the IBM faculty award in 2010. He was visiting researcher at IBM T.J. Watson Research Center, at the Computer Science Department at the Federal University of Minas Gerais, and at the Basque Center for Applied Mathematics.
Giuliano Casale is a Lecturer in performance analysis and operations research at Imperial College London, Department of Computing, since January 2013. Prior to this, he was a full-time researcher at SAP Research (UK), a postdoctoral research associate at the College of William and Mary (US). He obtained a PhD from Politecnico di Milano (Italy) in 2006. He has served as program co-chair for ACM SIGMETRICS/Performance 2012 QEST 2012, and ICAC 2014, and as general co-chair for ACM/SPEC ICPE 2013, and as technical program committee member for more than 50 conferences and workshops.
Dr. Marcos Almeida holds a Ph. D. degree in Computer Science of the Paris 6th University. In SOFTEAM, Dr. Almeida works as research engineer in projects related to modelling Cloud and big data applications. In MODAClouds he is responsible for developing the MODAClouds Functional Modeling Environment, which allows developers to describe Cloud applications on a high level and integrating with deployment tools from it.
Dr. Nicolas Ferry is a research scientist at SINTEF in Oslo, Norway. He holds a Ph.D. degree in Computer Science from the University of Nice. Nicolas' research interest include model- driven engineering, domain-specific languages, Cloud-computing, and self-adaptive systems. He has actively contributed to various national and international research projects such as the VERSO Continuum French National Research Agency project, and the REMICS, MODAClouds, and CITI-SENSE FP7 projects.
GUI-TEST - What is Visual GUI Testing? A workshop on the basics, possibilities and future of VGT
Tuesday afternoon (Sept 16)
Chalmers University of Technology & University of Gothenburg
Manual GUI based regression testing of system and acceptance tests is common in industrial practice because of limited automation support. Furthermore, the automation support, i.e. tools, that do exist are associated with high development and maintenance costs, require technical knowledge, are difficult to learn and/or are restricted to certain systems and/or platforms. Thus, forcing some companies to stick to manual test practices even though they are considered time consuming, tedious and therefore error-prone.
In this workshop we will present the novel GUI based test technique Visual GUI Testing (VGT) that is suggested to bridge the current gap for automation support in practice. VGT uses image recognition in order to emulate end user behavior and thereby automate test cases on a GUI bitmap level with the same type of inputs and visual assertions that a human tester would perform. The image recognition makes the technique completely black-box and thereby flexible, meaning that it can be used on any system regardless of implementation or platform. Previous research has also shown the technique's industrial applicability and that the technique has a low learning curve.
- Introduction of the VGT technique, tools and the research about the technique.
- You, the participant, will be presented with a basic automation task to be solved using a VGT tool. VGT experts will be there to guide you to solve the task and expedite your learning.
- You, the participant, is presented with an automation task of equivalent difficulty to an automation task that you may encounter in an industrial setting. Once again VGT experts will be there to guide you to complete your task.
- Summary and recap of the workshop.
Target audience and prerequisites
This tutorial is intended for both academics and industrial practitioners and will introduce the technique, current research, but also give you, the participant, hands-on experience of working with the technique and how it can be used to automate GUI based test cases for system and potentially acceptance regression testing. Hence, the tutorial will teach you how to write scenario-based scripts that use the image recognition capabilities of VGT tools in order to instrument and assert an interactive system's runtime behavior. We will also discuss the limitations and challenges with the technique and how these issues can be addressed and mitigated through good programming practices and usage of the VGT tool's capabilities. Participants of the workshop are required to bring a computer and are encouraged to, prior to the workshop, download and install the open source VGT tool Sikuli (found on this webpage: https://launchpad.net/sikuli/+download). The suggested version of to be used at the tutorial is 1.0.1 (Sikuli-setp.jar). Note that in order to install and run the tool you also have to have Java 6 or Java 7 installed on your computer.
Emil Alégroth is a researcher at the division of Software Engineering at Chalmers University of Technology. Emil's research focus is on automated testing and in particular the novel GUI based test technique Visual GUI Testing (VGT). VGT is a tool-driven technique that uses image recognition and scenario-based scripts in order to automate end user behavior for system and acceptance test automation. In his research, Emil has collaborated with more than 10 companies across Europe and has also held tutorials and seminars at several of these companies, including Saab, Combitech and Jeppesen. Emil is also the co-founder of the AVATAR network, which is a non-profit network with more than 40 members from more than 15 different companies that are interested in, or working with, VGT.
MODELICA - modelling complex physical systems
Monday afternoon (Sept 15)
Object-Oriented modeling is a fast-growing area of modeling and simulation that provides a structured, computer-supported way of doing mathematical and equation-based modeling. Modelica is today the most promising modeling and simulation language in that it effectively unifies and generalizes previous object- oriented modeling languages and provides a sound basis for the basic concepts.
The Modelica modeling language and technology is being warmly received by the world community in modeling and simulation with major applications in virtual prototyping. It is bringing about a revolution in this area, based on its ease of use, visual design of models with combination of lego-like predefined model building blocks, its ability to define model libraries with reusable components, its support for modeling and simulation of complex applications involving parts from several application domains, and many more useful facilities. To draw an analogy, Modelica is currently in a similar phase as Java early on, before the language became well known, but for virtual prototyping instead of Internet programming.
The tutorial presents an object-oriented component-based approach to computer supported mathematical modeling and simulation through the powerful Modelica language and its associated technology. Modelica can be viewed as an almost universal approach to high level computational modeling and simulation, by being able to represent a range of application areas and providing general notation as well as powerful abstractions and efficient implementations.
The tutorial gives an introduction to the Modelica language to people who are familiar with basic programming concepts. It gives a basic introduction to the concepts of modeling and simulation, as well as the basics of object-oriented component-based modeling for the novice, and an overview of modeling and simulation in a number of application areas.
- Introduction to Modeling and Simulation
- Modelica - The next generation modeling and Simulation Language
- Components, Connectors and Connections
- Discrete Events and Hybrid Systems
- Algorithm and Functions
- Modeling and Simulation Environments
The tutorial is easily accessible for people who do not previously have a background in modeling, simulation.
Peter Fritzson is a Professor and Director of the Programming Environment Laboratory (Pelab), at the Department of Computer and Information Science, LinkoÌˆping University, Sweden. He holds the position of Director of Research and Development of MathCore Engineering AB. Peter Fritzson is chairman of the Scandinavian Simulation Society, secretary of the European simulation organization, EuroSim; and vice chairman of the Modelica Association, an organization he helped to establish. His main area of interest is software engineering, especially design, programming and maintenance tools and environments.
BUGS - A Survey of Software Bug Localization Using Dynamic Analysis
Tuesday afternoon (Sept 16)
As software continues to evolve in recent years, software testing is becoming more important and widely researched in the software engineering community. More challenges have been posed among the researchers and practitioners in the area of software bug localization to locate bugs automatically.
This tutorial describes the state of the art of automated bug localization using dynamic analysis. It is vital and relevant especially in the automated software engineering community. It will help to raise their understanding on the catas- trophe of software bugs and how the automated bug localization approaches help reduce the prevalence of software bugs.
- Introduction of software bug catastrophes
- Automated bug localization and background on dynamic analysis
- Approaches using Test Coverage Information
- Approaches using Statistical methods
- Approaches using State(s) of the program
- Approaches using Machine Learning
- Current automated bug localization tools used in industry
- Conclusion & current trends of automated bug localization using dynamic analysis
Participants are expected to come from the area of software development, formal methods, software testing (both static and dynamic analysis), software research groups, and test managers. The audience would be expected to have some basic knowledge on software testing and a brief knowledge of machine learning techniques. The target audience could range from novice to intermediate levels.
Dr Jason Lee Hua Jie received his Bachelor of Information Technology (HONS.) majoring in Software Engineering from the Multimedia University, in 2005.
He started working in the software industry as a Software Engineer and Software Validation Engineer with Motorola Technology and iWOW Pty. Ltd. respectively. In 2007, he was offered the International Postgraduate Research Scholarship (IPRS) from DEEWR to do his PhD in the Depart- ment of Computer Science and Software Engineering, University of Melbourne. His research interests include spectral debugging, which uses test coverage information to help programmers locate bugs effectively.
He has been working with DOLBY LABS AUSTRALIA since July 2011 as a Senior Software Test Engineer. He has been heavily involved in the development of test automation framework for several embedded audio projects. Currently, he serves as QA lead for several audio projects which have support of two staffs in the Beijing counterpart.
He is actively pursuing research in his free time and contributes to the software engineering research field as a program committee and a technical reviewer for international conferences (IWESEP 2010-11, COMPSAC 2012, APSEC 2012, TAIC PART 2013, ASWEC 2013-14) and Advances in Software Engineering Journal.