In cooperation with
Following Tutorials will be held on 23rd February 2009. Note that there are two slots: morning and afternoon. Each slot will have two tutorials, running in parallel. One should register for only one tutorial in a slot.
Software Engineering Institute
Designing a software architecture typically requires great experience and intuition yet there are a collection of principles that make the design process clearer and reduces the necessity for a long apprenticeship. In this tutorial, some of these principles will be elaborated.
These principles include understanding design as a series of decisions. Given this perspective, decisions made early have a disproportionate impact on the final design. The tutorial will cover the types of decisions that should be made early. In addition, quality attribute requirements play a significant role in the design process. The tutorial will cover why quality attribute requirements are important, how to determine the important ones, and quality attribute design primitives to enable the achieving of the important quality attribute requirements.
In addition, the application of these principles to the Architecture Tradeoff Analysis Method (ATAM), the Attribute Driven Design method (ADD), and the Architecture Expert (ArchE) tool will be briefly described.Speaker Bio:
Len Bass is a Senior Member of the Technical Staff at the Software Engineering Institute (SEI). He has written two award winning books in software architecture as well as several other books and numerous papers in a wide variety of areas of computer science and software engineering. He has been a keynote speaker or a distinguished lecturer on six continents. He is currently working on techniques for the methodical design of software architectures, to understand how to support usability through software architecture, and to understand the relationship between software architecture and global software development practices. He has been involved in the development of numerous different production or research software systems ranging from operating systems to database management systems to automotive systems.Top
Performix Solutions, Pune.
Abstract :Most of us are aware that there is software in every aspect of our life including commonly known products like Cars, Washing Machines, Microwave Ovens, and mobile phones, and not so commonly known products like Machines and Systems used in Industrial Process and Production Control. There are some interesting differences in the software running in each of these environments. Of the various cases observed above, Manufacturing seems to have the largest spectrum of software systems working in tandem. There are small autonomous software driven components in the field that work at a Microsecond cycle time, all through extremely large enterprise systems like an ERP. There are software components that do not have a UI, and then there are highly sophisticated 3D Modeling tools. The key to success is for all these software systems (and the exotic hardware on which they run) to work seamlessly. This presentation outlines some architectural aspects that make this task possible, as well as some of the challenges and triumphs encountered on the way. Speaker Bio: Shripad is the Vice President of Product Engineering for Performix, Inc., responsible for Product Strategy and Engineering of the xMES™ suite of products. Shripad started his career in Godrej and Boyce Pvt. Ltd., in Mumbai and subsequently worked for Siemens Ltd., and Tata Consultancy Services Ltd (TCS). Over the past 20 years, he has been involved in providing Manufacturing IT solutions to Fortune 100 customers across the world. Shripad's core capabilities are in the areas of Software Engineering, Manufacturing Automation, and Manufacturing IT. Shripad holds a BSc in Physics and BSc(Tech) in Electronics and Computer Technology from the University of Bombay. Top
Tata Research Development and Design Center, Pune
Abstract :Enterprise applications, as a class, exhibit a set of common characteristics, for instance, distributed architecture, database centricity, online transaction processing, batch processing, reporting etc. The business-critical nature of enterprise applications and the fact that no two enterprises, even if belonging to the same business domain, are exactly alike, lead to an enterprise application soon growing into a product-line. In their lifetime, enterprise applications need to quickly respond to changing business requirements and technology platforms. A clear separation of functionality and technology concerns, as exemplified in MDD, enables easy retargeting of the functionality to a choice of architectures and technology platforms. Ideally, developers should only have to concentrate on specifying the system functionality leaving the other concerns to a set of automated code generators. One can visualize a software factory wherein the functional specifications are refined in successive stages imparting a specific choice of these characteristics culminating in a complete implementation. We describe one such model-driven software factory that has been in use for the last twelve years supporting several large enterprise application product-lines onto a variety of architectures and technology platforms. Speaker Bio:
Vinay is a Principal Scientist working at R&D lab of Tata Consultancy Services, India's largest IT consultancy organization, where he is responsible for research on Next Generation Enterprise Systems. Vinay's work of past 14 or so years in model driven development has found way into a Code Generator Framework that has been used extensively to deliver several business-critical applications on a variety of technology platforms. This work has also contributed to two of the three core standards for model driven development from OMG. Vinay holds a Masters degree in EE from IIT Madras.Top
Infosys Technologies Ltd.
Often software testing and maintenance phase consume 60% of overall cost of software product/application development and maintenance expenditure. Test planning and execution are two important stages of this phase. In the last one decade, test execution phase has witnessed an increased degree of automation resulting in enhanced productivity and quality gains. However, test planning stage is still largely manual. Generation and maintenance of functional test case is one of the main activities of the test planning stage. Given the volume of software engineering business, every 10% improvement in the productivity / quality of test case generation will be considerable and thus requires an immediate focus. In this tutorial, the speakers discuss emerging methodologies and industry trends in the automation of test case generation and regression test selection from two important forms of inputs of a software application / product: (i) the UML based models and (ii) the source / executable code. In the first part, the speakers cover in detail the emerging techniques to automatically generate test cases from system requirements specification documents, UML based models such as activity diagrams, sequence diagrams and state diagrams and discuss their applicability and business benefits. In addition, the speakers extend these discussions to cover the techniques of selecting regression test cases from a given set of changes to UML based models. In the second part of this tutorial, the speakers discuss the state-of-the-art techniques to select regression tests from upgrades to software components whether supplied in binary or source code. In particular, a selection technique developed based on analyzing the runtime interactions among different components in a given component based software system will be presented. The speakers discuss both semantic and syntactic change impact analysis techniques to identify changes made between two versions of the software components and their implications to the safe selection of regression test cases. Some of these techniques are illustrated through practical case studies.Speaker's Bio:
Ravi Gorthi is a Principal Researcher and Head of Test Automation and Knowledge Engineering Labs at SETLabs of Infosys Technologies Ltd. Dr Gorthi specializes in the areas software testing, knowledge based software engineering and knowledge-driven IT solutions. He is one of the internationally reputed consultants in the area of software testing and business rules management systems. He has more than 25 years of experience in the fields of IT related consultancy and R&D. He has published papers in international journals and conferences. He has been selected for Who’s Who in the World of Marquis edition. He obtained his masters degree from IIT, Kanpur and doctoral degree from IIT, Chennai, both in Computer Science.
Anjaneyulu Pasala is a Senior Research Associate, Test Automation Lab at SETLabs of Infosys Technologies Ltd. His current research interests include component-based software engineering, software testing and specifically regression testing of applications, impact analysis of software upgrades, UML testing profilers and web-services architectures. He has published papers in international conferences and in journals. Anjaneyulu has more than 15 years of IT industrial experience as a product architect and researcher. He received B.Tech. and M.Tech. degrees from Sri Venkateswara University College of Engineering at Tirupathi, India. He obtained Ph.D. in Computer Science from Indian Institute of Technology Madras at Chennai.Top