Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
Advertisements

Software Architecture Frameworks A Family of Implementations Nikunj Mehta Computer Science Department University of Southern California Los Angeles, CA.
Towards Self-Testing in Autonomic Computing Systems Tariq M. King, Djuradj Babich, Jonatan Alava, and Peter J. Clarke Software Testing Research Group Florida.
© Chinese University, CSE Dept. Software Engineering / Software Engineering Topic 1: Software Engineering: A Preview Your Name: ____________________.
SECOND MIDTERM REVIEW CS 580 Human Computer Interaction.
Early Effort Estimation of Business Data-processing Enhancements CS 689 November 30, 2000 By Kurt Detamore.
Software Architectures and Embedded Systems Nenad Medvidovic with Sam Malek and Marija Mikic-Rakic Computer Science Department University of Southern California.
Reseach in DistriNet (department of computer science, K.U.Leuven) General overview and focus on embedded systems task-force.
Variability Oriented Programming – A programming abstraction for adaptive service orientation Prof. Umesh Bellur Dept. of Computer Science & Engg, IIT.
Component-Based Adaptive Tasks Guided by Resource Contracts Peter Rigole K.U.Leuven Belgium.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
An Architecture-Based Approach to Self-Adaptive Software Presenters Douglas Yu-cheng Su Ajit G. Sonawane.
Requirements Analysis 5. 1 CASE b505.ppt © Copyright De Montfort University 2000 All Rights Reserved INFO2005 Requirements Analysis CASE Computer.
Π-Method: A Model-Driven Formal Method for Architecture- Centric Software Engineering By Flavio Oquendo Presented by: Sajith Wickramaratne.
Self Adaptive Software
1 Dynamic Assembly, Assessment, Assurance, and Adaptation via Heterogeneous Software Connectors Nenad Medvidovic with Marija Rakic and Barry Boehm University.
Self-Architecting Software SYstems (SASSY) from QoS-Annotated Activity Models Sam Malek Naeem Esfahani Daniel A. Menascé João P. Sousa Hassan Gomaa May.
Visual Debugging Tools for Concurrent Models of Computation Elaine Cheong 15 May 2002 EE290N: Advanced Topics in System Theory.
Software Self-Adaptation A survey of the field “Self-adaptive software evaluates its own behavior and changes behavior when the evaluation indicates it.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
ORION - A Component-Based Software Engineering Environment
Component-Based Software Engineering Dr R Bahsoon 1 Lecture 1. Introduction Component-Based Software Dr. Rami Bahsoon School of Computer Science The University.
David Garlan Ivan Ruchkin Carnegie Mellon University Pittsburgh, PA, USA December 2014.
JAAF+T: A Framework to Implement Self- Adaptive Agents that Apply Self-Test Andrew Diniz da Costa
Marco Blumendorf I July 21th, 2009 Towards a Model-Based Framework for the Development of Adaptive Multimodal User Interfaces.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
Chapter 1 The Systems Development Environment
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
PALMS-CI: A Policy-driven Cyberinfrastructure For the Exposure Biology Community Barry Demchak Jacqueline Kerr, Gregory Norman, Ernesto.
Research at the Open University of Catalonia on Online Collaborative Learning Fatos Xhafa Polytechnic University of Catalonia & Open University of Catalonia.
Architecture-Based Runtime Software Evolution Peyman Oreizy, Nenad Medvidovic & Richard N. Taylor.
OASIS WSQM TC Meeting Dugki Min. 컴퓨터공학부 건국대학교 Agenda 1. Roll Call 2. Review and approval of the agenda 3. Review and approval of the previous.
2-Oct-15 1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts ICS Software Engineering.
2-Oct-15 Introduction to SWE1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts.
Adaptive software in cloud computing Marin Litoiu York University Canada.
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Do tangible interfaces enhance learning? Richard Haines.
ASG - Towards the Adaptive Semantic Services Enterprise Harald Meyer WWW Service Composition with Semantic Web Services
Action ADAPT / IDM, November 13th, 2008 Dynamic Adaptive Software Components: The MOCAS Approach1.
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Architectural Blueprints The “4+1” View Model of Software Architecture
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
A Web-based Distributed Simulation System Christopher Taewan Ryu Computer Science Department California State University, Fullerton.
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
Development of Methodologies for Independent Verification and Validation of Neural Networks NAG OSMA-F001-UNCLASS Methods and Procedures.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Evaluation of Agent Building Tools and Implementation of a Prototype for Information Gathering Leif M. Koch University of Waterloo August 2001.
Bio-Networking: Biology Inspired Approach for Development of Adaptive Network Applications 21 May 2005Ognen Paunovski Bio-Networking: Biology Inspired.
Software Deployment and Mobility. Introduction Deployment is the placing of software on the hardware where it is supposed to run. Redeployment / migration.
UNIT-1 SOFTWARE PRODUCT AND PROCESS: Introduction – S/W Engineering paradigm – Verification – Validation – Life cycle models – System engineering –
Hossein Tajalli, Joshua Garcia, George Edwards, and Nenad Medvidovic Computer Science Department University of Southern California.
Self-Organizing Architectures SOAR 2010 International Conference on Autonomic Computing and Communication, ICAC Washington DC, USA June 7, 2010.
 2001 John Mylopoulos STRAW’ Software Architectures as Social Structures John Mylopoulos University of Toronto First ICSE Workshop titled “From.
