Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning."— Presentation transcript:

1 Hossein Tajalli and Nenad Medvidovic

2 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

3 Classification of Tools

4 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.

5 Common Architecture for Self-adaptive Software Systems Monitors Adapts Maintains

6 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

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

8 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

9 iDARE Reference Architecture

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

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

12 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 www.agentBuilder.com

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

14 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 www.jboss.org

15 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

16 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]

17 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]

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

19 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.

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

21 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

22 Some of the References [Tei81] W. Teitelman and L. Masinter, “The Interlisp programming environment,” Computer, vol. 14, pp. 25–33, April 1981. [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 1985. [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, 2006. [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, 2004. [Che08] S.-W. Cheng, “Rainbow: Cost-effective software architecture-based self-adaptation,” Ph.D. dissertation, Carnegie Mellon University, Pittsburgh, 2008. [Geo08] J. C. Georgas, “Supporting architecture- and policy-based self-adaptive software systems,” Ph.D. dissertation, University of California, Irvine, 2008. [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.


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

Similar presentations


Ads by Google