The LI Section supports a local Chapter of the IEEE Computer Society (C-16). With nearly 100,000 members, the IEEE Computer Society is the world's leading organization of computer professionals. The Computer Society's vision is to be the leading provider of technical information and services to the world's computing professionals. The Society is dedicated to advancing the theory, practice, and application of computer and information processing technology. The Computer Society attracts both Software and Hardware engineers.
For upcoming Computer Society lectures and meetings, please
visit the calendar page.
Imaging & Graphics
Developing Secure Internet Applications
Frank Zinghini - Applied Visions
The industry is experiencing a high number of application security breaches that result in the compromise of personally identifiable information. Software developers and management of the software developing teams are more aware of how difficult it is to produce secure software. The most popular application development languages are also recognized as the source of the highest security risk. There are tools that can help, yet neither tool is perfect. The lecture covers the current state of affairs and introduces several tools and methods that can help developers to make their applications more secure.
Agility and Architecture − A Clash of Two Cultures?
Philippe Kruchten - University of British
Software architecture is taking a bad rap with many agile proponents; whether it’s labeled as “big up-front design”, “massive documentation”, or “smell of waterfall”, it is pictured as a non-agile practice, something we do not want to even consider; though everybody wants to be called an architect. However, for certain classes of systems, ignoring architectural issues too long a project may “hit the wall” and collapse due to lack of an architectural focus.
“Agile architecture” – is it a paradox, an oxymoron, a combination of two totally incompatible approaches? In this presentation, we review the real issues at stake, moving past the rhetoric and posturing, and we suggest that the two cultures can co-exist and support each other, where appropriate. In particular, we will show that we can distinguish in the backlog visible elements (features) and invisible aspects (architecture) and their dependencies, as well as defects and technical debt.
Mobile Operating Systems & Android
Bruce Willins & Rick Rogers - Motorola
In 2011 worldwide sales of mobile smartphones will exceed 400 million units. The number of mobile application downloads will exceed the population of the planet. With an increasingly mobilized workforce and more than 11 Mobile Operating systems to choose from, enterprise customers are finding it difficult to navigate and plan their mobility strategy.
This lecture covers the current landscape of key mobile operating systems, with a focus on attributes of an "Enterprise" mobile OS. New trends are covered as well as key architectural and strategic differences - including the evolution and state of today's most prolific mobile OS; "Android".
Introduction to Web Performance
Sergey Chernyshev - Turner Broadcasting
Performance is one of the most important characteristics of modern applications and especially web application where user’s attention is fragmented and competition is just a click away. Telling statistics are presented that describe web performance and why it is very important to think beyond scalability and load testing. Common causes of web application slowness are explored with technical and organizational steps to improve web experience.
Estimating Effort and Duration of Software Projects
Pierre Bourque - École de Technologie
The construction of an estimation model, whatever estimation method is used, usually requires a set of completed projects from which an estimation model is derived and which is used thereafter as the basis for the estimation of future projects. Until fairly recently, for those organizations without their own historical data sets for building estimation models themselves, and who could not afford the long lead time to do so, few alternatives were widely available.
The International Software Benchmarking Standards Group (ISBSG) is dedicated to the development and management of a multi-organizational repository of software project data. This talk presents the resources available from ISBSG and how to leverage them in your own context for benchmarking and estimation purposes. An example of building project duration models and a case study of a “reality check” of estimates developed otherwise will illustrate how ISBSG can be used in your projects.
M. Brian Blake - Georgetown University
Emerging technologies facilitate an environment where web-based software or web services have well-defined, open interfaces and are discoverable across the Internet. Service-oriented computing is an emerging approach to software engineering that suggests that new specialized business processes can be created, on-demand, simply by integrating the services provided by others. One might suggest that this is a virtual playground for software engineering researchers who focus on web-based software. However, in the real world, software developers tend to create applications that do not conform to consistent developmental practices even if they do use universal interface representations (e.g. the eXtensible Markup Language).
Our research utilizes semantic approaches, enhanced syntactical methods, and contextual information to automate the integration of software services that are developed randomly from a wide array of diverse sources. In a sense, we attempt to tame web services from the wild. This talk discusses our lines of research and subsequent contributions in the areas of service discovery, composition, and evaluation. The talk will introduce the emerging concept of service mashup.
Suranjan Ray - Intelligent Security
With security needs becoming ever more complex, and more and more products entering the marketplace, the need for the correct fit for each end user becomes increasingly important. The seminar outlines key considerations in the engineering and deployment of an advanced digital video surveillance framework, for both single-site and networked multi-site applications. Additionally the seminar touches on advanced capabilities such as object oriented system architecture, event management, smart video (i.e. Face Recognition), system customization and optimization.
Wireless Mesh Networking
Samir Das - SUNY at Stony Brook
Wireless mesh networks are multi-hop networks of wireless router platforms. A mesh network can provide multi-hop communication paths between wireless clients – serving as an outdoor community network or broadband access network for the Internet, or an indoor home or office network. Wireless mesh networks are considered cost-effective alternatives to traditional wireless LANs, as there is no necessity to deploy any wired infrastructure to support a mesh network. With the plummeting cost of 802.11-based hardware platforms, wireless mesh networking is gaining ground with several industry players developing 802.11-based mesh networking platforms and services. Large-scale, metropolitan wide mesh networks are also planned.
There are several technical challenges that must be addressed for mesh networking to be as effective as any other form of broadband networking. Much of these challenges relate to multi-hop wireless communication and limited capacity. This lecture introduces essential mesh networking concepts, outlines the technological challenges and describe how the research community is addressing these challenges.
Multicore Low Power Architectures
Krishna Kavi - University of North Texas
With the feasibility of integrating more than a billion transistors on a chip, we can consider building multiple CPUs on a chip, support multithreading, provide gigabyte cache memories, support reconfigurable logic so that application specific functions can be programmed into hardware. The key challenge is in deciding on how best to utilize the available transistors effectively for each application.
While performance has been the driving factor of research in Computer Architecture, embedded applications that are pervasive in devices such as HDTV’s, cell phones, and other appliances are requiring a balance between performance and energy consumption. More specifically we need systems that can provide performance on demand, but become dormant when not needed to save energy. These conflicting choices are presenting new challenges to researchers leading to very innovative ideas.
Architectural Techniques for Interoperability and Coexistence
Robert Gezelter - Software Consultant
Ensuring long useful lives for hardware and software systems with the inevitable expansions, upgrades, and previously unconsidered interconnections to other systems is an architectural function. The results can be positive, resulting in long, low-cost system life, or negative leading to a system with significant limitations. Often neglected are the architectural techniques and concepts, both in terms of what behaviors are specified, and in terms of what areas are left open. The impact of these areas on the longevity of the system life cycle is often not well appreciated.
We will examine how successful architectures have achieved longevity without major incompatible changes. In the end analysis, success for architecture is measured by its ability to assimilate changes in mission, implementation, interconnection, and scope without the need for incompatible changes. Put succinctly, 20 years into an architecture, success is measured by the ability of systems implemented on Day One to interoperate unchanged with systems implemented on Day 20369.
Software Design Patterns
Nat Thomas - Telephonics
Design patterns are recurring solutions to software design problems you find again and again in real-world application development. Design patterns are about design and interaction of objects, as well as providing a communication platform concerning elegant, reusable solutions to commonly encountered programming challenges. By leveraging off these previously-proven design patterns, the software designer is better able to communicate a successful solution.
Process and Project Management
The CMM (Capability Maturity Model) and more recently, the CMMI (Capability Maturity Model Integrated) have been widely adopted for improving the way engineering projects are managed and executed. Too often, however, these models have been abandoned as ineffective - usually because they were not implemented well and came to be viewed as inappropriate for particular organizations or projects. The purpose of this presentation is to discuss one of the most misunderstood and difficult to implement aspects of the CMM and CMMI - integrated process and project management.
The CMM and CMMI rely on integrated product and project management to assure that the elements of a project are pulling together in an efficient manner. We begin with the backbone - the integrated product development process (IPDP) - a collection of common, integrated processes encompassing all aspects of product development, a support infrastructure, and a tailoring mechanism to assure the processes fit the specific needs of each project. Building on the IPDP are many tools for detailed project planning. This presentation highlights four: the integrated master plan, the integrated master schedule, integrated support plans, and the RACI chart for assuring effective stakeholder involvement. Each of these is explained and illustrated with examples.
Software system development is too often focused solely on schedule and cost. Sometimes performance and functional technical requirements become an issue. Rarely is trustworthiness considered. Not only must software designers consider how the software will perform they must account for consequences of failures. Trustworthiness encompasses this concern. Trustworthiness is a holistic property, encompassing security, safety and reliability. It is not sufficient to address only one or two of these diverse dimensions, nor is it sufficient to simply assemble components that are themselves trustworthy. Integrating the components and understanding how the trustworthiness dimensions interact is a challenge. Because of the increasing complexity and scope of software, its trustworthiness will become a dominant
Systems Technology in the 21st Century
The modern era of real-time computing can be traced to the US space exploration program in the 1960s. Since then, real-time systems technology has become pervasive in industrial, military and consumer applications. In this talk, we shall tour the development of the science and technology in real-time systems, explain the key technical concepts in real-time system design and look at the challenges of real-time applications in the 21st century.
Cycle Time Reduction
Being first to market is a critical factor for business success, especially for those in the software business. Yet we often hear complaints about the poor quality of software that was rushed in order to meet a deadline. This talk addresses methods of software cycle time improvement that can also improve quality and lower development cost. The methods are based on techniques widely practiced in other disciplines, such as continuous flow manufacturing and quantitative process management. When applied to software development, these techniques - often counterintuitive - are enabling leading-edge companies to produce high quality software quickly.
Development in Multicast Switching Networks
Multicast (or one-to-many) is a vital operation in both broadband integrated services digital networks (BISDN) and scalable parallel and distributed computing systems. There are broad ranges of applications for multistage networks which can realize multicast connection requests in a non-blocking manner. In this talk, we overview the recent development in supporting multicast in switching networks. Both non-blocking and almost non-blocking multicast networks are considered.
Interface Design: An Introduction and Overview
Wonderful technical ideas often get buried behind unstable and unusable interfaces. User interface design, however, is neither common sense nor high art. Rather, it depends on an engineering and design process to yield interfaces that match the needs of users and the requirements of their goals. This overview presents the challenge of UI design, a look at the field of human/computer interaction, and a brief introduction to the psychology principles and design processes that help lead to usable interfaces.
The availability of cheap, low power, and miniature embedded processors, radios, sensors, and actuators, will soon be leading the use of wireless networking for interacting with the physical world. The resulting systems, often called wireless sensor networks, differ considerably from current networked and embedded systems. Their design requires a proper understanding of the interplay between wireless network protocols, energy-aware design, signal-processing algorithms, and distributed computing. This seminar will introduce wireless sensor networks with motivating applications, and describe the engineering design challenges. The seminar, we will also address some specific issues related to such networks: such as design of routing, data dissemination and data gathering protocols, design of location service and issues related to power and topology management.
Wireless Internet as Defined by IEEE 802 Standards
Within the Institute of Electrical and Electronics Engineers (IEEE), the IEEE 802 LAN MAN Standards Committee is developing air interface standards for wireless local area network (LAN), wireless metropolitan area network (MAN), and wireless personal area network (PAN) technology. These standards are enabling the development of an infrastructure for the Wireless Internet. The talk overviews the key technologies and their interrelationships. It also overviews the process of standardization in IEEE 802 and the IEEE Standards Association.
Requirements Iceberg & Various Ice Picks Chipping At It
This talk observes that determining what the requirements for a software system should be, can be the hardest part of the software life cycle - perhaps an order of magnitude more difficult than specifying them formally. This hard part has been given the name "requirements elicitation". It reviews past work in requirements engineering and remarks that in the past, this work generally avoided dealing with elicitation and has focused on specification. It then surveys recent and current work and shows how it focuses on cracking the elicitation problem.