A R eference Architecture for Integrated Development And Runtime Environments Hossein Tajalli and Nenad Medvidovic Software Development Environments Augment or automate activities and processes ID: 765450
Download Presentation The PPT/PDF document "A R eference Architecture for Integrate..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
A Reference Architecture for Integrated Development And Run-time Environments Hossein Tajalli and Nenad Medvidovic
Software Development EnvironmentsAugment or automate activities and processes in the software life-cycleSpanning requirements elicitation and negotiationDesignImplementationTesting and debugging Deployment MaintenanceEvolutionCo-ordination of ideas, artifacts, and resources among involved people
Classification of Tools
Run-time ToolsClassical environmentsTo support exploratory style of programmingRun-time tools to execute programs and alter running programsE.g. Interlisp [Tei81], Smalltalk [Gol83], Cedar [Swi85], and The Rational Environment [Arc86]Modern environmentsTo support self-adaptive software systems Self-Adaptive Life-cycle Environments (SALEs) Run-time tools to calculate, validate, and perform run-time adaptationE.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 SystemsMonitors Adapts Maintains
Advantages of SALEsProviding artifact updates directly to the adaptation engineProviding 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 artifactsProviding feedback from run-time environment to development environment using adaptation engine
Disadvantages of SALEsDevelopment and run-time environments have to run concurrentlyLower availability Higher resource consumption
iDAREA reference architecture for integrated Development And Run-time EnvironmentsInspired by SALEsBased on a new perspective: interaction with the run-time environmentsTo study and understand development environmentsCaptures the architecture of disparate development environmentsImprove availability and resource consumption of SALEs
iDARE Reference Architecture
Classification of Environments
Environments with No Interaction
Environments with No InteractionTraditional programming paradigmsIntegralC [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 systemsAgentBuilder1 [Ric00], AgentTool[Loa01] 1 www.agentBuilder.com
Environments with Limited Co-operation
Environments with Limited Co-operationTraditional programming paradigmsDYMOS [Coo83], Erlang [Erl97], Conic [Mag89], Argus [Lis88,Blo93], and Reconfigurable PolyLith [Hof93]Multi-agent systemsJADE [Bel01], Zeus [Nwa99], MAGE [Shi04], Jason [Bor05], and Visual Soar [Fai96] Service-oriented systemsIBM SOA Foundation Architecture [Hig05], Microsoft Whitehorse Project [Wil04], and JBoss1 Enterprise SOA Platform Component-based systemsArchstudio 2.0 [Ore00] 1 www.jboss.org
Environments with Full Integration
Environments for Exploratory StyleExamples: Interlisp [Tei81], Smalltalk [Gol83], Cedar [Swi85], and The Rational Environment [Arc86]
Environments for SALEsExamples: SADE [Don09], PESOI [Tsa06a], PBAAM [Geo04], Rainbow [Che08], ArchStudio [Das07]
Re-cast Example: PBAAMThe Policy-Based Architectural Adaptation Management (PBAAM) [Geo08] is an automated approach to architectural software adaptation.
Disadvantages of SALEsDevelopment and run-time environments have to run concurrentlyLower availability Higher resource consumptionThe detachable tools in iDARE are intended to solve these problems.
PLASMAOur ongoing work on the context of the PLASMA [Taj10] has provided preliminary evidence of iDARE’s utility.
ConclusionsiDARE reference architecture Study and understand development EnvironmentsNew perspective: run-time plug-insImprove availability and resource consumption of SALEsClassifications of development environments
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 .