Survey of Tools to Support Safe Adaptation with Validation Alain Esteva-Ramirez School of Computing and Information Sciences Florida International University.
Architecture-Driven Self- Adaptation and Self- Management in Robotics Systems By George Edwards, Joshua Garcia, Farshad Tajalli, Daniel Popescu, Nenad.
Hossein Tajalli & Joshua Garcia. Motivation Self-* or autonomic systems Self-configuration, self-adaptation, and self-healing Why we might want self-adaptive.
Modeling with Rational Rose Huzefa Kagdi Software Development Laboratory Department of Computer Science Kent State University Kent Ohio, USA.
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
L ECTURE 1 Introduction Getting started with software engineering.
National Aeronautics and Space Administration Jet Propulsion Laboratory March 17, 2009 Workflow Orchestration: Conducting Science Efficiently on the Grid.
1 Process activities. 2 Software specification Software design and implementation Software validation Software evolution.
ORION - A Component-Based Software Engineering Environment
Software Architecture
Utility Evaluation of Tools for Collaborative Development
Do Tangible Interfaces Enhance Learning?
Model-Driven Analysis Frameworks for Embedded Systems
ORION - A Component-Based Software Engineering Environment
Automated Analysis and Code Generation for Domain-Specific Models
UML Design for an Automated Registration System
Presentation transcript:

Hossein Tajalli and Nenad Medvidovic

Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning requirements elicitation and negotiation Design Implementation Testing and debugging Deployment Maintenance Evolution Co-ordination of ideas, artifacts, and resources among involved people

Classification of Tools

Run-time Tools Classical environments To support exploratory style of programming Run-time tools to execute programs and alter running programs E.g. Interlisp [Tei81], Smalltalk [Gol83], Cedar [Swi85], and The Rational Environment [Arc86] Modern environments To support self-adaptive software systems Self-Adaptive Life-cycle Environments (SALEs) Run-time tools to calculate, validate, and perform run-time adaptation E.g. SADE [Don09], PESOI [Tsa06a], PBAAM [Geo04], Rainbow [Che08], and ArchStudio [Das07] Existence of run-time tools resulted in the integration of development and run-time Environments in this systems.

Common Architecture for Self-adaptive Software Systems Monitors Adapts Maintains

Advantages of SALEs Providing artifact updates directly to the adaptation engine Providing consistent user interfaces to set and control the behavior of the adaptation engine Orchestration and integration of the adaptation engine with other tools to design, generate, validate, and test software adaptation artifacts Providing feedback from run-time environment to development environment using adaptation engine

Disadvantages of SALEs Development and run-time environments have to run concurrently Lower availability Higher resource consumption

iDARE A reference architecture for integrated Development And Run-time Environments Inspired by SALEs Based on a new perspective: interaction with the run-time environments To study and understand development environments Captures the architecture of disparate development environments Improve availability and resource consumption of SALEs

iDARE Reference Architecture

Classification of Environments Development Environments (based on level of interaction with run-time environments) No Interaction Limited Co-operation Full Integration

Environments with No Interaction Development Environments (based on level of interaction with run-time environments) No Interaction Limited Co-operation Full Integration

Environments with No Interaction Development Environments (based on level of interaction with run-time environments) No Interaction Limited Co-operation Full Integration Traditional programming paradigms IntegralC [Ros87], OOT [Man93b], Unix/PWB [Dol84], VMX VAXset [vms84], Rigi [Mul88], PCTE [Bou88], CAIS [Mun89], Aspect [Bro91], SoftBench [Bro92], DSEE [Leb84], Istar [Dow87], Inscape [Per87,Per89], and SLCSE [Str89] Multi-agent systems AgentBuilder 1 [Ric00], AgentTool[Loa01] 1

