iDARE Presentation - Center for Software Engineering

advertisement
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
Existence
of [Arc86]
run-time tools resulted
Rational
Environment
•
in the integration of development
Modernand
environments
run-time Environments in this
• To support self-adaptive software systems
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]
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
• AgentBuilder1 [Ric00], AgentTool[Loa01]
1 www.agentBuilder.com
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 JBoss1 Enterprise SOA
Platform
• Component-based systems
• Archstudio 2.0 [Ore00]
1 www.jboss.org
Environments with
Full Integration
Development Environments
(based on level of interaction
with run-time environments)
No Interaction
Limited
Co-operation
Development Environments
(based on level of interaction
with run-time environments)
No Interaction
Limited
Co-operation
Exploratory
Style
Full Integration
SALEs
Full Integration
Environments for
Exploratory Style
Development Environments
(based on level of interaction
with run-time environments)
No Interaction
Limited
Co-operation
Full Integration
Exploratory
Style
Examples: Interlisp [Tei81], Smalltalk [Gol83], Cedar [Swi85],
and The Rational Environment [Arc86]
SALEs
Environments for
SALEs
Development Environments
(based on level of interaction
with run-time environments)
No Interaction
Limited
Co-operation
Full Integration
Exploratory
Style
Examples: SADE [Don09], PESOI [Tsa06a], PBAAM [Geo04],
Rainbow [Che08], ArchStudio [Das07]
SALEs
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 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 MultiAgent 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.
Download