DYNAMIC EVOLUTIONAND RECONFIGURATION OFSOFTWARE ARCHITECTURESTHROUGH ASPECTSCristóbal Costa-SoriaSupervisorsDr. Jose A. Ca...
Outline    Introduction     – Motivation     – Related works     – Research objectives    Context     – PRISMA ADL     –...
MotivationINTRODUCTION                       Software systems are subject to changesMotivation              during their ...
Introduction: Dynamic EvolutionINTRODUCTION                       Dynamic EvolutionMotivation                  A process ...
Dynamism at the Architectural LevelINTRODUCTION                       Why a software architecture-based approach?Motivati...
Evolving Software ArchitecturesINTRODUCTION                       Dynamic Change in Software ArchitecturesMotivation     ...
Evolving Software ArchitecturesINTRODUCTION                       Both levels of dynamism are complementary andMotivation...
Dynamic Evolution ConcernsINTRODUCTION                       Dynamic Reconfiguration and Type Evolution areMotivation    ...
Related workINTRODUCTION                       Desired attributes for Evolution FrameworksMotivationRelated Work         ...
State of the ArtINTRODUCTION                       Analysis from different perspectivesMotivation                  – Form...
State of the ArtINTRODUCTION                       ChallengesMotivation                  – Gap among formal ADLs and tech...
State of the ArtINTRODUCTIONMotivationRelated WorkObjectivesCONTEXTPRISMA ADLCase StudyDYNAMIC PRISMADynamicReconfiguratio...
Research objectives                      To provide a framework to make easy the design,INTRODUCTIONMotivation            ...
Outline    Introduction     – Motivation     – Related works     – Research objectives    Context     – PRISMA ADL     –...
Architectural Model: PRISMAINTRODUCTION                       The Dynamic Evolution framework has beenMotivation         ...
Architectural Model: PRISMAINTRODUCTION                       Allows modelling behaviour of architecturalMotivation      ...
Architectural Model: PRISMAINTRODUCTION                       Supported by a Model-Driven DevelopmentMotivation          ...
Outline    Introduction     – Motivation     – Related works     – Research objectives    Context     – PRISMA ADL     –...
Case Study: AgrobotINTRODUCTION                       An Autonomous Robot forMotivation              Plague ControlRelate...
Agrobot ArchitectureINTRODUCTION                   Hierarchically composedMotivation           – A composition of composi...
Agrobot: Types and InstancesINTRODUCTION                       Typed ArchitectureMotivationRelated WorkObjectivesCONTEXT ...
Dynamic Requirements of the AgrobotINTRODUCTION                       The Agrobot is autonomous and 24/7 operativeMotivat...
Dynamic Requirements: VisionSystemINTRODUCTION                       Fault-tolerance supportMotivation                  –...
Outline    Introduction     – Motivation     – Related works     – Research objectives    Context     – PRISMA ADL     –...
Dynamic ReconfigurationINTRODUCTION                       Reconfiguration management modelMotivation                  – E...
Autonomic Reconfiguration                       From the Autonomic Control loopINTRODUCTIONMotivation                    ...
Improving Maintenance: Modularity                     ModulesINTRODUCTIONMotivation                 – In Autonomic Comput...
Aspects in PRISMA ADLINTRODUCTION                         AspectsMotivation                    – An aspect defines provid...
Autonomic Reconfiguration In   Composite ComponentsINTRODUCTION                         Any composite component that can ...
Example:   Agrobot Reconfiguration Scenario                         Fault-tolerance support in the VisionSystemINTRODUCTI...
Monitoring AspectINTRODUCTION                             Provides Introspection servicesMotivation                      ...
Reconfiguration Analysis AspectINTRODUCTION                                 Encapsulates the Reconfiguration Policies ofM...
Reconfiguration Analysis AspectINTRODUCTION                          Specification using PRISMA AOADLMotivation          ...
Reconfiguration Coordination AspectINTRODUCTION                                Coordinates the reconfiguration processMot...
Reconfiguration Effector AspectINTRODUCTION                            Provides generic reconfiguration servicesMotivatio...
Dynamic PRISMA Implementation                            VisionSystem              ReconfigurationCoordinationINTRODUCTION...
Outline    Introduction     – Motivation     – Related works     – Research objectives    Context     – PRISMA ADL     –...
Agrobot: VisionSystem UpdatingINTRODUCTION                           After the delivery of Agrobot units, a criticalMotiv...
Type and Instances: ExampleINTRODUCTION                       Architectural TypeMotivation                  – Define stru...
Type and Instances: ExampleINTRODUCTION                       Architectural TypeMotivation                  – Define stru...
Evolvable Types: Reflective ModelINTRODUCTION                       Computational Reflection (Maes, 1987)Motivation      ...
Evolvable Types: Reflective ModelINTRODUCTION                       Each evolvable type is provided with reflectiveMotiva...
Evolving Types at RuntimeINTRODUCTION                        Evolution processMotivation                   1. Reification...
Evolving Types at RuntimeINTRODUCTION                        Evolution processMotivation                   1. Reification...
Evolving Types at RuntimeINTRODUCTION                       Evolution processMotivation                  1. ReificationRe...
Evolvable Types: The Internals  Type reification, introspection  services, and the different type              ImageProcSo...
Evolvable Types: The Internals  Type reification, introspection  services, and the different type                   ImageP...
Outline    Introduction     – Motivation     – Related works     – Research objectives    Context     – PRISMA ADL     –...
Description of Evolution SemanticsINTRODUCTION                       Complexity of the Asynchronous Type EvolutionMotivat...
Evolution SemanticsINTRODUCTION                       Trasformation rules described inMotivation              Architectur...
Evolution SemanticsINTRODUCTION                       Update Architectural Type: type-level operationMotivation          ...
Evolution SemanticsINTRODUCTION                       Replace Architectural Element: instance-levelMotivation            ...
Outline    Introduction     – Motivation     – Related works     – Research objectives    Context     – PRISMA ADL     –...
ConclusionsINTRODUCTION                       Dynamic PRISMA takes a step forward in theMotivation              developme...
ConclusionsINTRODUCTION                       Dynamic PRISMA contributes with:Motivation                  – A model for A...
ConclusionsINTRODUCTION                       Validation of Dynamic PRISMA FrameworkMotivation                  – PRISMAN...
Further ResearchINTRODUCTION                       Model-Driven Development of evolvable systemsMotivationRelated Work   ...
ContributionsINTRODUCTION                       ProjectsMotivation                  – This thesis has been funded by the ...
ContributionsINTRODUCTION                       PublicationsMotivation                  – Journals and Book ChaptersRelat...
ContributionsINTRODUCTION                       PublicationsMotivation                  – International ConferencesRelate...
ContributionsINTRODUCTION                       PublicationsMotivation                  – International ConferencesRelate...
Thank you very much for your attention          Cristóbal Costa-Soria          Information Systems and Software Engineerin...
Upcoming SlideShare
Loading in …5
×

Dynamic Evolution and Reconfiguration of Software Architectures through Aspects. PhD Thesis Dissertation

619 views

