Software Engineering

Improve your productivity, release better quality software
Software Engineering Research Line (picture of code)
Description / Emerging Technologies: 
  • Model Driven Software Engineering (Design-Time)
    • MDA/MDE forward engineering techniques and methods applied to the specification, program-comprehension, re-engineering (design-pattern driven) of software systems and code synthesis
  • Software modeling and simulation (Run-time)
    • Research on techniques and methods that enable the specification and modeling of concerns on complex software systems and their simulation at model level, exploring the solution space
  • Aspect Oriented Software Engineering/Modeling
    • AOP/AOM techniques applied to the management of cross-cutting concerns, interweaving in complex software systems
  • DSL based software modeling and development: code generation and optimization. DSL applicability to HPC, embedded systems and IoT
    • Development of model-based domain specific language supporting the modeling, optimization and code synthesis of software for different software domains
  • Vector Programming/Parallel programming
    • Co-design development of techniques and tools that simplifies the adoption of vector/Parallel programming in software development, exploiting the full potential of new CPU/GPU for desktop/laptop applications
  • Advanced User Interface design and development
    • Development of techniques and methods simplifying the design and development of advanced user interfaces in a computing continuum, regardless the platform
  • Run-time dynamic adaptation
    • Research on techniques and methods enabling autonomous, context-aware applications, supporting self* features, such as self-adaptation, self-healing, self-reconfiguration, etc.
  • OSS Community development
    • Development of techniques, methods and tools enabling a collaborative software development lifecycle
  • Choreography Service composition
    • Research on choreography techniques enabling a de-centralized coordination of software agents in mutual collaborations
  • Search-based software engineering
    • Research on software optimization techniques aiming at improving software engineering evolution and maintenance. Automatic exploration of solution space and mapping to the problem space
  • Software architectures and methodologies
    • Research on new software architectures and methodologies, including programming paradigms (functional programming, etc.)
  • Enterprise Application Integration, middleware
    • Development techniques and tools enabling the interoperability of software systems, applied to EAI
  • Advanced Software Engineering automation techniques
    • Research on the automation of software engineering techniques and methods, covering the entire software engineering live-cycle, particularly supporting software maintenance
Critical Mass / Market: 
  • Several years of expertise in software engineering technologies and standards which have been applied in different projects/domains, including:
    • FP7: NEXOF-RA, SOA4All, Qualipso, Cloud4SOA, MARKOS, ARTIST
    • H2020: SUPERSEDE
  • Participation in Software Engineering initiatives: NEXOF Software Engineering, Software Engineering Cluster
  • Main Assets:
    • yourBPM: framework for dynamic service composition
    • ARTIST: model-based framework supporting the re-architecture of legacy systems