Environments with Limited Co-operation Development Environments (based on level of interaction with run-time environments) No Interaction Limited Co-operation Full Integration

Environments with Limited Co-operation Development Environments (based on level of interaction with run-time environments) No Interaction Limited Co-operation Full Integration Traditional programming paradigms DYMOS [Coo83], Erlang [Erl97], Conic [Mag89], Argus [Lis88,Blo93], and Reconfigurable PolyLith [Hof93] Multi-agent systems JADE [Bel01], Zeus [Nwa99], MAGE [Shi04], Jason [Bor05], and Visual Soar [Fai96] Service-oriented systems IBM SOA Foundation Architecture [Hig05], Microsoft Whitehorse Project [Wil04], and JBoss 1 Enterprise SOA Platform Component-based systems Archstudio 2.0 [Ore00] 1

Environments with Full Integration Development Environments (based on level of interaction with run-time environments) No Interaction Limited Co-operation Full Integration Development Environments (based on level of interaction with run-time environments) No Interaction Limited Co-operation Full Integration Exploratory Style SALEs

Environments for Exploratory Style Development Environments (based on level of interaction with run-time environments) No Interaction Limited Co-operation Full Integration Exploratory Style SALEs Examples: Interlisp [Tei81], Smalltalk [Gol83], Cedar [Swi85], and The Rational Environment [Arc86]

Environments for SALEs Development Environments (based on level of interaction with run-time environments) No Interaction Limited Co-operation Full Integration Exploratory Style SALEs Examples: SADE [Don09], PESOI [Tsa06a], PBAAM [Geo04], Rainbow [Che08], ArchStudio [Das07]

Re-cast Example: PBAAM The Policy-Based Architectural Adaptation Management (PBAAM) [Geo08] is an automated approach to architectural software adaptation.

Disadvantages of SALEs Development and run-time environments have to run concurrently Lower availability Higher resource consumption The detachable tools in iDARE are intended to solve these problems.

PLASMA Our ongoing work on the context of the PLASMA [Taj10] has provided preliminary evidence of iDARE’s utility.

Conclusions iDARE reference architecture Study and understand development Environments New perspective: run-time plug-ins Improve availability and resource consumption of SALEs Classifications of development environments

Some of the References [Tei81] W. Teitelman and L. Masinter, “The Interlisp programming environment,” Computer, vol. 14, pp. 25–33, April [Gol83] A. Goldberg, “The influence of an object-oriented language on the programming environment,” in Proceedings of the 1983 computer science conference, ser. CSC-83. New York, NY, USA: ACM, 1983, pp. 35–54. [Swi85] D. C. Swinehart et al., “The structure of Cedar,” SIGPLAN Not., vol. 20, pp. 230–244, June [Arc86] J. E. J. Archer and M. T. Devlin, “Rational’s experience using Ada for very large systems,” in First International Conference on Ada (R) Programming Language Applications for the NASA Space Station, vol. 12, NASA, Lyndon B. Johnson Space Center, 1986, pp. 08–61. [Don09]M. Dong et al., “SADE: a development environment for adaptive multi-agent systems,” in Proceedings of the 12th International Conference on Principles of Practice in Multi- Agent Systems, ser. PRIMA ’09. Berlin, Heidelberg: Springer-Verlag, 2009, pp. 516–524. [Tsa06] W.-T. Tsai et al., “PESOI: Process embedded service-oriented architecture,” Journal of Software, vol. 17, pp. 1470–1484, [Geo04] J. C. Georgas and R. N. Taylor, “Towards a knowledge-based approach to architectural adaptation management,” in 1 st ACM SIGSOFT Workshop on Self-managed Systems, [Che08] S.-W. Cheng, “Rainbow: Cost-effective software architecture-based self-adaptation,” Ph.D. dissertation, Carnegie Mellon University, Pittsburgh, [Geo08] J. C. Georgas, “Supporting architecture- and policy-based self-adaptive software systems,” Ph.D. dissertation, University of California, Irvine, [Taj10] H. Tajalli et al., “PLASMA: a plan-based layered architecture for software model-driven adaptation,” in Proceedings of the IEEE/ACM international conference on Automated software engineering, ser. ASE ’10. New York, NY, USA: ACM, 2010, pp. 467–476.