Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate...
-
Upload
justin-nelson -
Category
Documents
-
view
219 -
download
0
Transcript of Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate...
![Page 1: Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.](https://reader030.fdocuments.in/reader030/viewer/2022032706/56649dde5503460f94ad7c24/html5/thumbnails/1.jpg)
A Reference Architecture for Integrated Development And Run-time Environments
Hossein Tajalli and Nenad Medvidovic
![Page 2: Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.](https://reader030.fdocuments.in/reader030/viewer/2022032706/56649dde5503460f94ad7c24/html5/thumbnails/2.jpg)
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
![Page 3: Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.](https://reader030.fdocuments.in/reader030/viewer/2022032706/56649dde5503460f94ad7c24/html5/thumbnails/3.jpg)
Classification of Tools
![Page 4: Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.](https://reader030.fdocuments.in/reader030/viewer/2022032706/56649dde5503460f94ad7c24/html5/thumbnails/4.jpg)
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.
![Page 5: Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.](https://reader030.fdocuments.in/reader030/viewer/2022032706/56649dde5503460f94ad7c24/html5/thumbnails/5.jpg)
Common Architecture for Self-adaptive Software Systems
Monitors Adapts
Maintains
![Page 6: Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.](https://reader030.fdocuments.in/reader030/viewer/2022032706/56649dde5503460f94ad7c24/html5/thumbnails/6.jpg)
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
![Page 7: Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.](https://reader030.fdocuments.in/reader030/viewer/2022032706/56649dde5503460f94ad7c24/html5/thumbnails/7.jpg)
Disadvantages of SALEs• Development and run-time environments have to run
concurrently• Lower availability • Higher resource consumption
![Page 8: Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.](https://reader030.fdocuments.in/reader030/viewer/2022032706/56649dde5503460f94ad7c24/html5/thumbnails/8.jpg)
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
![Page 9: Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.](https://reader030.fdocuments.in/reader030/viewer/2022032706/56649dde5503460f94ad7c24/html5/thumbnails/9.jpg)
iDARE Reference Architecture
![Page 10: Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.](https://reader030.fdocuments.in/reader030/viewer/2022032706/56649dde5503460f94ad7c24/html5/thumbnails/10.jpg)
Classification of Environments
Development Environments (based on level of interaction with run-time environments)
No InteractionLimited
Co-operationFull Integration
![Page 11: Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.](https://reader030.fdocuments.in/reader030/viewer/2022032706/56649dde5503460f94ad7c24/html5/thumbnails/11.jpg)
Environments with No Interaction
Development Environments (based on level of interaction with run-time environments)
No InteractionLimited
Co-operationFull Integration
![Page 12: Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.](https://reader030.fdocuments.in/reader030/viewer/2022032706/56649dde5503460f94ad7c24/html5/thumbnails/12.jpg)
Environments with No Interaction
Development Environments (based on level of interaction with run-time environments)
No InteractionLimited
Co-operationFull 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• AgentBuilder1 [Ric00], AgentTool[Loa01]
1 www.agentBuilder.com
![Page 13: Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.](https://reader030.fdocuments.in/reader030/viewer/2022032706/56649dde5503460f94ad7c24/html5/thumbnails/13.jpg)
Environments with Limited Co-operation
Development Environments (based on level of interaction with run-time environments)
No InteractionLimited
Co-operationFull Integration
![Page 14: Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.](https://reader030.fdocuments.in/reader030/viewer/2022032706/56649dde5503460f94ad7c24/html5/thumbnails/14.jpg)
Environments with Limited Co-operation
Development Environments (based on level of interaction with run-time environments)
No InteractionLimited
Co-operationFull 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 JBoss1 Enterprise SOA Platform
• Component-based systems• Archstudio 2.0 [Ore00]
1 www.jboss.org
![Page 15: Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.](https://reader030.fdocuments.in/reader030/viewer/2022032706/56649dde5503460f94ad7c24/html5/thumbnails/15.jpg)
Environments with Full Integration
Development Environments (based on level of interaction with run-time environments)
No InteractionLimited
Co-operationFull Integration
Development Environments (based on level of interaction with run-time environments)
No InteractionLimited
Co-operationFull Integration
Exploratory Style SALEs
![Page 16: Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.](https://reader030.fdocuments.in/reader030/viewer/2022032706/56649dde5503460f94ad7c24/html5/thumbnails/16.jpg)
Environments for Exploratory Style
Development Environments (based on level of interaction with run-time environments)
No InteractionLimited
Co-operationFull Integration
Exploratory Style SALEs
Examples: Interlisp [Tei81], Smalltalk [Gol83], Cedar [Swi85], and The Rational Environment [Arc86]
![Page 17: Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.](https://reader030.fdocuments.in/reader030/viewer/2022032706/56649dde5503460f94ad7c24/html5/thumbnails/17.jpg)
Environments for SALEs
Development Environments (based on level of interaction with run-time environments)
No InteractionLimited
Co-operationFull Integration
Exploratory Style SALEs
Examples: SADE [Don09], PESOI [Tsa06a], PBAAM [Geo04], Rainbow [Che08], ArchStudio [Das07]
![Page 18: Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.](https://reader030.fdocuments.in/reader030/viewer/2022032706/56649dde5503460f94ad7c24/html5/thumbnails/18.jpg)
Re-cast Example: PBAAM
The Policy-Based Architectural Adaptation Management (PBAAM) [Geo08] is an automated approach to architectural software adaptation.
![Page 19: Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.](https://reader030.fdocuments.in/reader030/viewer/2022032706/56649dde5503460f94ad7c24/html5/thumbnails/19.jpg)
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.
![Page 20: Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.](https://reader030.fdocuments.in/reader030/viewer/2022032706/56649dde5503460f94ad7c24/html5/thumbnails/20.jpg)
PLASMAOur ongoing work on the context of the PLASMA [Taj10] has provided preliminary evidence of iDARE’s utility.
![Page 21: Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.](https://reader030.fdocuments.in/reader030/viewer/2022032706/56649dde5503460f94ad7c24/html5/thumbnails/21.jpg)
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
![Page 22: Hossein Tajalli and Nenad Medvidovic. Software Development Environments Augment or automate activities and processes in the software life-cycle Spanning.](https://reader030.fdocuments.in/reader030/viewer/2022032706/56649dde5503460f94ad7c24/html5/thumbnails/22.jpg)
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 1st 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.