Published on

PhD Thesis presented in the Universidad Politécnica de Valencia (Spain) on 13th June 2011. Supervisors: Jennifer Pérez, Jose A. Carsí. Full PhD Thesis available on: http://issi.dsic.upv.es/publications/articles?view=371 and http://hdl.handle.net/10251/11038

Abstract:
Change is an intrinsic property of software. A software system, during its lifetime, may require several updates, improvements, or new features. If these change requirements are not addressed, the risk of becoming a useless system increases. In fact, this is a challenging issue of safety- and mission-critical software systems, which cannot be stopped to perform maintenance or evolution operations due to their continuous operation. To reduce the aging of these critical systems, they must be provided with mechanisms enabling their dynamic evolution, i.e. the support of changes on their structure and behaviour while they remain in operation. This thesis is concerned with the design of a framework to build architecture-based, dynamically evolvable, software systems.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
619
On SlideShare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Dynamic Evolution and Reconfiguration of Software Architectures through Aspects. PhD Thesis Dissertation

  1. 1. DYNAMIC EVOLUTIONAND RECONFIGURATION OFSOFTWARE ARCHITECTURESTHROUGH ASPECTSCristóbal Costa-SoriaSupervisorsDr. Jose A. Carsí CubelDr. Jennifer Pérez Benedí Valencia, 13th June 2011
  2. 2. Outline  Introduction – Motivation – Related works – Research objectives  Context – PRISMA ADL – Case study: Agrobot  Dynamic PRISMA Framework – Dynamic Reconfiguration – Dynamic Evolution of Architectural Types – Description of Evolution Semantics  Conclusions and Further Research 2
  3. 3. MotivationINTRODUCTION  Software systems are subject to changesMotivation during their lifetimeRelated WorkObjectives – Context adaptations, improvements, updates, or newCONTEXT featuresPRISMA ADLCase Study – Sometimes as a consequence of their use or agingDYNAMIC PRISMA  Change is challenging in systems that areDynamicReconfiguration continuously operatingDynamic TypeEvolution – Management and control of critical infrastructuresEvolutionSemantics (military, energy, health, transports)CONCLUSIONS & – 24/7 business SLA (cloud infrastructures, bankingFURTHER WORK systems, manufacturing industry systems) – Not reachable systems (autonomous robots in space missions) Valencia, 13th June 2011 Cristóbal Costa-Soria 3
  4. 4. Introduction: Dynamic EvolutionINTRODUCTION  Dynamic EvolutionMotivation A process of gradual change that is performed on a previouslyRelated Work operational software system to correct, improve, extend orObjectives reduce part of its functionality, which occurs during itsCONTEXT execution, without disturbing those parts of the systemPRISMA ADLCase Study unaffected by the change, and which preserves the system’s integrity.DYNAMIC PRISMADynamicReconfiguration  Different granularities of dynamic changeDynamic Type – Fine: variables, statements or methods int a=2; calc(a,20);Evolution sen(20,a); a+3;EvolutionSemantics – Medium: classes, modules or componentsCONCLUSIONS & – Coarse: composites, software architecturesFURTHER WORK This thesis focuses on evolving software architectures But also on evolving the architecture building blocks Valencia, 13th June 2011 Cristóbal Costa-Soria 4
  5. 5. Dynamism at the Architectural LevelINTRODUCTION  Why a software architecture-based approach?Motivation – High abstraction level for describing dynamic changesRelated WorkObjectives • Code is modularized by means of architectural elementsCONTEXT • Improvement of maintenance and reusabilityPRISMA ADL – Allows varying the level of system descriptionCase Study • Complexity is reducedDYNAMIC PRISMADynamic – Architecture Description Languages provide support forReconfigurationDynamic Type • System modellingEvolution • Code-generationEvolutionSemantics • Formal AnalysisCONCLUSIONS &FURTHER WORK Composite Component Component Component Port Connector Connector Valencia, 13th June 2011 Cristóbal Costa-Soria, Valencia 13th June 2011 5
  6. 6. Evolving Software ArchitecturesINTRODUCTION  Dynamic Change in Software ArchitecturesMotivation – Dynamic ReconfigurationRelated WorkObjectives Changes performed at runtime in the organisation of a composite system, involving the creation and removal ofCONTEXTPRISMA ADL architectural instances and/or the links among them.Case StudyDYNAMIC PRISMA Composite ComponentDynamicReconfigurationDynamic Type Component Component PortEvolutionEvolutionSemantics Connector Component ConnectorCONCLUSIONS &FURTHER WORK – Dynamic Evolution of Architectural Types Changes performed at runtime in the architectural types that a composite system is build from, involving the introduction of new types, the modification of instantiated types, or the removal of existing types and their instances Valencia, 13th June 2011 Cristóbal Costa-Soria 6
  7. 7. Evolving Software ArchitecturesINTRODUCTION  Both levels of dynamism are complementary andMotivation beneficial for the construction of highly dynamicRelated WorkObjectives software architecturesCONTEXT – Dynamic Reconfiguration for structural changesPRISMA ADLCase StudyDYNAMIC PRISMA – Dynamic Type Evolution for behavioural changesDynamicReconfigurationDynamic TypeEvolution PlasticityEvolution Makes the structure malleable at runtimeSemantics within some constraintsCONCLUSIONS &FURTHER WORK Flexibility Makes the elements entirely modifiable at runtime This thesis addresses how to combine them for Valencia, 13th June 2011 designing highly Costa-Soria systems Cristóbal dynamic 7
  8. 8. Dynamic Evolution ConcernsINTRODUCTION  Dynamic Reconfiguration and Type Evolution areMotivation orthogonal to system functionalityRelated WorkObjectives – Crosscutting concerns of flexible and dynamic systemsCONTEXT – Should be isolated to improve reuse and maintenancePRISMA ADLCase StudyDYNAMIC PRISMA  Aspect-Oriented Software DevelopmentDynamicReconfiguration – Separates crosscutting concerns by meansDynamic Type of aspects and weavingsEvolutionEvolution<<sense>>SemanticsCONCLUSIONS &  Evolution Concerns FURTHER WORK <<act>> encapsulated into aspects – Makes their system integration transparent – Facilitates their maintenance Valencia, 13th June 2011 Cristóbal Costa-Soria 8
  9. 9. Related workINTRODUCTION  Desired attributes for Evolution FrameworksMotivationRelated Work – Degree of formality Based on a formal language or focused on a specific technology?Objectives FormalCONTEXT – Level of dynamism Structural or behavioural changes?PRISMA ADL Reconfiguration and Type Evolution How are the changes drivenCase Study – Activeness (internally or externally)? Proactive and Reactive Where are the evolution concernsDYNAMIC PRISMADynamic – Separation of evolution concernsdefined? Are the specifications and mechanisms explicitly isolated ?Reconfiguration Evolution specifications and mechanisms are isolated from other concernsDynamic TypeEvolution – Evolution management Centralized or Distributed?Evolution Distributed Which degree of self-awareness isSemantics – Introspection provided?CONCLUSIONS & Aware of its structure and state What degree of expressiveness isFURTHER WORK – Types of change supported? Additions, removals, updates, linkings How the consistency of the system and unlinkings – Consistency management is preserved before and after Safe stopping, State transfer, Transactional management dynamic changes? Valencia, 13th June 2011 Cristóbal Costa-Soria, Valencia 13th June 2011 9
  10. 10. State of the ArtINTRODUCTION  Analysis from different perspectivesMotivation – Formal specification of dynamic reconfigurationsRelated WorkObjectives – Technological approaches covering dynamic changeCONTEXT supportPRISMA ADLCase Study – Self-adaptive approachesDYNAMIC PRISMA – Decentralized approachesDynamicReconfiguration – Aspect-oriented management of evolutionsDynamic TypeEvolutionEvolutionSemanticsCONCLUSIONS &FURTHER WORK Valencia, 13th June 2011
  11. 11. State of the ArtINTRODUCTION  ChallengesMotivation – Gap among formal ADLs and technological approachesRelated WorkObjectives covering dynamic evolutionCONTEXT – Dynamic Reconfiguration and Type Evolution arePRISMA ADL supported, but not combined togetherCase Study – Few approaches support both proactive and reactiveDYNAMIC PRISMADynamic changesReconfigurationDynamic Type – Evolution concerns (specifications and mechanisms)Evolution are not completely isolated from other concernsEvolutionSemantics – Limited support for consistency managementCONCLUSIONS & mechanismsFURTHER WORK Any approach covers all the attributes analysed Valencia, 13th June 2011 Cristóbal Costa-Soria 11
  12. 12. State of the ArtINTRODUCTIONMotivationRelated WorkObjectivesCONTEXTPRISMA ADLCase StudyDYNAMIC PRISMADynamicReconfigurationDynamic TypeEvolutionEvolutionSemanticsCONCLUSIONS &FURTHER WORK Valencia, 13th June 2011 Cristóbal Costa-Soria 12
  13. 13. Research objectives To provide a framework to make easy the design,INTRODUCTIONMotivation development, and maintenance of architecture-basedRelated Work software systems which are capable of changing theirObjectives structure and behaviour at runtimeCONTEXTPRISMA ADLCase Study – Bridge the gap among formal dynamic ADLs andDYNAMIC PRISMADynamic dynamic change mechanismsReconfiguration – Support both degrees of architectural dynamism, bothDynamic TypeEvolution proactively and reactively:EvolutionSemantics • Dynamic Reconfiguration of Software Architectures • Dynamic Evolution of Architectural TypesCONCLUSIONS &FURTHER WORK – Preserve the separation of evolution concerns – Automate the development of evolvable systems Valencia, 13th June 2011 Cristóbal Costa-Soria 13
  14. 14. Outline  Introduction – Motivation – Related works – Research objectives  Context – PRISMA ADL – Case study: Agrobot  Dynamic PRISMA Framework – Dynamic Reconfiguration – Dynamic Evolution of Architectural Types – Description of Evolution Semantics  Conclusions and Further Research 14
  15. 15. Architectural Model: PRISMAINTRODUCTION  The Dynamic Evolution framework has beenMotivation applied on PRISMA Architectural ModelRelated WorkObjectives  Advantages for dynamic evolutionCONTEXTPRISMA ADL – Allows modelling functional decomposition of systemsCase Study – Allows modelling crosscutting concerns  AspectsDYNAMIC PRISMADynamicReconfigurationDynamic TypeEvolutionEvolutionSemanticsCONCLUSIONS &FURTHER WORK Composite Architectural Element Simple Architectural Element  Isolate evolution concerns Valencia, 13th June 2011
  16. 16. Architectural Model: PRISMAINTRODUCTION  Allows modelling behaviour of architecturalMotivation elementsRelated WorkObjectives – Architectural element: observable process with stateCONTEXT and behaviourPRISMA ADLCase Study – Services: described in modal logic of actions (Stirling, 1992)DYNAMIC PRISMADynamic – Interactions: π-Calculus with priorities (Milner, 1993)ReconfigurationDynamic TypeEvolutionEvolutionSemantics  Interleave actions required to perform evolutionCONCLUSIONS &FURTHER WORK Valencia, 13th June 2011 Cristóbal Costa-Soria 16
  17. 17. Architectural Model: PRISMAINTRODUCTION  Supported by a Model-Driven DevelopmentMotivation frameworkRelated WorkObjectives PRISMACONTEXT Type Modelling Tool Model Compiler Meta-ModelPRISMA ADLCase Study PRISMACASEDYNAMIC PRISMADynamicReconfiguration  Automate the generation ofDynamic TypeEvolution evolvable systems ConfigurationEvolution Modelling Tool C# Code Generation Generic UGISemanticsCONCLUSIONS &FURTHER WORK PRISMA Middleware (PRISMANET) .NET FRAMEWORK Valencia, 13th June 2011 Cristóbal Costa-Soria, Valencia 13th June 2011 17
  18. 18. Outline  Introduction – Motivation – Related works – Research objectives  Context – PRISMA ADL – Case study: Agrobot  Dynamic PRISMA Framework – Dynamic Reconfiguration – Dynamic Evolution of Architectural Types – Description of Evolution Semantics  Conclusions and Further Research 20
  19. 19. Case Study: AgrobotINTRODUCTION  An Autonomous Robot forMotivation Plague ControlRelated WorkObjectives – Patrols a delimited area, looks for threats, appliesCONTEXT pesticides only when neededPRISMA ADLCase Study – Autonomous: continuously operating guided by high- level tasks, self-managedDYNAMIC PRISMADynamicReconfigurationDynamic TypeEvolutionEvolutionSemanticsCONCLUSIONS &FURTHER WORK Valencia, 13th June 2011 Cristóbal Costa-Soria, Valencia 13th June 2011 21
  20. 20. Agrobot ArchitectureINTRODUCTION  Hierarchically composedMotivation – A composition of composite componentsRelated WorkObjectivesCONTEXTPRISMA ADLCase StudyDYNAMIC PRISMADynamicReconfigurationDynamic TypeEvolutionEvolutionSemantics composed_ofCONCLUSIONS &FURTHER WORK 22
  21. 21. Agrobot: Types and InstancesINTRODUCTION  Typed ArchitectureMotivationRelated WorkObjectivesCONTEXT TypePRISMA ADLCase Study LevelDYNAMIC PRISMADynamicReconfiguration instance_of instance_ofDynamic TypeEvolutionEvolutionSemanticsCONCLUSIONS &FURTHER WORK Instance Level Valencia, 13th June 2011 Cristóbal Costa-Soria, Valencia 13th June 2011 23
  22. 22. Dynamic Requirements of the AgrobotINTRODUCTION  The Agrobot is autonomous and 24/7 operativeMotivation – Day: monitors weather conditions, supervises growingRelated WorkObjectives crops, recharges itselfCONTEXT – Night: processes data collected, keeps activePRISMA ADL surveillance, monitors weather conditionsCase StudyDYNAMIC PRISMA  Performs self-control and self-maintenance tasksDynamicReconfigurationDynamic TypeEvolution – In parallel to other tasks, to avoid disrupting other tasksEvolutionSemantics – Provided through Autonomic Reconfiguration andCONCLUSIONS & Dynamic Type EvolutionFURTHER WORK Required for software updating and hot Required for fault-tolerance swapping of Agrobot tools and devices support and energy management Valencia, 13th June 2011 Cristóbal Costa-Soria 24
  23. 23. Dynamic Requirements: VisionSystemINTRODUCTION  Fault-tolerance supportMotivation – Critical element to guarantee movementRelated WorkObjectives – Failure in a component  use of alternative versionsCONTEXT  Dynamic Reconfiguration of the architecturePRISMA ADLCase StudyDYNAMIC PRISMA ReconfigDynamic .ReconfigurationDynamic TypeEvolutionEvolution faultyOutput!(out “ImageProcCard”)SemanticsCONCLUSIONS &FURTHER WORK  Dynamic updating support – Updating of the image processing algorithms • The image processing algorithms do not behave correctly in some situations (low light levels) – Without disrupting Cristóbal Costa-Soria Valencia, 13th June 2011 current operations 25
  24. 24. Outline  Introduction – Motivation – Related works – Research objectives  Context – PRISMA ADL – Case study: Agrobot  Dynamic PRISMA Framework – Dynamic Reconfiguration – Dynamic Evolution of Architectural Types – Description of Evolution Semantics  Conclusions and Further Research 26
  25. 25. Dynamic ReconfigurationINTRODUCTION  Reconfiguration management modelMotivation – Each composite component is provided with self-Related WorkObjectives management properties to autonomously reconfigureCONTEXT its internal compositionPRISMA ADL • Benefits scalabilityCase Study – Self-management properties are isolated andDYNAMIC PRISMADynamic encapsulated into different aspectsReconfiguration • Benefits maintenanceDynamic TypeEvolution AEvolution P  Based in an Autonomic Control loop (MAPE)Semantics – Self-management of system resources:CONCLUSIONS & M EFURTHER WORK Monitorization  Analysis  Planning  Effect – Adapted for the management of a software architecture Autonomic Reconfiguration Valencia, 13th June 2011 The managed resource is the system architecture 27
  26. 26. Autonomic Reconfiguration  From the Autonomic Control loopINTRODUCTIONMotivation To Autonomic Reconfiguration of Composite ComponentsRelated Work – MonitoringObjectives • Monitorization of the architecture and its running stateCONTEXTPRISMA ADL – Reconfiguration AnalysisCase Study • Analysis of reconfiguration needs (e.g. for self-healing)DYNAMIC PRISMADynamic – Reconfiguration CoordinationReconfiguration • Coordinates the set of dynamic reconfiguration actions toDynamic Type perform on the architectureEvolutionEvolution – Reconfiguration EffectorSemantics • Effects the changes on the architecture at runtimeCONCLUSIONS &FURTHER WORK Reconfiguration Policies Reconfiguration Mechanisms Valencia, 13th June 2011 Cristóbal Costa-Soria 28
  27. 27. Improving Maintenance: Modularity  ModulesINTRODUCTIONMotivation – In Autonomic Computing, the A PRelated Work MAPE control loop isObjectives implemented in different M ECONTEXT modulesPRISMA ADLCase Study – Modules are highly dependentDYNAMIC PRISMA on each otherDynamicReconfiguration  AspectsDynamic TypeEvolution – Aspects can be definedEvolution independently of each otherSemantics • Semantics: Separation ofCONCLUSIONS & ConcernsFURTHER WORK • Explicit separation of relationships (weavings) • Usage of interception mechanisms: before, after, insteadOf Valencia, 13th June 2011 Cristóbal Costa-Soria 29
  28. 28. Aspects in PRISMA ADLINTRODUCTION  AspectsMotivation – An aspect defines provided and required services, andRelated WorkObjectives each service is treated as a hook to be interceptedCONTEXTPRISMA ADL  WeavingsCase Study – Weaving specifications describe how aspect servicesDYNAMIC PRISMA are bound togetherDynamicReconfiguration • If a weaving is removed, simply no behaviour is executedDynamic TypeEvolution createImageProcSoftware(params,AEid)!EvolutionSemanticsCONCLUSIONS & createArchElement(“ImgProcSW”,params,AEid)? Name of theFURTHER WORK target aspect Service to be executed Weaving type Weavings Name of the ReconfCoord.createArchElement(“ImgProcSW”,params,AEid) source aspect insteadOf ReconfAnalysis.createImageProcSoftware(params,AEid);Service to be intercepted End_Weavings; Valencia, 13th June 2011 Cristóbal Costa-Soria 30
  29. 29. Autonomic Reconfiguration In Composite ComponentsINTRODUCTION  Any composite component that can reconfigureMotivation itself has a component called EvolverRelated WorkObjectives – Reconfiguration Aspects are encapsulated in aCONTEXT component called EvolverPRISMA ADLCase Study  Each component can reconfigure itselfDYNAMIC PRISMA independently of the other systemsDynamicReconfiguration – Distributed management not centralizedDynamic TypeEvolutionEvolutionSemanticsCONCLUSIONS &FURTHER WORK Valencia, 13th June 2011 Cristóbal Costa-Soria 31
  30. 30. Example: Agrobot Reconfiguration Scenario  Fault-tolerance support in the VisionSystemINTRODUCTIONMotivation – Critical element to guarantee movement and plagueRelated Work inspection of the AgrobotObjectives – Reconfigured to introduce alternative components inCONTEXTPRISMA ADL case of failuresCase StudyDYNAMIC PRISMA  Main reconfiguration trace:DynamicReconfiguration ReconfigDynamic Type .EvolutionEvolutionSemanticsCONCLUSIONS & faultyOutput!(out “ImageProcCard”)FURTHER WORK Valencia, 13th June 2011 32
  31. 31. Monitoring AspectINTRODUCTION  Provides Introspection servicesMotivation – Capture/Intercept Events that take place in theRelated WorkObjectives architectureCONTEXT – Provide information about the current configurationPRISMA ADLCase Study – Status of the architectural elements Monitoring Aspect { Idle | Active | Blocking | Blocked } ...DYNAMIC PRISMA ServicesDynamic in beforeServiceRequest(elemID: string, serviceName: string, output params: list);Reconfiguration in afterServiceRequest(elemID: string, serviceName: string, output params: list);Dynamic Type in insteadOfServiceRequest(elemID: string, serviceName: string, condition: string,Evolution replacingService: string, output params: list);Evolution monitoredServices(output serviceList: list); inSemantics in getArchElementInstances(typeName: string, output instances: list); in getAttachedArchElems(archElemID: string, attachType: string,CONCLUSIONS & output attachedArchElemIDs: list);FURTHER WORK in getArchElementProperties(archElemID: string, output properties: list, output portsList: list); in getAttachmentProperties(connectionID: string, output instance1: string, output instance2: string); ... in getStatus(elementID: string, output status: string); in getElementsOfStatus(status: string, output elemIDList: list); ... End_Aspect; Valencia, 13th June 2011 Cristóbal Costa-Soria 33
  32. 32. Reconfiguration Analysis AspectINTRODUCTION  Encapsulates the Reconfiguration Policies ofMotivation a composite componentRelated WorkObjectives – Event-Condition-Action PoliciesCONTEXT – Defined at design time (programmed reconfiguration)PRISMA ADLCase Study  Described in terms of Domain-SpecificDYNAMIC PRISMADynamic reconfiguration servicesReconfiguration createImageProcSoftware(params, out ID)Dynamic Type attachImageProcSoftware_VideoCaptureCard(imgProcSWID, videoCaptureID, out attID)Evolution detachImageProcCard_VideoCaptureCard(imgProcCardID, videoCaptureID)EvolutionSemantics – Define the plasticity of the architectureCONCLUSIONS &FURTHER WORK • Reconfigurations must be type-conformant • Avoids instances of non-allowed types, the removal of critical instances, or invalid linkings – Automatically generated by the MDD platform Valencia, 13th June 2011 Cristóbal Costa-Soria 34
  33. 33. Reconfiguration Analysis AspectINTRODUCTION  Specification using PRISMA AOADLMotivation – Based on a π -calculus notationRelated Work ReconfigurationAnalysis aspect VisionSysRecAnalysisObjectives ... [Headers of domain-specific reconfig. operations] ...CONTEXT Triggers Reconfiguration TriggersPRISMA ADL REPAIRIMAGEPROCESSUNIT when {eventParams==["ImageProcCard"]}Case Study (Events & Conditions) beforeEvent!(“faultyOutput”, out eventParams); when the reconfiguration ... PRISMADYNAMIC process will be activatedDynamic TransactionsReconfiguration RepairImageProcessingUnit(): // Configuration transaction for replacing an imageProcCardDynamic Type // component by an imageProcSoftware componentEvolution REPAIRIMAGEPROCESSINGUNIT ::=Evolution oldImProcCardID = imageProcCard-list[0] -->Semantics VCCConnID=VCC-Conn-list[0] --> IPCConnID=IPC-Conn-list[0] --> RECONF;CONCLUSIONS ::= RECONF & Configuration create-ImageProcSoftware!(cameraPos, output newImProcID) -->FURTHER WORK attach-Att_VCCConn_IPCSW!(VCCConnID, newImProcID, output newAttID) --> Transactions attach-Att_IPCSW_IPCConn!(newImProcID, IPCConnID, output newAttID) --> (Actions) detach-Att_VCCConn_IPC!(VCCConnID, oldImProcCardID) --> how the architecture detach-Att_IPC_IPCConn!(oldImProcCardID, IPCConnID) --> must be reconfigured destroy-ImageProcCard!(oldImProcCardID) --> END; ... ... [more transactions] Valencia, 13th June 2011 End_Aspect VisionSysRecAnalysis; Cristóbal Costa-Soria 37
  34. 34. Reconfiguration Coordination AspectINTRODUCTION  Coordinates the reconfiguration processMotivation – Execution inside a transactional contextRelated WorkObjectives • All reconfiguration operations are successful or the entire process is rollbackedCONTEXTPRISMA ADL – Triggers the execution of low-level services fromCase Study Monitoring and Reconf.Effector aspects to:DYNAMIC PRISMA • Identify the affected elements and its dependenciesDynamicReconfiguration Transactions • Drive the affected elements to reach quiescenceDynamic Type BeginConfigurationTransaction():Evolution BEGINCONFIG::= • Perform atomic reconfiguration operationsEvolution • Check that NewTransactionalContext(output transactionID) --> END; the target configuration has been CreateArchElem(typeName, params, output newID):Semantics achieved CREATE::= CreateInstance!(typeName, params, output newID) --> CHECK; CHECK::= CheckConsistence(output transState) -->CONCLUSIONS & if {transState=“ROLLBACK”} then RollbackConfigurationTransaction()FURTHER WORK archElementsCreated.add(newID) --> END; else CreateAttachment(attachType, srcAE-ID, trgAE-ID, output attID): ATTACH::= ... ... //Other high-level reconfig. operations DestroyArchElem(typeName, id): STOP ::= StopElement!(id) --> GetStatus!(id, output status) --> if {status=“Blocked”} then STOPCONNECTIONS else STOP; STOPCONNECTIONS ::= GetConnectionsOfArchElem!(id, output connectionList) --> Valencia, 13th June 2011 connectionList do ( StopElement!(conn) ) for each conn in Cristóbal Costa-Soria 38 --> REMOVECONNECTIONS;
  35. 35. Reconfiguration Effector AspectINTRODUCTION  Provides generic reconfiguration servicesMotivation – Changes the architecture at a low level, withoutRelated WorkObjectives taking into account the status of the elements or theCONTEXT interactions among themPRISMA ADL ReconfigurationEffector AspectCase Study ... ServicesDYNAMIC PRISMA in StartElement(elemID: string);Dynamic in StopElement(elemID: string);Reconfiguration in PassivateElement(elemToPassivate: string, blockedElement: string);Dynamic TypeEvolution in CreateInstance(typeName: string, initParams: list, output instanceID: string);Evolution in DestroyInstance(instanceID: string);Semantics in Connect(instance1: string, port1: string, instance2: string, port2: string, output connectionID: string);CONCLUSIONS & in Disconnect(connectionID: string);FURTHER WORK in SerializeState(instanceID: string, output state: string); in CreateInstanceFromSerializedState(typeName: string, serializedState: string, output instanceID: string); in ConvertStateFromPreviousVersion(typeName: string, oldType: string, oldState: string, newRequiredValues: list, output transformedState: string); ... End_Aspect; Valencia, 13th June 2011 Cristóbal Costa-Soria 39
  36. 36. Dynamic PRISMA Implementation VisionSystem ReconfigurationCoordinationINTRODUCTION ReconfigurationAnalysis AspectMotivation AspectRelated WorkObjectivesCONTEXTPRISMA ADLCase Study MonitoringAspectDYNAMIC PRISMA ReconfigurationEffectorDynamic AspectReconfigurationDynamic TypeEvolutionEvolutionSemanticsCONCLUSIONS &FURTHER WORK Valencia, 13th June 2011 Cristóbal Costa-Soria 40
  37. 37. Outline  Introduction – Motivation – Related works – Research objectives  Context – PRISMA ADL – Case study: Agrobot  Dynamic PRISMA Framework – Dynamic Reconfiguration – Dynamic Evolution of Architectural Types – Description of Evolution Semantics  Conclusions and Further Research 41
  38. 38. Agrobot: VisionSystem UpdatingINTRODUCTION  After the delivery of Agrobot units, a criticalMotivation update has been requestedRelated WorkObjectives – The image processing algorithms do not behaveCONTEXT correctly in specific contexts (low light levels)PRISMA ADLCase Study – VisionSystem must be dynamically updated • Without disrupting current operationsDYNAMIC PRISMADynamicReconfiguration  Updating of ImageProcSoftware ComponentDynamic TypeEvolution – Replacement of functional aspect ImgProcSwControllerEvolutionSemantics ImageProcSoftware ImageProcSoftware TypeCONCLUSIONS & EvolutionFURTHER WORK VideoIn ImageOut VideoIn ImageOut weavings weavings Valencia, 13th June 2011 42
  39. 39. Type and Instances: ExampleINTRODUCTION  Architectural TypeMotivation – Define structure, behaviour, and constraints of anRelated WorkObjectives architectural elementCONTEXT • Specifications  High-level descriptionPRISMA ADL • Executable code  Generated from specificationsCase StudyDYNAMIC PRISMADynamicReconfigurationDynamic Type is_compiled_toEvolutionEvolution Image Type TypeSemantics Proc Software Spec LevelCONCLUSIONS &FURTHER WORK Instance Level Valencia, 13th June 2011 Cristóbal Costa-Soria, Valencia 13th June 2011 43
  40. 40. Type and Instances: ExampleINTRODUCTION  Architectural TypeMotivation – Define structure, behaviour, and constraints of anRelated WorkObjectives architectural elementCONTEXT • Specifications  High-level descriptionPRISMA ADL • Executable code  Generated from specificationsCase StudyDYNAMIC PRISMA  Architectural InstancesDynamicReconfiguration – Perform computations and manage a stateDynamic Type • Created from compiled types is_compiled_toEvolutionEvolution Image Type new(…) TypeSemantics Proc destroy(…) Software Spec LevelCONCLUSIONS &FURTHER WORK is_instance_of ImageProc Dynamic Evolution of Architectural Types Sw-2 Instance Level Changes both the specification and the executable code ImageProc Sw-1 Valencia, 13th June 2011 Cristóbal Costa-Soria, Valencia 13th June 2011 44
  41. 41. Evolvable Types: Reflective ModelINTRODUCTION  Computational Reflection (Maes, 1987)Motivation The ability of a software artefact to introspectRelated WorkObjectives and change itself at runtimeCONTEXTPRISMA ADLCase StudyDYNAMIC PRISMADynamicReconfigurationDynamic TypeEvolution provides an editableEvolution reflection specification of theSemantics running artefactCONCLUSIONS & changes are reflected onFURTHER WORK the running artefact reification Valencia, 13th June 2011 Cristóbal Costa-Soria, Valencia 13th June 2011 45
  42. 42. Evolvable Types: Reflective ModelINTRODUCTION  Each evolvable type is provided with reflectiveMotivation capabilities: Reify & Reflect servicesRelated WorkObjectives – Its specification can be inspected and changedCONTEXT at runtimePRISMA ADLCase Study – Its running instances will be evolved to the new versionDYNAMIC PRISMA  Reflective capabilities are provided byDynamicReconfiguration a type meta-instanceDynamic Type ImageProcSoftwareMETAEvolution reify(out SimpleSpec)Evolution reflect(in SimpleSpec) Image Type TypeSemantics Proc new(…) Spec Level SoftwareCONCLUSIONS & destroy(…)FURTHER WORK is_instance_of ImageProc Sw-2 Instance Level ImageProc Sw-1 Valencia, 13th June 2011 Cristóbal Costa-Soria, Valencia 13th June 2011 46
  43. 43. Evolving Types at RuntimeINTRODUCTION  Evolution processMotivation 1. ReificationRelated WorkObjectives • Reify() returns a data structure with the reification of the type and a set of evolution services to change it.CONTEXTPRISMA ADLCase StudyDYNAMIC PRISMADynamicReconfigurationDynamic Type ImageProcSoftwareMETAEvolution update(...) { reify(out SimpleSpec)Evolution reflect(in SimpleSpec) Image Type R = ImageProcessingCard.reify() R TypeSemantics Proc new(…) Spec Level SoftwareCONCLUSIONS & destroy(…)FURTHER WORK is_instance_of } ImageProc Sw-2 Instance Level Component Updater ImageProc Sw-1 Valencia, 13th June 2011 Cristóbal Costa-Soria, Valencia 13th June 2011 48
  44. 44. Evolving Types at RuntimeINTRODUCTION  Evolution processMotivation 1. ReificationRelated WorkObjectives • Reify() returns a data structure with the reification of the type and a set of evolution services to change it.CONTEXTPRISMA ADL 2. Edition of the specificationCase StudyDYNAMIC PRISMADynamicReconfigurationDynamic Type ImageProcSoftwareMETAEvolution update(...) { reify(out SimpleSpec)Evolution reflect(in SimpleSpec) Image Type ImageProcSoftware.Reify(out R) TypeSemantics R Proc R.getAspects(…) new(…) Spec Level SoftwareCONCLUSIONS & R.removeAspect(…) destroy(…)FURTHER WORK R.removeWeaving(…) R.addAspect(…) R.addPort(…) is_instance_of } ImageProc R Sw-2 Instance Level Component Updater ImageProc Sw-1 Valencia, 13th June 2011 Cristóbal Costa-Soria, Valencia 13th June 2011 49
  45. 45. Evolving Types at RuntimeINTRODUCTION  Evolution processMotivation 1. ReificationRelated WorkObjectives • Reify() returns a data structure with the reification of the type and a set of evolution services to change itCONTEXTPRISMA ADL 2. Edition of the specificationCase Study 3. ReflectionDYNAMIC PRISMADynamic • Reflect() introduces the new (incremental) specificationReconfiguration and performs the changes on the type and its instancesDynamic Type ImageProcSoftwareMETAEvolution update(...) { reify(out SimpleSpec)Evolution reflect(in SimpleSpec) Image ImageProcSoftware.Reify(out R) Image Type TypeSemantics Proc Proc R.getAspects(…) new(…) Software’ Spec Level SoftwareCONCLUSIONS & R.removeAspect(…) destroy(…)FURTHER WORK R.removeWeaving(…) R.addAspect(…) R.addPort(…) is_instance_of ImageProcSoftware.Reflect(R,…) } ImageProc R Sw-2 Instance Propagate changes Level Component Updater ImageProc Sw-1 Valencia, 13th June 2011 Cristóbal Costa-Soria, Valencia 13th June 2011 50
  46. 46. Evolvable Types: The Internals Type reification, introspection services, and the different type ImageProcSoftwareMETA Type Image InstanceFactoryPortINTRODUCTION versions Spec - New(...) Proc - Destroy(…)Motivation SoftwareRelated for the creation and destruction Type Code Work (weavings) of type instantiations (executableObjectives Level ReificationPort code of the type) - Reify(out SimpleSpec)CONTEXT EvolutionPortPRISMA ADL Reflects changes to the type-level. - Reflect(in SimpleSpec) Encapsulates code-generationCase Study patterns that produce new type Type IntrospectionPort InstanceMonitoringPortDYNAMIC PRISMA versions.Dynamic Keeps the connection with instance-Reconfiguration level: manages instance is_instance_ofDynamic Type population, propagatesEvolution evolutions, and supervisesEvolution asynchronous Evolution.SemanticsCONCLUSIONS &FURTHER WORK Instance Level ImageProcSw-1: ImageProcSoftware VideoIn ImageOut Valencia, 13th June 2011 weavings 51
  47. 47. Evolvable Types: The Internals Type reification, introspection services, and the different type ImageProcSoftwareMETA Image InstanceFactoryPortINTRODUCTION versions - New(...) Proc - Destroy(…)Motivation SoftwareRelated for the creation and destruction Type Code Work (weavings) of type instantiations (executableObjectives Level ReificationPort code of the type) - Reify(out SimpleSpec)CONTEXT EvolutionPortPRISMA ADL Reflects changes to the type-level. - Reflect(in SimpleSpec) Encapsulates code-generationCase Study patterns that produce new type Type IntrospectionPort InstanceMonitoringPortDYNAMIC PRISMA versions.Dynamic Keeps the connection with instance-Reconfiguration TypeIntrospectionPort MetaInstancePort level: manages instance population,Dynamic Type propagates evolutions, andEvolution supervises asynchronous Evolution. weavingsEvolution Instance InstanceSemantics Evolution Evolution Planning MechanismsCONCLUSIONS & (the fixed part)FURTHER WORK Instance <<sense>> <<modify>> Level Every instance adapts its ImageProcSw-1: ImageProcSoftware structure asynchronously Instance User- defined Functionality VideoIn ImageOut (the variable part) Valencia, 13th June 2011 weavings 52
  48. 48. Outline  Introduction – Motivation – Related works – Research objectives  Context – PRISMA ADL – Case study: Agrobot  Dynamic PRISMA Framework – Dynamic Reconfiguration – Dynamic Evolution of Architectural Types – Description of Evolution Semantics  Conclusions and Further Research 53
  49. 49. Description of Evolution SemanticsINTRODUCTION  Complexity of the Asynchronous Type EvolutionMotivation – A lot of low-level details (safe stopping, transactionalRelated WorkObjectives support) makes its evaluation difficultCONTEXT – Need for a high-abstraction level tool to evaluate itsPRISMA ADL behaviour over timeCase StudyDYNAMIC PRISMA  Typed Graph TransformationsDynamicReconfigurationDynamic Type  Evolution operations described by means ofEvolutionEvolution graph transformation rulesSemantics – Asynchronous evolution of types and instancesCONCLUSIONS &FURTHER WORK – Type conformance – Version management – Order of evolutions – Consistency of instance-level interactions Valencia, 13th June 2011 Cristóbal Costa-Soria, Valencia 13th June 2011 55
  50. 50. Evolution SemanticsINTRODUCTION  Trasformation rules described inMotivation Architecture-based Concrete SyntaxRelated WorkObjectives – More concise and easier to understand:CONTEXT concepts from the area of software architecturesPRISMA ADLCase Study  Two kinds of transformation rulesDYNAMIC PRISMA – Evolution operationsDynamicReconfiguration • Operate at the type-levelDynamic TypeEvolution • Reflect the change on the type specification by means ofEvolution evolution tagsSemantics – Reconfiguration operationsCONCLUSIONS &FURTHER WORK • Operate at the instance-level • Only the evolution tags driving to the next version are considered • Reflect the change on the instance by modifying its elements or attributes Valencia, 13th June 2011 Cristóbal Costa-Soria, Valencia 13th June 2011 56
  51. 51. Evolution SemanticsINTRODUCTION  Update Architectural Type: type-level operationMotivation – Replaces a type by anotherRelated WorkObjectives – Keeps existing connectionsCONTEXT – Coherence of interactionsPRISMA ADLCase Study • Ports of new type must be syntactically and semantically compatible with existing interactionsDYNAMIC PRISMADynamicReconfigurationDynamic TypeEvolutionEvolutionSemanticsCONCLUSIONS &FURTHER WORK Valencia, 13th June 2011 Cristóbal Costa-Soria, Valencia 13th June 2011 57
  52. 52. Evolution SemanticsINTRODUCTION  Replace Architectural Element: instance-levelMotivation – Evolution of an instance to a new versionRelated WorkObjectives – Migrates/transforms previous stateCONTEXT – Updates existing connectionsPRISMA ADLCase Study – Precondition: Quiescent statusDYNAMIC PRISMADynamicReconfigurationDynamic TypeEvolutionEvolutionSemanticsCONCLUSIONS &FURTHER WORK Valencia, 13th June 2011 Cristóbal Costa-Soria, Valencia 13th June 2011 58
  53. 53. Outline  Introduction – Motivation – Related works – Research objectives  Context – PRISMA ADL – Case study: Agrobot  Dynamic PRISMA Framework – Dynamic Reconfiguration – Dynamic Evolution of Architectural Types – Description of Evolution Semantics  Conclusions and Further Research 63
  54. 54. ConclusionsINTRODUCTION  Dynamic PRISMA takes a step forward in theMotivation development of dynamic evolvable systemsRelated WorkObjectives – Applied to a formal ADL: PRISMACONTEXT – Semantics described in a platform-independent wayPRISMA ADLCase Study  Dynamic PRISMA contributes with:DYNAMIC PRISMADynamic – The combination of Dynamic ReconfigurationReconfiguration and Type EvolutionDynamic TypeEvolution • Increases system Plasticity and FlexibilityEvolutionSemantics – Identification and encapsulation ofCONCLUSIONS & Dynamic Evolution concerns into different aspectsFURTHER WORK • Proactive specifications • Type-level change mechanisms • Instance-level change mechanisms Valencia, 13th June 2011 Cristóbal Costa-Soria 64
  55. 55. ConclusionsINTRODUCTION  Dynamic PRISMA contributes with:Motivation – A model for Autonomic ReconfigurationRelated WorkObjectives • Each composite can reconfigure its structure at runtime according to either internal or external stimuliCONTEXTPRISMA ADL – A model for the Asynchronous Reflective EvolutionCase Study of TypesDYNAMIC PRISMA • Each type is self-described and able to transform itselfDynamicReconfiguration • Each instance transforms itself asynchronously,Dynamic Type when it is ready for evolutionEvolutionEvolutionSemanticsCONCLUSIONS &FURTHER WORK Valencia, 13th June 2011 Cristóbal Costa-Soria 65
  56. 56. ConclusionsINTRODUCTION  Validation of Dynamic PRISMA FrameworkMotivation – PRISMANET middlewareRelated WorkObjectives • Identification of constraints related to: – Transactional managementCONTEXTPRISMA ADL – Safe stoppingCase Study – State transferDYNAMIC PRISMADynamicReconfiguration – Typed Graph TransformationsDynamic Type • Identification and resolution of issues related to:EvolutionEvolution – Management of type conformanceSemantics – Order of evolution processesCONCLUSIONS & – Coherence of interactionsFURTHER WORK – Case study: Agrobot VisionSystem • Understanding and feedback Valencia, 13th June 2011 Cristóbal Costa-Soria 66
  57. 57. Further ResearchINTRODUCTION  Model-Driven Development of evolvable systemsMotivationRelated Work  Proactive Non-Programmed EvolutionsObjectives – According to high-level goalsCONTEXTPRISMA ADLCase Study  Coordination of autonomic reconfigurationsDYNAMIC PRISMA among distributed EvolversDynamicReconfiguration  Formal analysis and verificationDynamic TypeEvolution – Automated generation of state transfer functionsEvolutionSemantics – Automated evaluation of semantic compatibility amongCONCLUSIONS & types when dealing with dynamic additions or updatesFURTHER WORK – Runtime verification of system properties against dynamic evolutions  Real-time evaluation of the dynamic evolution mechanisms Valencia, 13th June 2011 Cristóbal Costa-Soria 67
  58. 58. ContributionsINTRODUCTION  ProjectsMotivation – This thesis has been funded by the Spanish NationalRelated WorkObjectives Program for Research, Development and Innovation:CONTEXT • DYNAMICA (DYNamic and Aspect-Oriented Modeling forPRISMA ADL Integrated Component-based Architectures)Case Study • META (A Technological and Formal Framework for ModelDYNAMIC PRISMA Management in Model Engineering)DynamicReconfiguration • MULTIPLE (Multimodeling Approach For Quality-AwareDynamic Type Software Product Lines)EvolutionEvolutionSemantics  Publications: 27CONCLUSIONS & – Journals and Book Chapters: 2 + 2FURTHER WORK – International Conferences and Workshops: 8 + 2 – National Conferences and Workshops: 5 + 5 – Ms. Science Thesis: 3 Valencia, 13th June 2011 Cristóbal Costa-Soria 68
  59. 59. ContributionsINTRODUCTION  PublicationsMotivation – Journals and Book ChaptersRelated Work • C. Costa-Soria, J. Pérez, J.A. Carsí. An Aspect-Oriented Approach forObjectives Supporting Autonomic Reconfiguration of Software Architectures. SpecialCONTEXT Issue on Autonomic and Self-Adaptive Systems, Informatica (Slovenia),PRISMA ADL vol. 35, issue 1, pp. 15-27. February 2011.Case Study • C. Costa-Soria, R. Heckel. Modelling the Asynchronous Dynamic Evolution of Architectural Types. Weyns, D.; Malek, S.; De Lemos, R.;DYNAMIC PRISMA Andersson, J. (eds.): Self-Organizing Architectures. Lecture Notes onDynamic Computer Science Series, vol. 6090, pp. 198-229. Springer-Verlag, BerlinReconfiguration Heidelberg, July 2010.Dynamic TypeEvolution *Revised and Extended best papers from SOAR’09 WorkshopEvolution • N. Ali, J. Pérez, C. Costa, I. Ramos, J.A. Carsí. Replicación distribuida enSemantics arquitecturas software orientadas a aspectos utilizando ambientes (“Distributed Replication in Aspect-Oriented Software Architectures UsingCONCLUSIONS &FURTHER WORK Ambients”). IEEE Latin America Transactions, Special Edition JISBD’06, vol. 5, issue 4, pp. 231-237. IEEE Region 9, July 2007. (in Spanish) • N. Ali, J. Pérez, C. Costa, I. Ramos, J.A. Carsí. Mobile Ambients in Aspect-Oriented Software Architectures. K. Sacha (ed.): Software Engineering Techniques: Design for Quality. IFIP Series, vol. 227, pp. 37- 48. Springer, October 2006. Valencia, 13th June 2011 Cristóbal Costa-Soria 69
  60. 60. ContributionsINTRODUCTION  PublicationsMotivation – International ConferencesRelated Work • J. Pérez, J. Díaz, C. Costa-Soria, J. Garbajosa. Plastic PartialObjectives Components: A Solution to Support Variability in ArchitecturalCONTEXT Components. Joint 8th Working IEEE/IFIP Conf. on Software ArchitecturePRISMA ADL & 3rd European Conf. on Software Architecture (WICSA/ECSA 2009), pp.Case Study 221-230. Cambridge, UK, 14-17 Sept, 2009 *Conference Ranking CORE: ADYNAMIC PRISMA • C. Costa-Soria, D. Hervás-Muñoz, J. Pérez, J.A. Carsí. A ReflectiveDynamicReconfiguration Approach for Supporting the Dynamic Evolution of Component Types. 14thDynamic Type IEEE International Conference on Engineering of Complex ComputerEvolution Systems (ICECCS09), pp. 301-310. Potsdam, Germany, 2-4 June 2009.Evolution *Conference Ranking CORE: A. Ranking CSCR: 0.88Semantics • C. Costa-Soria, J. Pérez, J.A. Carsí. Handling the DynamicCONCLUSIONS & Reconfiguration of Software Architectures using Aspects. 13th IEEEFURTHER WORK European Conference on Software Maintenance and Reengineering (CSMR’09), pp. 263-266. Kaiserslautern, Germany, 24-27 March 2009. *Conference Ranking CiteSeer: 0.36 (top 59.29%), CORE: C • C. Costa, J. Pérez, J.A. Carsí. Managing Dynamic Evolution of Architectural Types. 2nd European Conference on Software Architecture (ECSA’08). LNCS, vol. 5292, pp. 281-289. Springer, Heidelberg, 2008 *Conference acceptance ratio: 28%. Ranking CORE: A Valencia, 13th June 2011 70
  61. 61. ContributionsINTRODUCTION  PublicationsMotivation – International ConferencesRelated Work • C. Costa, N. Ali, J. Pérez, J.A. Carsí, I. Ramos. Dynamic ReconfigurationObjectives of Software Architectures Through Aspects. First European Conference onCONTEXT Software Architecture (ECSA’07). Lecture Notes on Computer Science,PRISMA ADL vol. 4758, pp. 279-283. Springer, Heidelberg, 2007Case Study *Conference acceptance ratio: 30%. Ranking CORE: A • C. Costa, J. Pérez, J.A. Carsí. Dynamic Adaptation of Aspect-OrientedDYNAMIC PRISMA Components. 10th International Symposium on Component-BasedDynamicReconfiguration Software Engineering (CBSE’07). Lecture Notes on Computer Science,Dynamic Type vol. 4608, pp. 49-65. Springer, Heidelberg, 2007.Evolution *Conference acceptance ratio: 22%. Ranking CORE: AEvolution • C. Costa, N. Ali, C. Millán, J.A. Carsí. Transparent Mobility of DistributedSemantics Objects using .NET. 4th International Conference on .NET Technologies.CONCLUSIONS & Pilsen, Czech Republic, June 2006.FURTHER WORK *Conference Ranking CORE: C • J. Pérez, N. Ali, C. Costa, J.A. Carsí, I. Ramos. Executing Aspect- Oriented Component-Based Software Architectures on .NET Technology. 3rd International Conference on .NET Technologies. Pilsen, Czech Republic, June 2005 *Conference Ranking CORE: C Valencia, 13th June 2011 71
  62. 62. Thank you very much for your attention Cristóbal Costa-Soria Information Systems and Software Engineering Research Group Department of Information Systems and Computation Universidad Politécnica de Valencia Spain Home page: http://issi.dsic.upv.es/~ccosta Email: cricosso@upv.es The PRISMA project: http://prisma.dsic.upv.es

×