| Major areas of Expertise
Abstraction, Separation of Concerns, System Decomposition
Model Driven Engineering
Software Product Lines
Software Development Processes
Requirements Engineering, Use Case and Feature Modelling
Analysis, Architectural Definition and Evaluation (ATAM - tradeoff analysis method)
Design of Distributed Enterprise, Embedded and Real-Time Systems
Construction using Design Patterns, Refactoring Techniques and object-oriented Software Metrics
Middleware: Corba, Connexis, Tao/Ace, Zen, JacORB, IDL
Natural Language Processing: GATE
Tools: Topcased, Papyrus, Eclipse, IBM Rational, Rhapsody, MetaEdit+, oAW, Enterprise Architect, MagicDraw, Together Architect, Poseidon, Visual Studio
Platforms: .Net, Linux, embedded Windows (NT), embedded Linux (Elinos), Jbed, VxWorks, PERC, VenturCom, DCS-RTOS(Yokogawa), Windows, VMS, Unix, Dos
Languages: UML2, QVT, ATL, xUML, PAL, XSLT, Mofscript, Xpand/Xtend/Check (oAW), AOP, Java, Javascript, C#, C/C++, Ada, Delphi, SQL, TI-APT Graphcet, Modula 2, Pascal, HP-Basic, DCL, TPU, Fortran, Assembler
Web technology and Portal architecture: Glassfish, WebSphere, WebLogic, ALUI
Application integration and web services
Database utilities and management systems: Hibernate, OO2RDB mapping, Oracle, Informix4GL, SQL Server, MySQL, HSQL
Systems Engineering
ProSoftwarica applies "separation of concerns" to properly structure the system during analysis. As an example, we may propose to use the Product Line Approach to factor out commonality thus separating it from variability. Depending on project needs, we may opt for platform independent models in order to reduce the impact of technological change on the system. The focus of our engineering activities in the elaboration phase are architectural models and their verification by execution. This is followed by the realisation phase to deliver complete solutions.
Systems engineered by ProSoftwarica, bearing the model driven brand, are expected to be in exploitation for a period of 10 or more years.
Consultancy Services
Consultancy services of ProSoftwarica provide support and guidance to customers during their decision making process. Vision, strategy, business case, feasibility, assessment, expertise analysis and special studies are included.
Software Development Process
An optimal software development process is identified and tailored to suit specific company needs. The process used is lightweight, incremental, iterative, use case driven and architecture centric. A set of best practices provides guidelines for ensuring system quality. The process aims to minimize project risks and guide the software development team into delivering a useful product to the client within the predefined project budget and schedule.
Training, Coaching and Team Enabling
ProSoftwarica provides a set of training courses easing the transfer of know-how to our customers. Training is used as the initial step in realizing the client’s technological paradigm change. Due to steep learning curves, on the job coaching and team enabling are recommended to enable the customer team for autonomy.
Courses
-
Software Architecture in Practice (SEI)
-
Software Product Lines (SEI)
-
UML2, Mofscript, ATL, QVT, OCL (additional courses upon request)
Recent presentations and publications:
|