70 likes | 95 Views
This article explores the need for a new approach to software engineering in embedded and ubiquitous computing environments, where traditional methods are insufficient. The proposed run-time software engineering framework enables software systems to automatically adapt and manage changes in user needs, variable resources, faults, and user mobility. The article also highlights two research initiatives in this field: a run-time software technology framework for ubiquitous environments and Alchemist, a software framework for self-adaptive software in intelligent robots.
E N D
Run-Time Software Engineering An approach for Embedded and Ubiquitous Computing Environments Sooyong Park sypark@sogang.ac.kr Sogang University South Korea
Embedded & Ubiquitous Computing Environment • Computers and information potentially everywhere with our traditional devices : Automobile, TV, Refrigerator, Robot etc • Various computing elements are available • Heterogeneous universe • Desktops, mainframes, PDAs, • Smart appliances • Wearable computers • Sensors and actuators • Convergence of communications, information, computing, and services • Mobile users
Consequences for Software Systems • Increasingly, SW systems will need to • Be composed of parts built by many organizations in non-deterministic way • Run continuously – need to provide minimum services • Operate in environments where resources and environments change frequently • Be used by mobile users • For such systems, traditional SE approaches – testing, CBD, UML etc- are not enough • Exhaustive verification and testing not possible • Manual reconfiguration does not scale • Off-line repair and enhancement is not an option
What has to change ? • SW systems must automatically and optimally adapt and manage to handle • Changes in user needs • Variable resources • Faults • User mobility • In short, SW systems must become “ self-adaptable” or “ self-managed”
New SE Approach Development Phase Natural LanguageRequirements Requirements Analysis Architecture & Design Implementation Users’ new need System instance Intention Decision Maker Reconfigurator Observed Information (by Monitor) Runtime(Operation Phase)
Run-Time Software Engieering • Run-Time Requirements Analysis • Observe the running system and abstract observed behavior • Analyze new environments or situation based on original requirements • Run-Time Design • Determine the cause of constraint violation and choose a repair strategy in terms of SW architecture • Run-Time re-implementation • Adapt new SW components or change the structure of SW without violating run-time environment • Run-Time Testing • Continuously check design constraints via explicit run-time models
Conclusions • New computing technology require new SW technology • For embedded and ubiquitous computing environment, run-time software engineering technology is proposed • New SW technology is expected to play an important role in the future computing market • Two research initiatives : • Run-Time SW technology framework for ubiquitous environments • Alchemist : software framework for self-adaptive software for intelligent robots